Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife

Forumthread: Schleife

Schleife
25.11.2008 18:14:23
WOP
Hallo Zusammen,
ich würde gerne eine Schleife über alle Worksheets ablaufen lassen, allerdings sollte er den Wert nicht immer die gleiche Zelle schreiben Cells(I, 3) => siehe unten. Hat jemand dazu eine Idee?

For Each WS In ActiveWorkbook.Worksheets
If WS.Name  "Konsolidierung" Then
For I = 9 To 16 'Alle Aktiven Bilanzposten
WSKonsolid.Cells(I, 3).Value = Application.WorksheetFunction.VLookup(WSKonsolid.Cells(I, 1). _
_
Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 21 To 32 ' Alle Passiven Bilanzposten
WSKonsolid.Cells(I, 3).Value = Application.WorksheetFunction.VLookup(WSKonsolid.Cells(I, 1). _
_
Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 45 To 57 ' Für alle Aufwendungen
WSKonsolid.Cells(I, 3).Value = Application.WorksheetFunction.VLookup(WSKonsolid.Cells(I, 1). _
_
Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 62 To 65 ' Für alle Erträge
WSKonsolid.Cells(I, 3).Value = Application.WorksheetFunction.VLookup(WSKonsolid.Cells(I, 1). _
_
Value, WS.Range("A9:C180"), 3, False)
Next I
End If
Next WS


Vielen Dank im Voraus
WOP

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife
25.11.2008 18:30:00
fcs
Hallo WOP,
entweder du verwendest statt "3" einen Spaltenzähler der für jedes Blatt um 1 erhöht wird
oder aber du Addierst die Zellinhalte in spalte 3 für alle Tabellenblatt.
Gruß
Franz

Spalte = 2
For Each WS In ActiveWorkbook.Worksheets
If WS.Name  "Konsolidierung" Then
Spalte = Spalte + 1
For I = 9 To 16 'Alle Aktiven Bilanzposten
WSKonsolid.Cells(I, Spalte).Value = Application.WorksheetFunction.VLookup(WSKonsolid. _
Cells(I, _
1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 21 To 32 ' Alle Passiven Bilanzposten
WSKonsolid.Cells(I, Spalte).Value = Application.WorksheetFunction.VLookup(WSKonsolid. _
Cells(I, _
1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 45 To 57 ' Für alle Aufwendungen
WSKonsolid.Cells(I, Spalte).Value = Application.WorksheetFunction.VLookup(WSKonsolid. _
Cells(I, _
1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 62 To 65 ' Für alle Erträge
WSKonsolid.Cells(I, Spalte).Value = Application.WorksheetFunction.VLookup(WSKonsolid. _
Cells(I, _
1).Value, WS.Range("A9:C180"), 3, False)
Next I
End If
Next WS
'oder
Spalte = 3
For Each WS In ActiveWorkbook.Worksheets
If WS.Name  "Konsolidierung" Then
With WSKonsolid
For I = 9 To 16 'Alle Aktiven Bilanzposten
.Cells(I, Spalte).Value = .Cells(I, Spalte).Value + Application.WorksheetFunction. _
VLookup( _
.Cells(I, 1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 21 To 32 ' Alle Passiven Bilanzposten
.Cells(I, Spalte).Value = .Cells(I, Spalte).Value + Application.WorksheetFunction. _
VLookup( _
.Cells(I, 1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 45 To 57 ' Für alle Aufwendungen
.Cells(I, Spalte).Value = .Cells(I, Spalte).Value + Application.WorksheetFunction. _
VLookup( _
.Cells(I, 1).Value, WS.Range("A9:C180"), 3, False)
Next I
For I = 62 To 65 ' Für alle Erträge
.Cells(I, Spalte).Value = .Cells(I, Spalte).Value + Application.WorksheetFunction. _
VLookup( _
.Cells(I, 1).Value, WS.Range("A9:C180"), 3, False)
Next I
End If
Next WS


Anzeige
AW: Schleife
25.11.2008 19:22:57
WOP
Hat funktioniert
Danke...
;

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