Thema Datum  Von Nutzer Rating
Antwort
Rot letzte Zelle/Zeile finden mit "End(xlUp)"
14.09.2011 16:19:43 Nico Schulz
NotSolved
15.09.2011 12:36:57 Dekor
NotSolved
15.09.2011 13:34:30 Nico Schulz
NotSolved
21.09.2011 09:05:14 Till
NotSolved
21.09.2011 09:17:33 Nico Schulz
NotSolved
22.09.2011 11:36:25 Nico Schulz
NotSolved
22.09.2011 19:19:18 till
NotSolved
23.09.2011 10:28:52 Gast303
Solved

Ansicht des Beitrags:
Von:
Nico Schulz
Datum:
14.09.2011 16:19:43
Views:
2460
Rating: Antwort:
  Ja
Thema:
letzte Zelle/Zeile finden mit "End(xlUp)"

Und schon wieder ein freundliches Hallo Euch allen!

Ich bin mit meinem Excel-Makro schon recht weit gekommen - aber an den einfachsten Sachen scheitert es jetzt.

Zum Problem: ich habe acht Sheets in meinem Excel-Workbook. Aus den ersten vier sollen mit je vier einzellnen Makros Daten ausgelesen werden und dann in einem weiteren Sheet alle nebeneinander und dann untereinander geordnet werden. Quasi ergeben die vier ersten Sheets in dem neuen einzellnen Sheet vier Tabellen nebeneinander. Ich habe dafür auch vier einzellne Makros geschrieben - reliability! Diese vier einzellnen Makros sind alle gleich geschrieben - allein die Zuordnung der Zellen und Spalten ist jeweils angepaßt.

folgend der Code für die dritte Tabelle aus Sheet(3):

 

Application.ScreenUpdating = False
Dim loletzte As Long

'löschen der Liste in Sheet "Berechnung"
    Sheets(6).Range("W70:AG2500").ClearContents

'Stablage 1

'kopieren: Datum/Charge/Bemerkung
    Sheets(3).Range("A5:C2500").Copy
    Sheets(6).Activate
    Range("W70").PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'kopieren: Stablage 1
    Sheets(3).Range("G5:I2500").Copy
    Sheets(6).Activate
    Range("AA70").PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'Beschriften Stablage 1
    Range(Cells(70, 26), Cells(2499, 25).End(xlUp).Offset(0, 1)) = "1"
  
'Stablage 2
  
'kopieren: Datum/Charge/Bemerkung
    Sheets(3).Range("A5:C2500").Copy
    Sheets(6).Activate
    loletzte = IIf(IsEmpty(Range("W2499")), Range("W2499").End(xlUp).Row + 1, 2499)
    Cells(loletzte, 23).PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'kopieren: Stablage 2
    Sheets(3).Range("K5:M2500").Copy
    Sheets(6).Activate
    Cells(loletzte, 27).PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'Beschriften Stablage 2
    Range(Cells(70, 26), Cells(2499, 25).End(xlUp).Offset(0, 1)) = "2"

'Stablage 3
   
'kopieren: Datum/Charge/Bemerkung
    Sheets(3).Range("A5:C2500").Copy
    Sheets(6).Activate
    loletzte = IIf(IsEmpty(Range("W2499")), Range("W2499").End(xlUp).Row + 1, 2499)
    Cells(loletzte, 23).PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'kopieren Stablage 3
    Sheets(3).Range("O5:Q2500").Copy
    Sheets(6).Activate
    Cells(loletzte, 27).PasteSpecial Paste:=xlPasteAll, operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
'Beschriften Stablage 3
    Range(Cells(70, 26), Cells(2499, 25).End(xlUp).Offset(0, 1)) = "3"

 

 

Für die ersten beiden Tabellen funktioniert der Code auch ohne Probleme - bei Ausführung des dritten bzw. vierten Makros tritt dann folgender Fehler auf:

End(xlUp) erkennt nicht die letzte beschriebene Zelle sondern fügt die Daten aus dem Zwischenspeicher an die Zeile 2499 aber immerhin in der richtigen Spalte an. Trotzdem ist wie erwähnt die Zeile damit die Falsche - quasi nicht die letzte beschriebene (diese kann sich aufgrund unterschiedlicher Eintragungen in Sheet(1) auch durchaus ändern!).

Hat jemand eine Idee warum dieser Fehler nach zwei erfolgreichen Makroausführungen vorher nicht auftaucht und im dritten bzw. vierten Makro dafür plötzlich ja? Vielleicht sitz ich auch einfach mal wieder zu lange vor dem gesamten Workbook und seh wieder Bäume ohne ´nen Wald dazu^^


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot letzte Zelle/Zeile finden mit "End(xlUp)"
14.09.2011 16:19:43 Nico Schulz
NotSolved
15.09.2011 12:36:57 Dekor
NotSolved
15.09.2011 13:34:30 Nico Schulz
NotSolved
21.09.2011 09:05:14 Till
NotSolved
21.09.2011 09:17:33 Nico Schulz
NotSolved
22.09.2011 11:36:25 Nico Schulz
NotSolved
22.09.2011 19:19:18 till
NotSolved
23.09.2011 10:28:52 Gast303
Solved