Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

For...Next verschachtelt

Forumthread: 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
Anzeige

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
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige