Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

vba-Liste durchgehen
#1
Hallo VBA Experten,
ich nutze Excel schon einige Zeit, aber mit VBA habe ich bisher sehr wenig gemacht. Ich habe eine Frage;
In meinem Sheet "Modelle" habe ich beginnend in Spalte "B"bei "B2" eine Liste. Weiter habe ich bereits einen Code, welcher mir gewisse Daten einschreibt,- wenn ich aus dieser Liste mich für ein "Modell" entscheide.

Mein Anliegen:
Ich bräuchte ein VBA, welches die Liste von oben (beginnend bei "B2") abarbeitet.
1) Also, der erste Eintrag soll diesen Eintrag nochmals in die Zellen "C2" & "D2" eintragen.
2) es soll das Makro "TechnischeDaten" aufgerufen werden
3) nach ende von Makro "TechnischeDaten" soll der zweite Eintrag der Liste in die Zellen "C2" & "D2" eingetragen werden
4) Aufruf von "TechnischeDaten"
.... usw
.... bis ende der Liste.

Könnte mir jemand diese Routine" schreiben?

Liebe Grüße
Top
#2
Hallo,

versuche es mal so

Code:
Sub prcKopieren()
   Dim wksBlatt As Worksheet
   Dim lngLastRow As Long
   Dim lngC As Long
  
   Set wksBlatt = ActiveSheet
  
   With wksBlatt
      lngLastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
      For lngC = 2 To lngLastRow
         .Cells(lngC, 2).Copy .Cells(lngC, 3).Resize(, 2)
         Call TechnischeDaten
      Next lngC
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo Stefan,

das war schon einmal ein ganz große Hilfe für mich.
Allerdings werden die Einträge (in C2 +D2) nach jedem "Durchgang" eine Zeile drunter eingetragen. -- Die zwei Einträge sollen aber immer in "C2" und "D2" stattfinden.

Liebe Grüße
Top
#4
Hallo,

dann so

Code:
Sub prcKopieren()
   Dim wksBlatt As Worksheet
   Dim lngLastRow As Long
   Dim lngC As Long
  
   Set wksBlatt = ActiveSheet
  
   With wksBlatt
      lngLastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
      For lngC = 2 To lngLastRow
         .Cells(lngC, 2).Copy .Cells(2, 3).Resize(, 2)
         Call TechnischeDaten
      Next lngC
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#5
Danke Stefan!

.. als VBA-Änfänger stellt man(n) halt manchmal so simple Fragen
Danke für die Mühe!

Gruß
Top


Gehe zu:


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