Registriert seit: 07.03.2016
Version(en): 2013
02.01.2017, 00:03
(Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2017, 00:03 von sunny01.)
Hallo,
ein Ansatz für die Ermittlung der nächsten leeren Zeile wurde bereits oben gepostet (ich habe diesen unten nochmals angeführt).
Vielleicht kann die darin vorhandene Variable "FreieZeile" in den von mir früher angegebenen Code EleFolge_A1 und EleFolge_A2 integriert werden. Wer wüsste dafür einen Vorschlag?Code:
Sub Freie_Zeile_Aus_Definierter_Spalte()
Dim FreieZeile As Long
FreieZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
End Sub
Registriert seit: 07.03.2016
Version(en): 2013
Hallo,
unten angegeben sind nochmals die Codes zu meiner Frage im vorigen Eintrag:
Code:
Sub EleFolge_A1()
Dim LoL_1 As Long
Dim LoL_2 As Long
Dim r1 As Long
Dim r2 As Long
Dim erg
Dim ws2 As Worksheet
Set ws2 = Worksheets("Tabelle1")
With Worksheets("Tabelle 2")
LoL_1 = .Cells(Rows.Count, "K").End(xlUp).Row
LoL_2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
For r1 = 2 To LoL_1
If .Range("K" & r1) <> "" Then
erg = Application.Match(.Range("K" & r1), ws2.Range("A2:A" & LoL_2), 0)
If IsNumeric(erg) Then
r2 = erg + 1
.Range("O" & r1) = ws2.Range("C" & r2)
.Range("M" & r1) = ws2.Range("A" & r2)
End If
End If
Next r1
End With
End Sub
Sub EleFolge_A2()
Dim LoL_1 As Long
Dim LoL_2 As Long
Dim r1 As Long
Dim r2 As Long
Dim erg
Dim ws2 As Worksheet
Set ws2 = Worksheets("Tabelle3")
With Worksheets("Tabelle 2")
LoL_1 = .Cells(Rows.Count, "K").End(xlUp).Row
LoL_2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
For r1 = 2 To LoL_1
If .Range("K" & r1) <> "" Then
erg = Application.Match(.Range("K" & r1), ws2.Range("A2:A" & LoL_2), 0)
If IsNumeric(erg) Then
r2 = erg + 1
.Range("P" & r1) = ws2.Range("C" & r2)
.Range("Q" & r1) = ws2.Range("A" & r2)
End If
End If
Next r1
End With
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Sunny,
Du nutzt doch schon entsprechende Variable, die heißen nur anders ... Da fehlt mir jetzt
LoL_1 = .Cells(Rows.Count, "K").End(xlUp).Row
LoL_2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
Wenn nun weder Tabelle3 oder 1 noch Tabelle 2 das aktive Blatt ist,
FreieZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
dann frag ich mich, was Du damit bezweckst. Du hättest zunächst nur zwei Zeilen Code mehr ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.03.2016
Version(en): 2013
02.01.2017, 23:57
(Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2017, 06:47 von Rabe.
Bearbeitungsgrund: unsichtbare Color- und Font-Tags entfernt
)
Hallo Andre,
ich habe noch zwei weitere Makros zu den bestehenden EleFolge_A1 und EleFolge_A2, welche mir ebenfalls Werte aus einer anderen Tabelle in dieselbe Tabelle auslesen. Diese werden jedoch in dieselben Zeilen (nur in anderen Spalten) geschrieben wie die Werte der beiden bestehenden Makros. Ich möchte diese Einträge jedoch ab der nächsten freien Zeile anordnen, was bisher nicht funktioniert hat.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
03.01.2017, 06:46
(Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2017, 06:46 von Rabe.)
Hi,
(02.01.2017, 23:57)sunny01 schrieb: Diese werden jedoch in dieselben Zeilen (nur in anderen Spalten) geschrieben wie die Werte der beiden bestehenden Makros. Ich möchte diese Einträge jedoch ab der nächsten freien Zeile anordnen, was bisher nicht funktioniert hat.[/font][/size][/color][/font][/size][/color]
dann sage dem Makro halt einfach, es soll die nächste Zeile verwenden, das kann doch nicht so schwer sein, eine 1 dazuzuzählen:
bestehende + 1
oder
LoL_3 + 1
an richtiger Stelle im Code verwenden.
Vorher passt Du diese Zeile auf das richtige Worksheet (ws2) und die richtige Spalte ("A") an:
LoL_3 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
Registriert seit: 07.03.2016
Version(en): 2013
Hallo,
vielen Dank für Eure Antworten! Habe nun auf Basis der Hinweise von Schauan und Rabe die Fehler in meinen Codes entdeckt, jetzt klappt es!