Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ü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
Antworten 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
Antworten 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)
Antworten 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.
Antworten Top
#25
Hi,

(02.01.2017, 22: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
Antworten 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!
Antworten Top


Gehe zu:


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