ich habe mal wieder eine Aufgabe ohne Lösung.
ich hoffe ich habe es richtig verstanden.
Option Explicit
Sub Thomas()
Dim LoLetzte As Long
Dim LoI As Long
If [a65536] = "" Then
LoLetzte = [a65536].End(xlUp).Row
Else
LoLetzte = 65536
End If
For LoI = LoLetzte - 1 To 2 Step -1
If Cells(LoI, 1) + 1 <> Cells(LoI + 1, 1) Then
Rows(LoI).Copy
Rows(LoI + 1).Insert Shift:=xlDown
Cells(LoI + 1, 1) = Cells(LoI + 2, 1) - 1
LoI = LoI + 1
End If
Next LoI
Application.CutCopyMode = False 'Zwischenspeicher löschen
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend <pre>
Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
trotzdem vielen Dank
thomas
Ansonsten wie immer ein Super Macro !!!!!!!!!!
es dankt der
tom
hast Du mal den fehler in Deiner Datei gesucht ???
Hast Du mal mit Strg+Ende festgestellt wo das Ende Deiner Tabelle ist???
Gruß Hajo
bevor ich jetzt anfange das Makro ändere brauche noch paar Informationen.
- das Problem mit ausfüllen aller Zeilen hat sich geklärt???
- das Ende der Tabelle wird richtig erkannt
- also stehen nur werte in der Tabelle von Zeile 1 bis 25
Gruß Hajo
Option Explicit
Sub Thomas()
Dim InLetzte As Integer
Dim InI As Integer
InLetzte = [B65536].End(xlUp).Row
For InI = InLetzte - 1 To 2 Step -1
If CInt(Cells(InI, 2)) + 1 <> CInt(Cells(InI + 1, 2)) Then
Rows(InI).Copy
Rows(InI + 1).Insert Shift:=xlDown
Cells(InI + 1, 2) = Cells(InI + 2, 2) - 1
InI = InI + 1
End If
Next InI
InLetzte = [B65536].End(xlUp).Row
If InLetzte < 25 Then Rows(InLetzte).Copy Rows(InLetzte & ":25")
For InI = InLetzte + 1 To 25
Cells(InI, 2) = InI - 2
Next InI
Application.CutCopyMode = False 'Zwischenspeicher löschen
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend <pre>
Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
bis dahin Danke
tom
Es dankt dem Großen HAJO
der THOMAS
SUPER FORUM SUPER LEUTE