Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formeln per Macro ausführen und Ergebnisse abspeichern
#1
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?
Antworten Top
#2
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
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#3
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.
Antworten Top
#4
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
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste