Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
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

Tabellenblätter durchlaufen und rechnen

Tabellenblätter durchlaufen und rechnen
Jockel
Hi,
bräuchte mal wieder Eure Hilfe:
Ich habe eine Arbeitsmappe, in der habe ich verschiedene Blätter. Die Mappe ist so aufgebaut:
Blatt1: Deckblatt
Blatt2: Summenblatt
Blatt3: leeres Trennblatt ("START")
Blatt4: Vorgang1
Blatt5: Vorgang2
Blatt6: Vorgang3
Blatt7: leeres Trennblatt ("STOP")
Blatt8: Vorgang4
Nun wurden auf dem Summenblatt immer verschidenen Summen aus den verschiedenen Vorgängen gebildet. Aber immer nur aus denen, die sich zwischen den Beiden Trenblättern "START" und "STOP" befunden haben.
Soweit so gut.
Nun will ich folgendes per Makro machen:
Auf den Blättern mit den VORGÄNGEN gibt es einen Range (Spalte C bis Spalte L, und ab Zeile 10 bis Zeile 30)
Darin befinden sich Daten drin.
Auf jedem Blatt befindet sich in der Zelle D40 ein Faktor drin, mit diesem soll ab Spalte C, ab Zeile 10 bis Spalte L und Zeile 30, die Zahlen multipliziert werden. (Also alle Werte, die sich im oben genanten Range befinden und nicht leer sind)
Das mit dem Rechnen dürfte per Makro wahrscheinlich kein Problem sein. Wie schafft man es aber per Makro zu programmieren, dass das Makro NUR alle Blätter durchläuft, die sich zwischen den Trenblättern START und STOP befindet und da im Range alle Werte multipliziert.
Das mit den Trennblättern ist deswegen, weil sich die Voränge täglich ändern könnten und täglich würde die Blätter anders heissen. Heisst , ich müsste jedes mal das Makro anpassen.
vielleicht hat da jemand eine idee dazu.
Danke schon mal und ein geruhsames Wochenende
Jockel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblätter durchlaufen und rechnen
13.08.2011 11:19:12
Josef

Hallo Jockel,
warum berechnest du nicht einfach auf jedem Blatt mit der Formel z. B. in A1
"{=SUMME(C10:C30*D40)}" (Matrixformel!)
die Einzelsumme und zur Auswertung verwendest du dann eine einfache 3D-Formel.
"=SUMME(Start:Stop!A1)"
dammit wird in allen Blätter zwischen "Start" und "Stop" A1 summiert.

« Gruß Sepp »

Anzeige
AW: Tabellenblätter durchlaufen und rechnen
13.08.2011 12:56:02
Jockel
Hallo Sepp
Danke. Ich bin mir aber nicht sicher, ob da das raus kommt, was ich brauche.
Ich möchte nicht nur Gesamtsummen haben, sondern die Zahlen , die es in den Vogängen gibt (Also, in dem Range, den ich beschrieben habe) sollen neu berechnet werden (mit dem Faktor D40).
Dort sollen also neue Zahlen drin stehen, das bekomme ich aber mit dieser Matrixformel nicht hin oder. Darum dachte ich an ein Makro, das die alten daten neu berechnet.
Das mit dem Summenblatt würde so, wie du geschrieben hast, funktionieren.
Gruß
Jockel
AW: Tabellenblätter durchlaufen und rechnen
13.08.2011 16:24:31
Josef

Hallo Jockel,
das hab ich anders verstanden.
Die Tabellen zwischen "Start" und "Stop" kannst du so "abklappern".

Dim lngIndex As Long, lngRow As Long
With ThisWorkbook
For lngIndex = .Sheets("Start").Index + 1 To .Sheets("Stop").Index - 1
.With .Sheets(lngIndex)
For lngRow = 10 To 30
If .Cells(lngRow, 3)"" And IsNumeric()) Then
.Cells(lngRow, 3) = .Cells(lngRow, 3) * .Range("D40")
End If
Next
End With
Next
End With
« Gruß Sepp »

Anzeige
AW: Tabellenblätter durchlaufen und rechnen
13.08.2011 16:40:22
Gerd
Hallo Sepp,
ich tippe auf
... And IsNumeric(.Range("D40").Text) Then
Gruß Gerd
Danke Gerd, man(n) sollte halt ...
13.08.2011 16:53:34
Josef

... doch nicht in der Antwortmaske Coden;-))

« Gruß Sepp »

Kommt Fehler..
13.08.2011 21:54:16
Jockel
Hallo Sepp,
Ja Danke, wenn ich Dein Code so anschaue, müsste es das sein, was ich meine.
Bei mir kommt aber eine Fehlermeldung, wenn ich den Code ausführe.
End with ohne with
Mach ich das End with raus kommen andere meldungen.
Funktioniert das Beispiel bei dir ?
Ich habe es in einem Modul wie direkt in Workbook versucht.
Vielleicht kanst DU noch mal drauf schauen.
Danke
Jockel
Anzeige
AW: Kommt Fehler..
13.08.2011 22:29:23
mpb
Hallo Jockel,
mache mal den Punkt vor dem einen with raus.
Gruß
Martin
Ah Danke, passt .... owT
13.08.2011 23:13:30
Jockel
AW: Ohne Schleife
13.08.2011 22:47:47
mpb
Hallo Jockel,
so sollte es ohne Schleife gehen, sofern in C10:L30 keine Formeln, sondern Werte stehen:
Sub Multiplizieren()
With ThisWorkbook
For lngIndex = .Sheets("Start").Index + 1 To .Sheets("Stop").Index - 1
With .Sheets(lngIndex)
.Range("D40").Copy
.Range("C10:L30").SpecialCells(xlCellTypeConstants, 23).PasteSpecial Paste:= _
xlPasteValues, Operation:=xlMultiply
End With
Next
End With
End Sub
Gruß
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige