$M$2:$M$20000)*(Ausschuss! $O$2:$O$20000=$A58)*(Ausschu ss! $J$2:$J$20000=B$52)*(MONAT(Ausschuss! $Y$2:$Y$20000)=MONAT($A$51))*(JAHR(Aussc huss! $Y$2:$Y$20000)=JAHR($A$51))) Beispiel3 {=SUMME((WENN(Ausschuss! $D$2:$D$20000<>"";1/ZÄHLENWENN(Ausschuss! $D$2:$D$20000;Ausschuss! $D$2:$D$20000)))*(Ausschuss! $J$2:$J $20000=B$52)*(MONAT(Ausschuss! Excel-Formel per VBA in eine Zelle schreiben? (Computer). $Y$2:$Y$20000)=MONAT($A$51))*(JAHR(Ausschuss! $Y$2: $Y$20000)=JAHR($A$51)))} Diese kann ich alle problemlos per Makrorecorder in VBA-Code überführen; beim erneuten reinschreiben der Formeln wird auch alles korrekt ausgeführt. Wie du siehst sind nich alle Zellbezüge fixiert, dh ich will die Formel "rüber- bzw. runterziehen"; das Formelnziehen habe ich in VBA bisher immer mit einer Forschleife gelöst. also z. B. Sub Beispiel1 for i=1 to 8 Cells(i, 82). formular1c1 = "=r80c" & i+1 & "/r81c" & i+1 next end sub Ich will aber nicht die Formel sondern nur den einmalig damit errechneten Wert in meine Zellen einfügen. Wie die Formeln aussehen habe ich jetzt glaube ich geschildert; und Mein Problem ist dass ich einmal per Knopfdruck die Berechnung anstoßen will (=Makrobutton), und dann sollen alle Formeln entsprechend der obigen Beispiele gerechnet werden, damit die Tabelle aber übersichtlich und für weitere Verwendung handhabbar bleibt, dürfen in den Zellen keine Formeln sondern nur Werte stehen.
Über alle Formeln laufe ich mit 2For-Schleifen für Zeile(i) und Spalte(j), daher fällt mir die varialbe Spaltenangabe bei A1-Schreibweise schwer. Bin auf euere Vorschläge schon sehr gespannt. Gruß euer Neuling 25. 2013, 16:55 # 2 MOF Meister Registrierung: 21. 10. Collatz Reihe in Excel mithile von VBA. 2008 Hallo Neuling, Mein immer wieder gerne gegebener Tipp: Das Hochladen einer Beispieldatei, gerne auch mit reduzierten und anonymisierten Daten, in der das Problem und das gewünschte Ergebnis dargestellt werden, erhöht die Aussicht auf eine hilfreiche Antwort ungemein. __________________ Gruß Hasso Programmers don't die, they just GOSUB without RETURN System Windows 10 Home 64 Bit, Office 2016 Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten) 25. 2013, 17:21 # 3 Mit einer Beispieldatei kann ich im Moment nicht dienen. Ich kann aktuell nur versuchen das Problem genauer zu beschreiben: also ich habe viele verschieden komplexe Formeln und Arrayformeln: Beispiel1 =B$80/B$81 Beispiel2 =SUMMENPRODUKT((Ausschuss!
Da kannst du genau so gut morgen im Bus kurz bei deinen Kumpels abschreiben oder auf die Erklärung des Lehrers warten (Nachdem du es vorher zumindest selbst versucht hast). Folgendes sollte dir allerdings weiter helfen fall noch nicht bekannt: 1. Im VBA-Editor kannst du druch doppelklick auf die graue Leiste Haltepunkte setzen. Die Ausführung wird an dieser Stelle angehalten, und du kannst dir die Werte in unterschiedlichen Variablen ansehen. Durch Druck auf die Playtaste geht's dann wieder weiter. Excel vba wert aus textbox in zelle schreiben. 2. Bei Rechtsklick auf eine Variable findest du im Kontexmenü den Eintrag "Überwachung hinzufügen". Der Wert der Variable ist dann während der Ausführung in einem separaten Fenster sichtbar. von Messageboxen Msgbox "Hallo Welt! " 'Ausgabe von "Hallo Welt! " in Popup Msgbox test 'Ausgabe des Wertes der Variable test in Popup 4. Wenn du über das Menü Ansicht das Direktfenster einblendest kannst du dir dort mit Werte anzeigen lassen und sie danach analysieren: Sub test() Dim i For i = 0 To 10 i Next Viel Erfolg!
2009, 13:04 # 3 MOF Koryphäe Registrierung: 24. 01. 2006 Hallo Michael, geht es Dir nicht schnell genug? --> Möglicherweise ist Deine Anfrage zu ungenau formuliert. Gruß Edgar Ich weiß, daß ich nichts weiß! 20. 2009, 13:05 # 4 Registrierung: 13. 11. 2006 (520, cells(, 1)(xlup)) Hey, Das kannst Du so lösen: Cells((520, cells(, 1)(xlup)), 1)=xy Der Wert der Variablen xy wird in die nächste freie Zeile der Spalte A eingetragen wobei die Zeilen 1:520 nicht berücksichtigt werden. Falls es nicht Spalte A, sondern z. Excel2007 - VBA Wert mit einer Formel berechnen und in Zelle schreiben - MS-Office-Forum. B. Spalte E sein sollte, dann musst Du die Funktion an 2 Stellen anpassen: Cells((520, cells(, 5)(xlup)), 5)=xy Gruß, NoNet
PS: Ein kurzes Feedback auf Antworten von Helfenden halte ich immer für angebracht - der Helfende freut sich darüber! Übrigens: Hilfreiche und positive Beiträge kann man auch bewerten |