Überprüfung auf Übereinstimmung
#21
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
Top
#22
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
Top
#23
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)
Top
#24
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.
Top
#25
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
Top
#26
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!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste