Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bei leerer Zelle automatisch Inhalt der vertikal nachfolgenden nachrücken lassen?

664 views
Skip to first unread message

Florian Schwab

unread,
Jul 7, 2002, 2:25:43 AM7/7/02
to
Liebe Ecxel-Fachleute,

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


Hajo

unread,
Jul 7, 2002, 2:41:38 AM7/7/02
to
Hallo Florian

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...

Florian Schwab

unread,
Jul 7, 2002, 3:33:42 AM7/7/02
to
Ich habe vergessen zu erwähnen, dass in Spalte B in einigen Zeilen auch
Daten sind, diese möchte ich aber nicht löschen. Ich möchte lediglich in den
Zeilen nach links nachrücken lassen, in denen Spalte B noch keine Daten
enthält.

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...

Hajo

unread,
Jul 7, 2002, 3:44:20 AM7/7/02
to
Hallo Florian

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...

Franz Gerber

unread,
Jul 7, 2002, 3:59:38 AM7/7/02
to
Hallo,

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...

Hajo

unread,
Jul 7, 2002, 4:07:51 AM7/7/02
to
Hallo Franz

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 Schwab

unread,
Jul 7, 2002, 4:10:38 AM7/7/02
to
Jetzt funktioniert es genial :-)

Florian

"Hajo" <HajoZ...@web.de> schrieb im Newsbeitrag

news:#fW$cnYJCHA.2664@tkmsftngp08...

Franz Gerber

unread,
Jul 7, 2002, 4:31:42 AM7/7/02
to
Hallo Hajo,

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...

0 new messages