Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Wert einer Zelle in die nächste übertragen





Frage

Hallo, ich habe eine Excel-Tabelle, in der in jeder Zelle Werte mit 10 Zeichen stehen. Nun möchte ich zwischen jede Zeile, in der Werte stehen eine Leerzeile einfügen, den Wert der vorhergehen Zelle ab der 5. Stelle einfügen und in der Originalzelle den Originalwerte minus der letzten 5 Zeichen einfügen. Anbei ein Beispiel: Original: hallo12345 hallo12346 hallo12347 ciaoi67890 ciaoi67891 ciaoi67892 grüzi54321 grüzi54322 grüzi54323 Leerzeile: hallo12345 hallo12346 hallo12347 ciaoi67890 ciaoi67891 ciaoi67892 grüzi54321 grüzi54322 grüzi54323 "gekappte" Zellen: hallo hallo hallo 12345 12346 12347 ciaoi ciaoi ciaoi 67890 67891 67892 grüzi grüzi grüzi 54321 54322 54323 Ich habe hierfür ein Makro geschrieben: Sub Leerzeilen() Set wksTemp = ActiveSheet Menge = wksTemp.UsedRange.Rows.Count For i = Menge To 2 Step -1 Menge1 = i & ":" & i Rows(Menge1).Select Selection.Insert Shift:=xlDown Next ueber5 End Sub Sub ueber5() Dim o Dim p Dim Nome Dim q Dim r Dim s Dim t Application.ScreenUpdating = False Nome = ThisWorkbook.Name Set t = ActiveSheet.UsedRange p = t.Rows.Count s = t.Columns.Count Workbooks(Nome).Worksheets("tabelle1").Range("A1").Select For r = 1 To s For q = 1 To p o = Selection.Value o = Right(o, 5) ActiveCell.Offset(1, 0).Value = o Workbooks(Nome).Worksheets("tabelle1").Cells(q, r).Select Next q Next r o = Selection.Value o = Left(o, 5) ActiveCell.Offset(1, 0).Value = o Range("A1").Select ´ Application.ScreenUpdating = True End Sub Sub weniger5() Dim a Dim e Dim Nomen Dim b Dim j Dim k Dim m Application.ScreenUpdating = False Nomen = ThisWorkbook.Name Set m = ActiveSheet.UsedRange e = m.Rows.Count k = m.Columns.Count Workbooks(Nomen).Worksheets("tabelle1").Range("A1").Select For j = 1 To k For b = 1 To e a = Selection.Value a = Left(a, 5) ActiveCell.Value = a Workbooks(Nomen).Worksheets("tabelle1").Cells(b, j).Select Next b Next j a = Selection.Value a = Left(a, 5) ActiveCell.Value = a Range("A1").Select Application.ScreenUpdating = True End Sub Leider klappt das nicht. Könnte Ihr mir evtl. weiterhelfen? Gruß Paulo

Antwort 1 von Aliba

Hi Paulo,

mit VBA kann ich Dir leider nicht helfen.

Formellösung wäre:


Nehmen wir an, deine Tabelle heisst Tabelle1

In ein neues Tabellenblatt die Formel:
=WENN(REST(ZEILE(A1);2)=1;LINKS(INDIREKT("Tabelle2!"&ADRESSE(AUFRUNDEN(ZEILE(A1)/2;0);SPALTE(A1)));5);RECHTS(INDIREKT("Tabelle2!"&ADRESSE(AUFRUNDEN(ZEILE(A1)/2;0);SPALTE(A1)));5))

Soweit benötigt nach unten und nach rechts kopieren.
Anschliessend alles markieren, kopieren und als Inhalte - Werte wieder einfügen.

CU Aliba

Antwort 2 von Aliba

Hi Paulo,

mit VBA kann ich Dir leider nicht helfen.

Formellösung wäre:


Nehmen wir an, deine Tabelle heisst Tabelle2

In ein neues Tabellenblatt die Formel:
=WENN(REST(ZEILE(A1);2)=1;LINKS(INDIREKT("Tabelle2!"&ADRESSE(AUFRUNDEN(ZEILE(A1)/2;0);SPALTE(A1)));5);RECHTS(INDIREKT("Tabelle2!"&ADRESSE(AUFRUNDEN(ZEILE(A1)/2;0);SPALTE(A1)));5))

Soweit benötigt nach unten und nach rechts kopieren.
Anschliessend alles markieren, kopieren und als Inhalte - Werte wieder einfügen.

CU Aliba

Antwort 3 von Aliba

Nochmal ich,

jetzt war der erste Eintrag doch schon weg, dachte ich hätte ihn noch rechtzeitig gestoppt. Hatte da nen Fehler mit dem Tabellennamen.

CU Aliba

Antwort 4 von Paulo

Hallo Aliba,

danke für Dein Posting. Ich habe dies jetzt getestet. Aber irgendwie klappt das nicht so recht. Irgendwie wird nur jede 2. Zeile berücksichtigt. Hast Du eine Idee warum?

Schon mal vielen Dank im voraus.

Gruß

Paulo

Antwort 5 von Aliba

Hi Paulo,

kannst Du mir mal einen Auszug Deiner Datei mailen.

Wichtig ist für mich, dabei zu sehen, wo Deine Daten beginnen und ob innerhald dieser Daten unregelmässige Leerzeilen sind.

CU Aliba

ali-gitti@t-online.xxxde

die 3 x vor de bitte rausnehmen

Antwort 6 von Paulo

Hallo Aliba,

sorry, habe jetzt gemerkt warum er nicht alle Daten genommen hat. Habe vorher mein Makro durchlaufen lassen und der hat Leerzeilen eingefügt. Jetzt, mit der "jungfräulichen" Datei scheint es zu klappen. Danke vorerst.

Gruß

Paulo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: