online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon EKG vom 25.05.2022, 21:05 Options

Lösung

Felder automatisch füllen mit daeten aus Zellen darüber

Hallo

ich habe ein Excel Arbeitsblatt in der ich eine Spalte habe in der sich falls ein Feld darin leer bleibt sich diese Feld automatisch mit Inhalt füllt.

Der zur Verfügung stehende Inhalt befindet in der gleichen Spalte oberhalb der Zellen.
Nun soll sich in der ersten freien Zelle der Inhalt aus der ersten Auswahlzelle einfügen, in der zweiten freien Zelle der Inhalt der zweiten Auswahlstelle usw.
Für ein Makro wäre ich sehr dankbar.


Gruß Erwin


Antwort schreiben

Antwort 1 von martl vom 25.05.2022, 21:43 Options

Hallo Erwin,

folgendes ist mir eingefallen:

Sub Test()
Dim i As Double, x
x = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To x
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = Cells(i - 1, 1).Value
End If
If i = x Then Exit Sub
Next i
End Sub

Hab angenommen, dass die Spalte A ausgefüllt werden soll: "Cells(i, 1)" = "Cells(<VARIABLE ZEILE>, <SPALTE A>)"

Ist etwas handgestrickt und geht sicherlich noch besser zu programieren, aber evtl. bringt Dich das Makro schon ein bisschen weiter.

VIele Grüße
Martin

Antwort 2 von EKG vom 26.05.2022, 20:46 Options

Hallo Martin

dein Makro hat mein Problem leider nur zum Teil gelöst
Das ausfüllen der leeren Zellen funktioniert damit gut.
Was ich noch benötige ist das er aus einer Auswahl die über den auszufüllenden Zellen steht die Daten einer nach dem anderen in die leeren Zellen einfügt (wie oben beschrieben)

Gruß Erwin

Antwort 3 von martl vom 26.05.2022, 21:02 Options

Hallo Erwin,

das mit der Auswahlliste hab ich noch nicht ganz verstanden. Ist die Auswahl ein Zellbereich in der gleichen Spalte ? Wieviele Zellen umfasst die Auswahl ? Oder ist das ein Dropdown/Listenfeld - wenn ja, wo stehen die ursprünglichen Daten...

Kannst Du vielleicht ein Beispiel mit Angabe der Zellnamen machen? (z.B. Auswahlliste: A1-A5, leere Zellen: A6 - A8 sind leer und bekommen den Wert aus A1. A9 hat einen Wert, A10-A12 sind leer und bekommen den Wert aus A2,...) .
Steh gerade leider auf der Leitung... ;)

Viele Grüße
Martin

Antwort 4 von EKG vom 26.05.2022, 22:08 Options

Hallo Martin

Auswahlliste: A1-A20, leere Zellen: A22 - A50 sind teilweise leer und bekommen den Wert aus A22 ist leer und bekommt den wert aus A1,
A24 ist leer und bekommt den Wert aus A2 usw.

Gruß Erwin

Antwort 5 von martl vom 26.05.2022, 23:51 Options

Hallo Erwin,

ok.,. jetzt hab ich das Makro nochmals geändert:

Sub Test()
Dim i, j, x As Double
j = 1
x = Cells(Rows.Count, 1).End(xlUp).Row ' alternativ: x = 50
For i = 22 To x
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = Cells(j, 1).Value
Else:
If i = 22 Then
j = j
Else: j = j + 1
End If
End If
If i = x Then Exit Sub
Next i
End Sub

Wenn etwas noch nicht passt, nochmals kurz melden.

Gruß
Martin

Antwort 6 von EKG vom 27.05.2022, 20:25 Options

Hallo Martin,
erst einmal vielen Dank für die Hilfe bis hierher. Es funktioniert leider nur noch nicht ganz. Ich hab hiernochmal ein Abgriff aus dem Exel Arbeitsblatt vieleicht schildert das meinen Wunsch noch besser.

A ist die Spalte A
Zeilennummer A
1 120
2 121
3 122
4 123
5 124
6 125
7 126
8 127
9 128
10 129
11 130
12 131
13 132
14 133
15 134
16 135
17 136
18 137
19 138
20 139
21
22 a
23 wenn leer dann A1
24 a
25 b
26 a
27 wenn leer dann A2
28 a
29 b
30 a
31 wenn leer dann A3
32 a
33 b
34 a
35 wenn leer dann A4
36 a
37 wenn leer dann A5
38 wenn leer dann A6
39 b
40 a
41 b
42 a
43 b
44 a
45 b
46 a
47 b
48 a
49 b
50 wenn leer dann A7

Gruß Erwin

Antwort 7 von martl vom 27.05.2022, 21:59 Options

Hallo Erwin,

tut mir echt leid, dass sich das so hinzieht. Vielleicht funktionierts so:

Sub Test()
Dim i, j, x As Double
j = 1
For i = 22 To 50
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = Cells(j, 1).Value
j = j + 1
End If
If i + 1 = x Then Exit Sub
Next i
End Sub

Wünsch noch einen schönen Abend.

Gruß
Martin

Antwort 8 von EKG vom 28.05.2022, 20:56 Options

Hallo Martin,

ich muß dich nochmal belästigen bis jetzt war alles sehr hilfreich.
Habe gedacht das ich allen weiter kommen würde, klappt aber leider nicht.
Ich habe noch ein Problem und das lautet:

die Spalte in der die leeren Zellen sind ist Spalte W und die zellen sind nicht leer sondern darin ist eine Summe die null ergibt.

Die Spalte aus der die werte rausgaholt werden sollen ist die Spalte U

Wäre dir dankbar wenn du mir noch einmal helfen könntest.

Gruß Erwin

Antwort 9 von martl vom 28.05.2022, 21:27 OptionsLösung

Lösung
Hallo Erwin,

ist echt kein Problem. Hab das Makro geändert:

Sub Test()
Dim i, j, x As Double
j = 1
For i = 22 To 50
If Cells(i, 23).Value = 0 Then
Cells(i, 23).Value = Cells(j, 21).Value
j = j + 1
End If
If i + 1 = x Then Exit Sub
Next i
End Sub

Mit der Cells-Formel greifst Du auf die jeweiligen Zellen zu.
Übersetzt heisst das: Zellen(<Zeile>, <Spalte>), die Spalten werden ab A durchnummeriert. W ist somit 23, U ist 21. Die Zeilen sind Variable (i) und werden von 22 - 50 durchlaufen. Das "j" ist zuständig, damit immer der nächste Wert in der Spalte 21 ("U") verwendet wird.

Gruß
Martin

Antwort 10 von nighty vom 28.05.2022, 21:37 Options

hi martl ^^

Ein nettes tool zum code einruecken,du wirst es lieben :-))

http://www.oaltd.co.uk/Indenter/Default.htm

nach der installation des addin hast du dann per rechtsclick im vb editor dessen menues,indent modul rueckt alle erreichbaren codes ein :-)

gruss nighty

Antwort 11 von martl vom 28.05.2022, 21:43 Options

Hallo nighty,

Danke für den Link. Habs mir gleich mal heruntergeladen. :)

Wünsch Euch allen noch einen schönen, erholsamen Abend.

Grüßle
Martin

Ähnliche Themen

Felder automatisch markieren in Excel
Suki  12.12.2008 - 57 Hits - 9 Antworten

automatisch Zellen zählen
Jorja  21.12.2008 - 27 Hits - 4 Antworten

Zellen mit definiertem Namen per VBA füllen
jojo5  13.01.2009 - 93 Hits - 4 Antworten

Zellen automatisch ergänzen
epmarc77  15.03.2010 - 162 Hits - 3 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:Mon Jan 26 09:21:55 2026