Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehler beim auslesen letzter Zeile

Betrifft: Fehler beim auslesen letzter Zeile von: Artanan
Geschrieben am: 11.11.2014 14:53:25

Hallo zusammen,
ich habe folgenden code erstellt:

sub blabla()

wksende = WBZ.Worksheets.Count
programm = test2

For a = 3 To wksende
Sheets(a).Select
letztezeileZ = Sheets(a).Cells(Rows.Count, 1).End(xlUp).Row
  letztespalteZ = Sheets(a).Cells(1, 256).End(xlToLeft).Column

  MsgBox letztespalteZ
  MsgBox letztezeileZ

Set variable1 = WBZ.Sheets(a).Range(Cells(1, 1), Cells(1, letztespalteZ)).Find("TEST")
programmspalte = variable1.Column
For i = WBZ.Sheets(a).Cells(Rows.Count, programmspalte).End(xlUp).Row To 2 Step -1
      If WBZ.Sheets(a).Cells(i, programmspalte) <> programm Then Rows(i).Delete
   Next i
   
 Next a

end sub
die MsgBox gibt mir die richtige Spaltennummer raus, aber eine falsche Zeilennummer.
Hat jmd eine Idee wo der Fehler liegt? evtl in der fehlenden deklarierung der variablen?

  

Betrifft: AW: Fehler beim auslesen letzter Zeile von: Hajo_Zi
Geschrieben am: 11.11.2014 14:57:57

dein Code liefert ein falscher Ergebnis´, falls letzte Zelle in Spalte belegt.
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

Mal Strg+End prüfen wo Ende der Tabelle.

GrußformelHomepage


  

Betrifft: AW: Fehler beim auslesen letzter Zeile von: Artanan
Geschrieben am: 11.11.2014 15:12:33

Hat leider nichts geholfen.
das problem ist ganz seltsam:

Ich habe den code jetzt geändert. Das neue Makro geht die Worksheets durch und erstellt in jedem eine Tabelle (List.Object) von a1 bis zur letzten benutzten zelle.

sub blabla()
Set WBZ = ActiveWorkbook
wksende = WBZ.Worksheets.Count

For a = 3 To wksende
Sheets(a).Select
letztezeileZ = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)

  letztespalteZ = WBZ.Sheets(a).Cells(1, 256).End(xlToLeft).Column

MsgBox letztezeileZ

   WBZ.Sheets(a).Range(Cells(1, 1), Cells(letztezeileZ, letztespalteZ)).Select
    WBZ.Sheets(a).ListObjects.Add(xlSrcRange, WBZ.Sheets(a).Range(Cells(1, 1), Cells( _
letztezeileZ, letztespalteZ)), , xlYes).Name = _
        "Tabelle1"
    WBZ.Sheets(a).ListObjects("Tabelle1").TableStyle = "TableStyleLight8"

 Next a
end sub
Führe ich das Makro nochmals aus, ist die letzte Spalte immernoch fehlerhaft, allerdings passt er dann die Tabelle auf en richtigen bereich an???....


  

Betrifft: AW: Fehler beim auslesen letzter Zeile von: Artanan
Geschrieben am: 11.11.2014 15:37:29

hat sich erledigt. dummer fehler...


 

Beiträge aus den Excel-Beispielen zum Thema "Fehler beim auslesen letzter Zeile"