Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte A füllen soweit Spalte B gefüllt

Spalte A füllen soweit Spalte B gefüllt
30.03.2021 13:29:38
maxi
Hallo liebes Forum,
mittels Userform möchte ich ein Modul abspielen, welches mir unter die erste leere Zeile ab Spalte B Daten einliest. Die leeren Zeilen in Spalte A sollen durch die Auswahl des Wertes durch die ComboBox der Userform aufgefüllt werden. Nach etlichen Codes die ich versucht habe bin ich immer noch nicht zur Lösung gekommen.
Anbei der Code:
Private Sub Button_OK_Click()
Call AutoImport2
Dim Zelle As Range
For Each Zelle In Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1 & ":A" & Cells(Rows. _
Count, 2).End(xlUp).Row)
If Zelle.Value = "" Then
Zelle.Value = ComboBox_KW.Value
End If
Next
Unload UserForm1
End Sub
Irgendwas stimmt mit der Range in Spalte A nicht, da dort nur in der letzten Zeile die Eingabe eingelesen wird.
Ich bedanke mich für jede Hilfe!
LG
Maxi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte A füllen soweit Spalte B gefüllt
30.03.2021 13:43:25
Rudi
Hallo,
die Abfrage If Zelle = "" ist überflüssig, da der Bereich erst hinter der letzten gefüllten Zelle anfängt.
Somit reicht:

Range(Cells(Rows.Count, 1).End(xlUp).Offset(1), Cells(Rows.Count, 2).End(xlUp).Offset(, -1)) _
_
= ComboBox_KW.Value

Gruß
Rudi

AW: Spalte A füllen soweit Spalte B gefüllt
30.03.2021 14:28:09
maxi
Hallo Rudi,
danke für die rasche Hilfe. Es klappt immer noch nicht so ganz. Die angeforderte KW wird nur in der letzten Zeile von B in A eingefügt und in der darauffolgenden. Das ist der Code den ich jetzt verwendet habe.
Private Sub Button_OK_Click()
Call AutoImport2
Range(Cells(Rows.Count, 1).End(xlUp).Offset(1), Cells(Rows.Count, 2).End(xlUp).Offset(, -1)) _
= ComboBox_KW.Value
End If
Next
Unload UserForm1
End Sub
schon mal danke für die Hilfe.
LG
Maxi

Anzeige
zeig mal die Datei owT
30.03.2021 14:40:31
Rudi

AW: zeig mal die Datei owT
30.03.2021 15:23:56
Maxi
Hallo Rudi,
leider klappt der Upload nicht. Ich kann die Datei nicht auswählen (vom Mac).
weißt du da weiter?

AW: zeig mal die Datei owT
30.03.2021 22:01:20
Yal
Hallo Maxi,
Mit einem "Next" und einem "End If" im Mitte deines Codings bezweifle ich sehr, dass dieses Code das Ergebnis liefert, das Du uns sagt.
Lösungsweg:
_ verwende Variablen,
_ lässt Schritt für Schritt laufen
_ beobachte im Lokal-Fenster, was mit den Variablen passiert
_ Versuche mit getrenntem Coding Zwischenergebnis zu erreichen
Zum Beispiel mit diesem Test-Code:
Sub Test()
Dim LastA
Dim LastB
Set LastA = Cells(Rows.Count, 1).End(xlUp).Offset(1)
Set LastB = Cells(Rows.Count, 2).End(xlUp).Offset(, -1)
Debug.Print LastA.Address
Debug.Print LastB.Address
Range(LastA, LastB) = "Test-Text"
End Sub
Viel Erfolg
Yal

Anzeige
AW: zeig mal die Datei owT
31.03.2021 11:37:37
maxi
Hallo Yal,
ich habe den Code mal getestet. Er funktioniert, aber nur wenn ich die Tabellenformatierung aufhebe. Da ich diese jedoch benötige passt das noch nicht ganz so. Wenn die Tabellenformatierung aktiv ist, dann fügt dieser mir nur die Werte der ComboBox (in deinem Fall von Test-Text) nur in die letzte Zeile von Spalte A ein und in die darauffolgende, also erweitert die Tabelle um eine Zeile. Die restlichen Zeilen werden nicht aufgefüllt.

AW: zeig mal die Datei owT
31.03.2021 22:05:10
Yal
Hallo Maxi,
Die Information "Tabelleformatierung" oder DatenTabelle oder intelligente Tabelle ist hier sehr relevant (ich habe nur nicht dran gedacht)
Sub Test()
Dim LastA
Dim LastB
Set LastA = Cells(Rows.Count, 1).End(xlUp).Offset(2)
Do
Set LastA = LastA.Offset(-1)
Loop While LastA = ""
Set LastB = Cells(Rows.Count, 2).End(xlUp).Offset(, -1)
Debug.Print LastA.Address
Debug.Print LastB.Address
Range(LastA, LastB) = "Test-Text"
End Sub
VG
Yal

Anzeige
AW: Spalte A füllen soweit Spalte B gefüllt
31.03.2021 15:21:57
Piet
Hallo maxi
schau doch bitte mal richtig auf deinen Code, das Makro macht doch genau das was du ihm sagst!! Was erwartest du, wenn du zum ausfüllten laut deinem Code mit der "LastZell" anfaengst? Was soll dann noch ausgefüllt werden?
Aender ihn bitte mal so ab:
For Each Zelle In Range("A2:A" & Cells(Rows.Count, 2).End(xlUp).Row)
mfg Piet

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige