Microsoft Excel

Herbers Excel/VBA-Archiv

Makroanwendung bei variabler Blattanzahl

Betrifft: Makroanwendung bei variabler Blattanzahl von: Hanno
Geschrieben am: 26.08.2004 10:53:17

Hallo Leute,

Also ich habe ein Makro. Dieses Makro durchsucht in einem Blatt die Spalte A.

Dann legt es für jede Variable in dieser Spalte ein neues Blatt an und kopiert all die Zeilen aus dem Ursprungsblatt, die diese Variable in Spalte A besitzen in das dazugehörige Blatt.

Dazu hier zwei Bilder: Vorher und nachher

https://www.herber.de/bbs/user/10133.doc

Jetzt bräuchte ich einen Tipp, wie ich dieses Makro:

Sub StDev()

Sheets("Ergebnis").[C5] = WorksheetFunction.StDev(Sheets("Daten").Range("C5:C12"))
Sheets("Ergebnis").[D5] = WorksheetFunction.StDev(Sheets("Daten").Range("D5:D12"))
Sheets("Ergebnis").[C6] = WorksheetFunction.StDev(Sheets("Daten").Range("C13:C20"))

End Sub


Sub Avg()

Sheets("Ergebnis").[C9] = WorksheetFunction.Average(Sheets("Daten").Range("C5:C12"))
Sheets("Ergebnis").[D9] = WorksheetFunction.Average(Sheets("Daten").Range("D5:D12"))
Sheets("Ergebnis").[C10] = WorksheetFunction.Average(Sheets("Daten").Range("C13:C20"))

End Sub



so abänderen kann, dass es sich statt nur auf das Blatt "Daten" auf alle neu angelegten Blätter bezieht und dann die Ergebnisse pro Blatt untereinander in das Blatt "Ergebnisse" schreibt.

Vielen Dank für Eure Hilfe!

Gruss,

Hanno
  


Betrifft: AW: Makroanwendung bei variabler Blattanzahl von: nighty
Geschrieben am: 28.08.2004 14:59:48

hi Hanno :)

ein modul nur als beispiel ein wenig umgebaut :)

gruss nighty

Sub StDev()
Dim tabAlle As Integer
Rem gibt die anzahl sheets zurueck
Rem tabAnz=Sheets.Count
Rem statt der 5 der fornextschleife koennte man obiges beispiel auch einsetzen
For tabAlle = 1 To 5
Rem Sheets(tabAlle).[C5] ,tabAlle ist der durchlaufswert(1 bis 5 tabellen)
Rem WorksheetFunction.StDev(Sheets(6).Range("C5:C12")).hier hattest du eine andere tabelle angegeben
Rem daher als beispiel tabelle 6 festangegeben,die fornextschleife geht ja nur bis 5
Sheets(tabAlle).[C5] = WorksheetFunction.StDev(Sheets(6).Range("C5:C12"))
Sheets(tabAlle).[D5] = WorksheetFunction.StDev(Sheets(6).Range("D5:D12"))
Sheets(tabAlle).[C6] = WorksheetFunction.StDev(Sheets(6).Range("C13:C20"))
Next tabAlle
End Sub



  


Betrifft: AW: Makroanwendung bei variabler Blattanzahl von: Hanno
Geschrieben am: 30.08.2004 13:14:49

Hallo nighty,

danke für die Hilfe.

Ist es jetzt so, dass das makro maximal 5 neue Blätter erkennt und bearbeitet? Oder was bedeutet die Zählung 1 to 5?

Danke,

Hanno