online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon SMT vom 04.11.2020, 14:22 Options

Leerzeilen zwischen nicht aufeinanderfolgenden Werten einfügen.

Hallo,

Ich habe eine (sortierte) Tabelle in der jede Zeile mit einem eindeutigen Wert beginnt (werte von A01 bis C50, wobei in der Zeile 1 der Wert A01 steht). Allerdings gibt es werte die in der Tabelle nicht vorkommen (z.B. A02 oder A05). Jetzt möchte ich das die zwei Ziffern des Ersten Wertes jeweils mit der Zeilennummer von Excel übereinstimmen, sprich A01 soll in zeile 1 stehen, B35 in Zeile 135, C21 in Zeile 221 und so weiter. Die Zeilen die keinen passenden Datensatz als partner haben sollen jeweils leer bleiben. Sprich:


Zeile | Wert
1       A01
2
3       A03
4       A04
5       
6       A06
.
.
.


Ist das möglich? ich bin bereit zusätzliche Zählspalten etc. einzufügen und mir ist vollkommen klar das das nur über ein Makro zu machen ist. Leider bin ich in VBA für so was nicht fitt genug.
Ich hoffe die erlärung war verständlich, Rückfragen werden beantwortet.

Schon mal vielen Dank für die Hilfe...

mfg
SMT.


Antwort schreiben

Antwort 1 von Saarbauer vom 04.11.2020, 14:32 Options

Hallo,

mit dem Makro ist es kein Problem, aber wie sehen deie Daten aus und wo stehen die?

Du mochtest es wohl etwa so haben, dass in A1 z.B. 101 steht
in A3 103, B4 204 und in C65 365, wenn ich es richtig verstanden habe.

Gruß

Helmut

Antwort 2 von SMT vom 04.11.2020, 14:42 Options

nein, leider nicht, die Werte in den Zellen haben nichts mit dem Spaltennamen zu tun, nur mit der Zeilennummer.
Ich habe ein datenblatt in dem in der Spalte A aufsteigend die werte A01 bis C50 stehen und ich möchte das Zeilen die keinen dazupassenden werte haben (wie die Zeile 2 zu der es keinen wert A02 gibt) mit einer leerzeile gefüllt werden.

Antwort 3 von Saarbauer vom 05.11.2020, 12:20 Options

Hallo,

versuch es mal hiermit

Sub tabellet_bereinigen()
    Columns("A:A").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
    For i = Range("A65536").End(xlUp).Row To 2 Step -1
        y = (Asc(Left(Range("A" & i).Value, 1)) - 65) * 100 + Mid(Range("A" & i).Value, 2, 10)
        Range("A" & y).Value = Range("A" & i).Value
        If i <> y Then Range("A" & i).Value = ""
    Next i
End Sub


Gruß

Helmut

Ähnliche Themen

Leerzeilen einfügen
hallokati  23.10.2007 - 126 Hits - 6 Antworten

Zeile mit "Auftrag" + Leerzeilen löschen (Makro)
SteffenL  07.03.2008 - 38 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026