Ich habe ein Problem: Wie Lasse ich in einer Excel-Tabelle in einer Zeile,
in der in Spalte B kein Inhalt steht, automatisch den Inhalt der Spalten
C,D,E,F,G je um eine Spalte nach links rücken?
Also z.B:
SpalteA SpalteB SpalteC SpalteD SpalteE SpalteF
SpalteG
1 ich gehe heute
morgen spazieren
2 heute ist Sonntag
3 Das Wetter ist
schön
...
automatisch zu:
SpalteA SpalteB SpalteC SpalteD SpalteE SpalteF
SpalteG
1 ich gehe heute morgen
spazieren
2 heute ist Sonntag
3 Das Wetter ist schön
...
Für Ihre kompetente Hilfe bedanke ich mich im Voraus
Ihr Florian Schwab
habe ich das falsch verstanden. Abe ich würde Spalte B markieren. Rechte
Maustaste und Spalte löschen.
Gruß Hajo
"Florian Schwab" <f.sc...@freesurf.ch> schrieb im Newsbeitrag
news:ag8mt8$jj21d$1...@ID-128996.news.dfncis.de...
ich hoffe, jetzt ist es etwas verständlicher :-)
Mit freundlichen Grüssen
Florian Schwab
"Hajo" <HajoZ...@web.de> schrieb im Newsbeitrag
news:uDmOBEYJCHA.2656@tkmsftngp13...
das ist eben das Problem, wenn die Aufgabe nur halb beschrieben wird. Lasse
folgendes Makro laufen.
Sub Aufrücken()
Dim letzte As Long
Dim I As Long
If [a65536] = "" Then
letzte = [a65536].End(xlUp).Row
Else
letzte = 65536
End If
For I = 1 To letzte
If Cells(I, 2) = "" Then Cells(I, 2).Delete Shift:=xlToLeft
Next I
End Sub
Gruß Hajo
"Florian Schwab" <f.sc...@freesurf.ch> schrieb im Newsbeitrag
news:ag8qsn$jd8td$1...@ID-128996.news.dfncis.de...
das Makro ist wie immer super.
Habe ich auch gleich ausprobiert.
Für die Spalte B ist es dann noch anzupassen.
[a65536] in [B65536] ändern dann paßt es.
Public Sub Aufrücken()
Dim Letzte As Long
Dim I As Long
If [B65536] = "" Then
Letzte = [B65536].End(xlUp).Row
Else
Letzte = 65536
End If
For I = 1 To Letzte
If Cells(I, 2) = "" Then Cells(I, 2).Delete Shift:=xlToLeft
Next I
End Sub
--
Mit freundlichen Grüßen
Franz
"Hajo" <HajoZ...@web.de> schrieb im Newsbeitrag
news:#fW$cnYJCHA.2664@tkmsftngp08...
Das ist nun die Frage bei Spalte B die Zeilenanzahl feststellen könnte genau
so falsch sein. Wenn B nur bis 378 gefüllt ist und C bis 900 werden die
Zeilen von 379 bis 900 nicht bearbeitet. Darum Habe ich mich für A
entschieden. Völlig ohne Problem würde es mit
letzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
anstatt
If [a65536] = "" Then
letzte = [a65536].End(xlUp).Row
Else
letzte = 65536
End If
gehen. Man hat aber so seine eingefahrenen Wege
Gruß Hajo
"Franz Gerber" <vw-polo...@arcor.de> schrieb im Newsbeitrag
news:#NKUhwYJCHA.2012@tkmsftngp13...
Florian
"Hajo" <HajoZ...@web.de> schrieb im Newsbeitrag
news:#fW$cnYJCHA.2664@tkmsftngp08...
Du hast wie immer Recht.
Hatte wohl in meiner Testdatei einen Fehler drin, weil Dein Makro
nicht
funktioniert hat.
Deshalb habe ich es auf B geändert.
Das mit den Zeilen 379 bis 900 habe ich ausprobiert, es geht dann
mit B nicht!
Da war ich wohl etwas zu voreilig mit meinem ersten Posting.
Wünsche Dir noch einen schönen Sonntag.
--
Gruß
Franz
"Hajo" <HajoZ...@web.de> schrieb im Newsbeitrag
news:Obcj40YJCHA.2656@tkmsftngp13...