Brauche Hilfe zu EXCEL

  • #1
F

FH_GeNeSiS

Guest
Hallo habe eine ca. 15000 Zeilen lange EXCEL Tabelle und will mit der nun folgendes machen.

Der Inhalt aus Zeile 1 soll in Spalte A bleiben.
Der Inhalt aus Zeile 2 soll in Spalte B verschoben werden.
Der Inhalt aus Zeile 3 soll in Spalte C verschoben werden.
Der Inhalt aus Zeile 4 soll wieder in Spalte A bleiben.
Der Inhalt aus Zeile 5 soll wieder in Spalte B verschoben werden.
Und so weiter.... wiederholt sich halt ständig.

Gibt es eine möglichkeit dies automatisch passieren zu lassen und nicht immer von Hand
alles verschieben zu müssen. Sonst sitz ich ja ewig an der Datei.

Thx im vorraus.
MfG GeNeSiS
 
  • #2
hi

darf ich fragen wohin die Spalte B/Spalte C verschoben wird?

und geht dass immer so im gleichen schritt weiter also 1,2,3 -> 1,2,3

mfg billy
 
  • #3
Also ca. 15000 Zeilen nur Spalte A.

Und nun soll es halt aufgeteilt werden.
Zeile zu Spalte:
1 -> A
2 -> B
3 -> C
4 -> A
5 -> B
6 -> C
7 -> A
ect...
 
  • #4
kleine idioten frage aber nach dem verschieben sollen die zahlen aus der spalte A (ausser dort wo sie Spalte A sind) gelöscht werden

richtig?
 
  • #5
Hi

nochmals ich ^^. Ich bin jetzt einfach mal drauf ausgegangen dass die alten Daten gelöscht werden.

Hier wäre dann das makro (Sicherheitshalber würde ich eine kopie von dem Original machen bevor du das makro ausführst. bei 15'000 Zeilen wäre es sehr schwer wider ordnung zu schaffen)

Code:
Sub verschiebeabc()
'Hier gibst du die Anzahl Zeilen an
Const c_zeilen = 9

'Hier wird zeile für zeile das makro angewendet
Dim zeile As Long, nr As Long
nr = 1
For zeile = 1 To c_zeilen

->mit einer variabel wird festgestellt in welche spalte (wenn überhaupt) vorschoben wird.
 If nr = 1 Then
 ->Spalte A bleibt in Spalte A
  nr = nr + 1
 ElseIf nr = 2 Then
 ->Spalte A wird nach Spalte B verschoben
  Cells(zeile, 2).Value = Cells(zeile, 1).Value
  Cells(zeile, 1).Value = 
  nr = nr + 1
 ElseIf nr = 3 Then
 ->Spalte A wird nach Spalte C verschoben
  Cells(zeile, 3).Value = Cells(zeile, 1).Value
  Cells(zeile, 1).Value = 
  nr = 1
 End If

Next

End Sub

mfg billy ;)
 
  • #6
Cool Danke wär es jetzt möglich das auch immer 3 Zeilen dann auch in einer Zeile stehen.

Also nach den Umwandeln es dann so aussieht
Zeile 1 / Spalte A (Wert der schon da war)
Zeile 1 / Spalte B (Wert aus Zeile 2 / Spalte A)
Zeile 1 / Spalte C (Wert aus Zeile 3 / Spalte A)
Und so weiter.

Das dann immer eine kompeltte Zeile da ist und 2 Leere.
 
  • #7
hi

also wenn ich das richtig verstanden habe suchst du nach folgendem hier *gg* (dazu müsstes du allerdings nun das originalfile nochmals haben)

Auch hier wider gilt, Kopie anliegen.

Code:
Option Explicit
Sub verschiebeabc()
'Hier gibst du die Anzahl Zeilen an
Const c_zeilen = 9

'Hier wird zeile für zeile das makro angewendet
Dim zeile As Long, nr As Long
nr = 1
For zeile = 1 To c_zeilen

->mit einer variabel wird festgestellt in welche spalte (wenn überhaupt) vorschoben wird.
 If nr = 1 Then
 ->Spalte A bleibt in Spalte A
  nr = nr + 1
 ElseIf nr = 2 Then
 ->Spalte A wird nach Spalte B verschoben
  Cells(zeile, 2).Value = Cells(zeile, 1).Value
  Cells((zeile - 1), 2).Value = Cells(zeile, 1).Value
  Cells(zeile, 1).Value = 
  nr = nr + 1
 ElseIf nr = 3 Then
 ->Spalte A wird nach Spalte C verschoben
  Cells(zeile, 3).Value = Cells(zeile, 1).Value
  Cells((zeile - 2), 3).Value = Cells(zeile, 1).Value
  Cells(zeile, 1).Value = 
  nr = 1
 End If

Next

End Sub

mfg billy
 
  • #8
Super Danke dir.
Gibt es jetzt noch ne möglichkeit das nur jede 3. Zeile da bleibt und die anderen
gelöscht werden. Also Zeile 1, 4, 7, etc... nur wo der komplette Text enthalten ist.
 
  • #9
Ola,

vielleicht hilft es ja, nicht zu verschieben, sondern das Ergebnis in einer neuen Tabelle nue zusammenzustellen? Dann hätte man das Orginal immer noch ...
 
  • #10
FH_GeNeSiS schrieb:
Super Danke dir.
Gibt es jetzt noch ne möglichkeit das nur jede 3. Zeile da bleibt und die anderen
gelöscht werden. Also Zeile 1, 4, 7, etc... nur wo der komplette Text enthalten ist.

komplett gelöscht?

ja ist möglich aber meinst du immer noch die selbe datei oder ist das eine andere?

mfg billy
 
  • #11
Meine immer noch die selber, ja die Zeilen sollen komplett weg.
 
  • #13
also ich hab jetzt hier eine Version welche nur die zellen leer macht aber nicht die ganze zeile löscht

Code:
Option Explicit
Sub verschiebeabc()
'Hier gibst du die Anzahl Zeilen an
Const c_zeilen = 9

'Hier wird zeile für zeile das makro angewendet
Dim zeile As Long, nr As Long
nr = 1
For zeile = 1 To c_zeilen

->mit einer variabel wird festgestellt in welche spalte (wenn überhaupt) vorschoben wird.
 If nr = 1 Then
 ->Spalte A bleibt in Spalte A
  nr = nr + 1
 ElseIf nr = 2 Then
 ->Spalte A wird gelöscht, Spalte B wird gelöscht in der selben Zeile
  Cells((zeile - 1), 2).Value = Cells(zeile, 1).Value
  Cells(zeile, 2).Value = 
  Cells(zeile, 1).Value = 
  nr = nr + 1
 ElseIf nr = 3 Then
 ->Spalte A wird gelöscht, Spalte C wird gelöscht in der selben Zeile
  Cells((zeile - 2), 3).Value = Cells(zeile, 1).Value
  Cells(zeile, 3).Value = 
  Cells(zeile, 1).Value = 
  nr = 1
 End If

Next

End Sub

schönen tag noch ;D

mfg billy
 
  • #14
Nee nicht nur leeren, sollen komplett gelöscht werden.

Thx im vorraus
 
  • #15
hi

da ich im moment im geschäft bin hab ich dir halt ein neues makro zusammen gestellt. Aber konnte es leider nur so halb testen. Bei mir tut es ^^

Code:
Sub leerloeschen()
'Anzahl Zeilen
Const c_zeilen = 20

'Mit hilfe der for schlaufe wird solange kontrolliert
'bis die anzahl zeilen durch sind
Dim zeile As Long, count As Long
count = 1
For zeile = 1 To c_zeilen
->Verhindet die Endlosschleife
 If count > c_zeilen Then
  Exit For
 End If
 
->Sollte die Spalte A der Zeile leer sein
->(wie bei dem vorherigem Makro getan) so wird die Zeile gelöscht
 If Cells(zeile, 1).Value =  Then
  Rows(zeile).Delete
  zeile = zeile - 1
 End If
 
 count = count + 1
Next

End Sub

hier ist es wirklich wichtig die richtige anzahl Zeilen anzugeben. sonst hast du eine Endlosschleife (spreche aus eigener erfahrung :-[)

mfg billy @ wörk
 
Thema:

Brauche Hilfe zu EXCEL

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben