letzte Zeile ermitteln

ja so ist es, einfach das in diesem Sheet mehrere New RFS gibt. Die MsgBox soll angezeigt werden wenn New RFS in der letzten Zeile steht im Sheet
 
Der Befehl:
lastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
kontrolliert die komplette Zeile ob irgendwo etwas steht. Willst du speziell nur eine Spalte auf den letzten Eintrag hin kontrollieren benötigst du:
Code:
    i = 0
    spalte = "A"
    Do
        i = i + 1
    Loop While Range(spalte & i) <> "" And i < 65536
    lastRow = i - 1
lastColumn = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Überprüft die kompletten Spalten auf den letzten Eintrag.
Nun ist die Frage was für eine Zelle (="Spalte & Zeile") ausgeben willst.
 
Ich hab einen kurzen Code, der die letzte Zeile durchsucht und bei Fund eine MessageBox ausgibt:
Visual Basic:
 lastrow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
 Rows(lastrow).Select
 Set x = Selection.Find(what:="New RFS")
 If Not x Is Nothing Then MsgBox "Gefunden!"


Der Doc!
 
Hi...

Problem gelöst

1. Du kopierts die Daten extern rein
Wenn in der Tabelle schon mal Daten gewesen sind und diese eventuell mehr Zeilen hatten ist die Letzte Row falsch gesetzt.
2. Wenn irgend eine Zelle makiert ist fügt das Macro ab dort die Daten ein.
Ergebnis: Falsche Tabellenstruktur usw...
3. Falsche IF abfrage.
Du verwendest <> solte aber = sein.

Lösung:
Vor dem Import Sheet leeren (Aber wirklich alles)
Diese Sub übernimmt diese aufgabe...
Erstelle in einem Modul diese Sub (Sie darf sich nicht im Tabellenblatt befinden. Sonst gehts ned)
Code:
Sub ClearWSInvChild()
    Sheets("webshop_inv_chind").Select
    Cells.Select
    Range("a1").Activate
    Selection.Delete Shift:=xlUp
    Range("A1").Select
End Sub

Verweise am anfang deines Macro darauf.
Code:
Private Sub CommandButton1_Click()

Dim i
Dim lastRow As Long
Dim e As Integer

ClearWSInvChild
...
...
...

Korregier die IF Anweisung.
Code:
    If ActiveSheet.Cells(lastRow, 9).Value = "New RFS" Then MsgBox "Neuer 'New RFS' Eintrag" & vbCr & "Zeile: " & lastRow

Fertig...

lg Tody
 
ich habs jetzt so gemacht:

Code:
   Sheets("webshop_inv_chind").Select

    ActiveSheet.Range("I11080").End(xlUp).Activate
    lastRow = ActiveCell.Row

das funktioniert, aber jetzt möchte ich überprüfen ob da New RFS steht und ich hab das so versucht, aber das funktioniert leider nicht....

Code:
If lastRow = "New RFS" Then MsgBox "neuer Eintrag"
 

Neue Beiträge

Zurück