Thema Datum  Von Nutzer Rating
Antwort
Rot .Cells(wks.Rows.Count, "A").End(xlUp) ermittelt falsche letzte Zeile
18.02.2020 19:36:04 Tobi
NotSolved
18.02.2020 20:03:20 Gast3180
*
NotSolved
18.02.2020 20:25:08 Tobi
NotSolved
24.02.2020 16:57:19 Gast45104
NotSolved
24.02.2020 17:04:08 Mase
NotSolved
24.02.2020 17:17:57 Gast58217
NotSolved
24.02.2020 17:23:48 Mase
NotSolved
24.02.2020 20:36:42 Tobi
NotSolved
24.02.2020 22:21:47 Mase
NotSolved
24.02.2020 22:28:53 Mase
NotSolved
25.02.2020 22:00:53 Tobi
NotSolved
25.02.2020 22:08:27 Mase
NotSolved
25.02.2020 22:18:28 Tobi
NotSolved
26.02.2020 07:46:07 Mase
NotSolved
26.02.2020 19:43:13 Tobi
NotSolved
26.02.2020 19:55:15 Mase
NotSolved
26.02.2020 21:49:19 Tobi
NotSolved
26.02.2020 22:48:10 Mase
NotSolved
28.02.2020 12:16:15 Tobi
NotSolved
28.02.2020 12:25:41 Mase
NotSolved
24.02.2020 18:55:23 Gast22304
NotSolved
24.02.2020 18:57:51 Gast22304
NotSolved
24.02.2020 18:59:30 Gast22304
NotSolved
24.02.2020 20:53:51 Tobi
NotSolved
28.02.2020 13:23:02 Gast15026
NotSolved
28.02.2020 17:25:32 Gast15026
*****
Solved
28.02.2020 19:02:33 Tobi
NotSolved

Ansicht des Beitrags:
Von:
Tobi
Datum:
18.02.2020 19:36:04
Views:
845
Rating: Antwort:
  Ja
Thema:
.Cells(wks.Rows.Count, "A").End(xlUp) ermittelt falsche letzte Zeile

Hi,

in meinem Code setze ich

wks.Cells(wks.Rows.Count, "A").End(xlUp).Offset(1)

ein, um die letzte Zeile zu ermitteln und darunter Daten zu schreiben.

Obwohl das Tabellenblatt nur 2 Zeilen hat, sehe ich im Debugger, dass die Eigenschfaft Row den Wert 5 hat. Dementsprechend wirdin Zeile 6, statt in Zeile 3 eingefügt.

Ich bin so ratlos. Wie kann das sein? wks bezieht sich auf die richtige Tabelle.

Wenn ich den Debugger vor dieser Stelle anhalte und in der Tabelle in Spalte "A" einmal alles ab der dritten Zeile markiere und Entfernen drücke, dann bekomme ich dieses Problem nicht.

Das Tabellenblatt wird zuvor vom Makro erstellt und die ersten beiden Zeilen eingefügt. Dann folgt diese Verarbeitung:

Dim Spalte As Integer
Dim SpalteEnd As Integer

With ActiveSheet
SpalteEnd = .UsedRange.Columns.Count

For Spalte = SpalteEnd To 1 Step -1
If .Cells(1, Spalte).Value = "" Then
.Columns(Spalte).Delete
End If
Next Spalte

End With

Dim x&, j&
j = 1
For x = 2 To 102 Step 1
Cells(2, j).Value = Cells(1, x).Value
Columns(x).Delete

j = j + 1
Next

 

 

Anschließend, aus einer anderen Sub heraus, der Aufruf der Funktion, in der es zum Fehler kommt:

Dim wks As Excel.Worksheet
   
  If WksMatch(ActiveSheet, ActiveWorkbook, wks) Then



'Und schließlich die Stelle, wo die letzte Zeile falsch belegt wird:




Function WksMatch(Optional ByVal Source As Excel.Worksheet, Optional ByVal CompareWith As Excel.Workbook, Optional ByRef Match As Excel.Worksheet) As Boolean
   
  If Source Is Nothing Then Set Source = ActiveSheet
  If CompareWith Is Nothing Then Set CompareWith = ActiveWorkbook
   
  Dim wks As Excel.Worksheet
  Dim i As Long
   
  For Each wks In CompareWith.Worksheets
    If Not wks Is Source Then
      If WksCompare(Source, wks, 1) Then

        Source.Rows(2).Copy wks.Cells(wks.Rows.Count, "A").End(xlUp).Offset(1)

 

 

Vielen Dank im Voraus

Grüße

Tobi


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 .Cells(wks.Rows.Count, "A").End(xlUp) ermittelt falsche letzte Zeile
18.02.2020 19:36:04 Tobi
NotSolved
18.02.2020 20:03:20 Gast3180
*
NotSolved
18.02.2020 20:25:08 Tobi
NotSolved
24.02.2020 16:57:19 Gast45104
NotSolved
24.02.2020 17:04:08 Mase
NotSolved
24.02.2020 17:17:57 Gast58217
NotSolved
24.02.2020 17:23:48 Mase
NotSolved
24.02.2020 20:36:42 Tobi
NotSolved
24.02.2020 22:21:47 Mase
NotSolved
24.02.2020 22:28:53 Mase
NotSolved
25.02.2020 22:00:53 Tobi
NotSolved
25.02.2020 22:08:27 Mase
NotSolved
25.02.2020 22:18:28 Tobi
NotSolved
26.02.2020 07:46:07 Mase
NotSolved
26.02.2020 19:43:13 Tobi
NotSolved
26.02.2020 19:55:15 Mase
NotSolved
26.02.2020 21:49:19 Tobi
NotSolved
26.02.2020 22:48:10 Mase
NotSolved
28.02.2020 12:16:15 Tobi
NotSolved
28.02.2020 12:25:41 Mase
NotSolved
24.02.2020 18:55:23 Gast22304
NotSolved
24.02.2020 18:57:51 Gast22304
NotSolved
24.02.2020 18:59:30 Gast22304
NotSolved
24.02.2020 20:53:51 Tobi
NotSolved
28.02.2020 13:23:02 Gast15026
NotSolved
28.02.2020 17:25:32 Gast15026
*****
Solved
28.02.2020 19:02:33 Tobi
NotSolved