Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalte finden, in freie Zeile schreiben

Spalte finden, in freie Zeile schreiben
28.02.2008 08:34:00
J.
Hallo
Ich habe hier ein Makro , das mir einen bestimmten Text in die erste frei Zeile einer vorher festgelegten Spalte einer Tabelle schreiben soll. Ich habe es schon geschafft, das die richtige Spalte gefunden wird, aber das mit der Zeile bekomme ich noc hnicht hin.
Hier ist mal der Code des Makros. Zur Erklärung: der Text nach dem die Spalte gesucht wird, steht in Zelle G4, danach wird im Arbeitsblatt "Arbeitsgruppen" in der ersten Zeile nach diesem Begriff gesucht.
Dann sollte es damit weitergehen, dass in die erste freie Zelle dieser Spalte ein Begriff aus der Zelle G6 eingefügt wird.

Private Sub cmdHinzufügen_Click()
Dim raZelle As Range
Set raZelle = Worksheets("Arbeitsgruppen").Rows(1).Find(Worksheets("Sonstiges").Range("G4"), _
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
End If
End Sub


12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 09:15:00
Ingo
Hallo,

Private Sub cmdHinzufügen_Click()
Dim raZelle As Range
Set raZelle = Worksheets("Arbeitsgruppen").Rows(1).Find(Worksheets("Sonstiges").Range("G4"), _
_
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
raZelle.End(xlDown).Offset(1, 0) = Worksheets("Sonstiges").Range("G6")
End If
End Sub


AW: Spalte finden, in freie Zeile schreiben
28.02.2008 09:33:48
J.
ah danke!
Das funktioniert prima.
Besteht noch die möglichkeit, das ganze so zu verändern, dass die Zeilen gezählt werden und eine Nummerierung vor de nBegriff gesetzt wird?
Also wenn z.B. der Begriff "Lager" ist , und der erste freie Platz die in der 4. Zeile ist, dass dort "04 Lager" eingefügt wird.

Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 10:02:00
Ingo

Private Sub cmdHinzufügen_Click()
Dim raZelle As Range
Dim z_Zelle As Range
Dim z_row As String
Set raZelle = Worksheets("Arbeitsgruppen").Rows(1).Find(Worksheets("Sonstiges").Range("G4"), _
_
_
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
Set z_Zelle = raZelle.End(xlDown).Offset(1, 0)
z_row = Format(z_Zelle.Row, "00")
z_Zelle = z_row & Worksheets("Sonstiges").Range("G6")
End If
End Sub


mfG
Ingo Christiansen

AW: Spalte finden, in freie Zeile schreiben
28.02.2008 10:14:53
J.
Das mit der Nummerierung klappt nun auch, musste zwar noch ein "-1" einfügen, weil die erste Zeile immer mit etwas anderem belegt ist, aber das war kein Problem.
Nun habe ich aber ein neues Problemchen, und zwar stürzt das Makro kurz vor schluss ab, wenn ich es ganz normal durchlaufen lasse.Mir wird dann der Fehler 1004 ausgegeben und die Zeile
Set z_Zelle = raZelle.End(xlDown).Offset(1, 0)
wird markiert. Wenn ich das ganze im Einzelschritt Modus laufen lasse, tritt der Fehler jedoch nicht auf.

Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 10:44:29
Ingo
Hallo J.,
Wo ist die -1 eingefügt?
Kommt der Laufzeitfehler immer oder wenn die zeile 2 leer ist?
mfG
Ingo Christiansen

AW: Spalte finden, in freie Zeile schreiben
28.02.2008 10:48:40
J.
Die "-1" habe ich hier eingefügt
z_Zelle = (z_row - 1) & Worksheets("Sonstiges").Range("G6")
und was meinst du mit "wenn die zeile 2 leer ist?"
der Fehler kommt egal ob ich Zahlen oder Buchstaben eingebe. Wenn ich nichts eingebe, tritt der Fehler nicht auf.

AW: Spalte finden, in freie Zeile schreiben
28.02.2008 10:56:00
Ingo
Ich meinte ob die zelle unterhalb von raZelle leer ist?
mf Ingo Christiansen

AW: Spalte finden, in freie Zeile schreiben
28.02.2008 11:10:39
J.
nein, da steht irgendein text drin, würde es was bringen, wenn ich den verschiebe?

Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 11:21:28
Ingo
Ich kann das bei mir nicht nachstellen,
aber da es sein kann, dass wir uns die ganze Zeit mißverstehen, probier doch mal auf Verdacht folgendes aus.

Private Sub cmdHinzufügen_Click()
Dim raZelle As Range
Dim z_Zelle As Range
Dim z_row As String
Set raZelle = Worksheets("Arbeitsgruppen").Rows(1).Find(Worksheets("Sonstiges").Range("G4"), _
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
If Not IsEmpty(raZelle.Offset(1, 0)) = True Then
Set z_Zelle = raZelle.End(xlDown).Offset(1, 0)
z_row = Format(z_Zelle.Row, "00")
z_Zelle = z_row - 1 & Worksheets("Sonstiges").Range("G6")
Else
Set z_Zelle = raZelle.Offset(1, 0)
z_row = Format(z_Zelle.Row, "00")
z_Zelle = z_row - 1 & Worksheets("Sonstiges").Range("G6")
End If
End If
End Sub


mfG
Ingo Christiansen

Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 11:25:00
J.
ah ok, dein verdacht wurde bestätigt. Nun klappts fast perfekt, einziges Problem ist noch, dass
die Nummerierung noch falsch dargestellt wird. hier steht "1 irgendetwas" , und da sollte "01 irgendetwas" stehen
kann man da noch was dran machen?

AW: Spalte finden, in freie Zeile schreiben
28.02.2008 11:29:46
Ingo

Private Sub cmdHinzufügen_Click()
Dim raZelle As Range
Dim z_Zelle As Range
Dim z_row As String
Set raZelle = Worksheets("Arbeitsgruppen").Rows(1).Find(Worksheets("Sonstiges").Range("G4"), _
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
If Not IsEmpty(raZelle.Offset(1, 0)) = True Then
Set z_Zelle = raZelle.End(xlDown).Offset(1, 0)
z_row = Format(z_Zelle.Row - 1, "00")
z_Zelle = z_row & Worksheets("Sonstiges").Range("G6")
Else
Set z_Zelle = raZelle.Offset(1, 0)
z_row = Format(z_Zelle.Row - 1, "00")
z_Zelle = z_row & Worksheets("Sonstiges").Range("G6")
End If
End If
End Sub


mfG
Ingo Christiansen

Anzeige
AW: Spalte finden, in freie Zeile schreiben
28.02.2008 11:48:00
J.
alles klappt, danke !

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige