Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

For...Next verschachtelt

For...Next verschachtelt
12.04.2021 15:46:33
Andl
Hallo Zusammen,
ich stehe vor folgende Herausforderung:
Ich habe in Spalte C und D ab Zeile 50 jeweils eine Alphanumerische Benahmung:
A (Gesamt)
A (Gesamt) 2XX
A (Gesamt) ABC Holding
B (Gesamt) ABC Holding
B (Gesamt) ABC alt
B (Gesamt) Beteiligungen (ABC
usw.
Nun möchte ich diese mit einer For..next-Schleife jeweils in Zelle A1 (Spalte C) bzw. B1 (Spalte D) einsetzen usw.
Sub ReportingDruckGes()
Dim ReportingEbene1 As String
Dim ReportingEbene2 As String
With Tabelle1
'Ablauf Reporting (KLM)
For ReportingEbene1 = 50 To .Cells(.Rows.Count, 3).End(xlUp).Row
For ReportingEbene2 = 50 To .Cells(.Rows.Count, 4).End(xlUp).Row
.Range("A1") = .Cells(ReportingEbene1, 1)
.Range("B1") = .Cells(ReportingEbene2, 1)
Tabelle8.PrintOut Copies:=1
Next ReportingEbene1
Next ReprotingEbene2
End With
'MsgBox "Die Monatsreportings wurden erfolgreich gedruckt!", , "Druckausgabe"
End Sub

Was mach ich hier falsch bzw. gibt es eine einfache Umsetzung?
Vielen Dank.
Beste Grüße
Andl

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For...Next verschachtelt
12.04.2021 16:28:43
Piet
Hallo Andi
es ist nicht gut zwei Schleifen so zu verschachteln, das dauert sehr lange. Die führt man getrennt aus, jede für sich!!
Sonst wartet die 1. Schleife bis die 2. komplett durch ist und überschreibt jedesmal die Zellen wieder mit alten Werten!
Ausserdem kopierst du alles in nur Zelle "A1" und "B1", wechselst den Range nie. Was soll dabei bitte herauskommen?
Probier bitte mal meinen Code aus, ohne Garantie das er so richtig ist.
mfg Piet
  • 
    Sub ReportingDruckGes()
    Dim ReportingEbene1 As String, z1 As Long
    Dim ReportingEbene2 As String
    With Tabelle1
    'Ablauf Reporting (KLM)
    z1 = 1  '1.Zeile zum auflisten
    For ReportingEbene1 = 50 To .Cells(.Rows.Count, 3).End(xlUp).Row
    .Cells(z1, "A") = .Cells(ReportingEbene1, 1)
    z1 = z1 + 1
    Next ReportingEbene1
    z1 = 1  '1.Zeile zum auflisten
    For ReportingEbene2 = 50 To .Cells(.Rows.Count, 4).End(xlUp).Row
    .Cells(z1, "B") = .Cells(ReportingEbene2, 1)
    z1 = z1 + 1
    Next ReprotingEbene2
    Tabelle8.PrintOut Copies:=1
    End With
    'MsgBox "Die Monatsreportings wurden erfolgreich gedruckt!", , "Druckausgabe"
    End Sub
    


  • Anzeige
    AW: For...Next verschachtelt
    12.04.2021 17:31:16
    Andl
    Hallo Piet,
    vielen Dank für deine Antwort - aber leider nein - (Typen unverträglich).
    Wichtig ist immer die Kombination aus zelle "A1" und "A2".
    Beste Grüße
    AndL
    AW: For...Next verschachtelt
    12.04.2021 18:10:47
    onur
    "Typen unverträglich" ? Kein Wunder, wenn du die Laufvariablen der For-Next-Schleifen als STRING deklarierst.
    Versuch das (wenn ich richtig verstanden habe, was du überhaupt erreichen willst):
    Sub ReportingDruckGes()
    Dim i, lz3, lz4
    With Tabelle1
    'Ablauf Reporting (KLM)
    lz3 = .Cells(.Rows.Count, 3).End(xlUp).Row
    lz4 = .Cells(.Rows.Count, 4).End(xlUp).Row
    For i = 50 To WorksheetFunction.Max(lz3, lz4)
    .Range("A1") = .Cells(i, 3)
    .Range("B1") = .Cells(i, 4)
    Tabelle8.PrintOut Copies:=1
    Next i
    End With
    'MsgBox "Die Monatsreportings wurden erfolgreich gedruckt!", , "Druckausgabe"
    End Sub
    

    Anzeige
    AW: For...Next verschachtelt
    14.04.2021 12:56:07
    Andl
    Hallo Onur,
    vielen Dank dir! Genau wie ich es gebraucht habe. sehr einfach...
    Beste Grüße
    Andl

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige