Clever-Excel-Forum

Normale Version: Formeln per Macro ausführen und Ergebnisse abspeichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!
Ich habe ca. 100 Formeln. Jede Formel soll in einem eigenen Tab ausgeführt werden, die Ergebnisse der Berechnung sollen als Extra-Datei abgespeichert werden
Wie mache ich das am besten?
Hallo,

auf Grund der Fülle an Informationen:
würde ich Tabellenblätter einfügen mit welcher Bezeichnung auch immer -> Formel wo auch immer diese steht einfügen, in welche Zelle auch immer -> die Mappe unter irgendeinem Namen in irgendeinem Verzeichnis speichern und gg. die Berechnungen durch deren Werte ersetzen wo auch immer die Formel stehen.

lg
Chris
Genau, das habe ich bereits hinbekommen. Das einzige, was mir gerade fehlt, ist: wie gebe ich im Macro eine Art von Loop ein, dass ich nicht jede Zeile nacheinander angeben muss, woher die Formel zu nehmen ist, sondern dass Macro selbst die Zellen von A1 bis A100 selbständig abarbeitet. Dasselbe will ich mit der Benennung der Ergebnis-Dateien anstellen, so dass das Macro sie selbständig von 1 bis 100.csv benennt.

Bei mir läuft das Macro aktuell so ab:
Code:
Range("A1").Select
   Selection.Copy
   Workbooks.Add
   ActiveSheet.Paste
   Application.CutCopyMode = False
   ActiveCell.FormulaR1C1 = _
       "=Dump(Connector(meine Formel))"
   Range("A1").Select
   Selection.CurrentRegion.Select
   Selection.Copy
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Application.CutCopyMode = False
   ActiveWorkbook.SaveAs Filename:="Z:\1.csv" _
       , FileFormat:=xlCSV, CreateBackup:=False
   ActiveWorkbook.Save
   ActiveWindow.Close

Dann kommt dasselbe, aus A2, als Range("A1").Select usw.

Ich brauche praktisch, dass anstelle von A1 in der Zeile 8, und anstelle von 1 in Z:\1.csv eine Schleife, die mit jeder Iteration den Wert um 1 erhöht.
Hi,

das ist eine Schleife

z.B
Code:
Sub testme()
for i = 1 to 100 'statt 100 würde ich die letzte Zeile ermitteln mit -> cells(rows.Count,1).end(xlup).row
msgbox cells(i,1).value 'gibt den Wert aus A1 bis Axx aus
msgbox i ' zeigt an welchen Wert i gerade hat
msgbox i & ".csv" 'gibt 1.csv bis xx.csv aus
next
end Sub