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

Schleife VBA

Schleife VBA
11.11.2016 12:15:42
Christof
Guten Morgen zusammen,
ich versuche gerade mal wieder, meine Kenntnisse zu erweitern und das Rad neu zu erfinden ;)
Ich habe folgendes Problem:
In der angefügten Beispieldatei wird eine Berechnung ausgeführt, die eine Summe bildet und in die aktivierte Zelle schreibt.
Der Wert, welcher in der aktivierten Zelle steht, wird nun in eine definierte Zelle geschrieben.
Bitte beachtete, dass der Summenbereich sicher auch vereinfacht dargestellt werden kann, es ist hier jedoch nur ein Beispiel, welches den Zusammenhang darstellen soll.
Gleiches gilt für die Schaltfläche, die nur das Makro starten soll.
Nun meine Frage:
Wie kann ich das ganze so umsetzen (Schleife), dass ein definierter Bereich (hier K4 bis K32) berechnet wird und die Datenübernahme für den Bereich (C5 bis C 33) erfolgt.
Vielen Dank für eure Hilfe,
viele Grüße
Christof
https://www.herber.de/bbs/user/109341.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife VBA
11.11.2016 18:32:26
AlterDresdner
Hallo Christof,
ich weiß zwar nicht genau, was Du genau willst, aber beim Raderfinden bin ich gern dabei:
Sub Makro2()
Dim zeile
Const Zeile1 = 4 'erste zeile
For zeile = Zeile1 To Cells(Rows.Count, 3).End(xlUp).Row
Cells(zeile, 11).FormulaR1C1 = _
"=IF(RC[-8]>10,RC[-2]+RC[-3]+RC[-4]+RC[-5]+RC[-6]+RC[-7]+RC[-8],""Schade"")"
Cells(zeile, 1).FormulaR1C1 = "=IF(R[-1]C[8]=""schade"",""NIX"",R[-1]C[8])"
Next zeile
End Sub

Gruß der AlteDresdner
AW: Schleife VBA
11.11.2016 20:47:13
Christof
Hallo AlterDresdner,
vielen Dank für den ersten Ansatz, nur muss das ganze wohl noch angepasst werden.
Ich versuche immer, meine Gedanken in Worte zu fassen, was wohl nicht immer ganz eindeutig ist.
Ich möchte , dass in Zelle K4, beim ausführen des Makros, die Summe der Zellen C4:I4 bzw. die Formel, welche dargestellt ist, ausgeführt wird, dann soll der Wert von K4 in Zelle C5 geschrieben werden und in K5 das Ergebnis der Formel (hier wieder Summe C5:I5) geschrieben werden.
Ich weiß nicht, ob meine Gedanken mir hier nicht irgendwie einen Streich spielen..
Dein Ansatz schreibt die Werte der Spalte I um eine Zeile versetzt in Spalte A.
Gruß Christof
Anzeige
AW: Schleife VBA
11.11.2016 22:40:59
AlterDresdner
Hallo Christof,
ich hoffe, dies entspricht Deinen Gedanken:
Sub Makro2()
Dim zeile As Long, sum As Long, zend As Long
Const Zeile1 = 4 'erste zeile
zend = Cells(Rows.Count, 3).End(xlUp).Row 'letzte zu bearbeitende Zeile
For zeile = Zeile1 To zend
Cells(zeile, 11) = WorksheetFunction.sum(Range(Cells(zeile, 3), Cells(zeile, 9)))
'Eintragen  Summe C...I in K in zeile
If zeile 

Frage: Wozu stehen dann Werte in C5...? Die werden überschrieben.
Gruß der AlteDresdner
AW: Schleife VBA
11.11.2016 22:57:36
Christof
Hallo AlterDresdner,
Ich danke Dir für deine Mühe.
Du hast Recht, c5 und folgende sind überflüssig,
habe es beim erstellen nicht bedacht.
Ich teste den Code morgen Vormittag und werde Dir umgehend Rückmeldung geben.
Wünsche dir eine gute Nacht.
Gruß Christof
Anzeige
AW: Schleife VBA
12.11.2016 09:25:05
Christof
Guten Morgen AlterDresdner,
die Übernahme klappt genau wie ich es wollte,
aber ich wollte eine Formel nutzen, nicht die Summe berechnen.
Kurz eine Erklärung dazu:
eine komplexe Formel soll in die aktivierte Zelle geschrieben werden und entsprechend berechnet werden.
das Ergebnis soll dann in (Beispiel) C5 geschrieben werden (wird auch mit Deinem Code gemacht)
Es soll also eine Schleife erstellt werden, die a) die Formel in K schreibt und b) wenn in K eine Berechnung erfolgte, den Wert in C schreibt.
Vielen Dank für deine Geduld.
Gruß Christof
AW: Schleife VBA
12.11.2016 09:25:06
Christof
Guten Morgen AlterDresdner,
die Übernahme klappt genau wie ich es wollte,
aber ich wollte eine Formel nutzen, nicht die Summe berechnen.
Kurz eine Erklärung dazu:
eine komplexe Formel soll in die aktivierte Zelle geschrieben werden und entsprechend berechnet werden.
das Ergebnis soll dann in (Beispiel) C5 geschrieben werden (wird auch mit Deinem Code gemacht)
Es soll also eine Schleife erstellt werden, die a) die Formel in K schreibt und b) wenn in K eine Berechnung erfolgte, den Wert in C schreibt.
Vielen Dank für deine Geduld.
Gruß Christof
Anzeige
AW: Schleife VBA
12.11.2016 09:25:07
Christof
Guten Morgen AlterDresdner,
die Übernahme klappt genau wie ich es wollte,
aber ich wollte eine Formel nutzen, nicht die Summe berechnen.
Kurz eine Erklärung dazu:
eine komplexe Formel soll in die aktivierte Zelle geschrieben werden und entsprechend berechnet werden.
das Ergebnis soll dann in (Beispiel) C5 geschrieben werden (wird auch mit Deinem Code gemacht)
Es soll also eine Schleife erstellt werden, die a) die Formel in K schreibt und b) wenn in K eine Berechnung erfolgte, den Wert in C schreibt.
Vielen Dank für deine Geduld.
Gruß Christof
AW: Schleife VBA
12.11.2016 12:45:57
AlterDresdner
Hallo Thomas,
eine Lösung gibt es im File https://www.herber.de/bbs/user/109373.xlsm
Da ich nicht ahne, wozu das Ganze, habe ich in Tabelle1 (2) im File eine Lösung ganz ohne Makro als Anregung hingeschrieben.
Gruß der AlteDresdner
Anzeige
AW: Schleife VBA
12.11.2016 16:41:15
Christof
Hallo AlterDresdner,
vielen Dank für die Hilfe,
es klappt soweit.
Es geht um folgendes:
Sagen wir mal, in C bis I stehen Kilometer und Meterangaben,
die Längenberechnung erfolgt dann in K
Das Ergebnis der Berechnung K ist dann der neue Startwert für C und so weiter.
Vielen Dank für die gute und nette Beistellung Deines Fachwissens.
Mir geht es in erster Linie auch darum, komische Ideen umzusetzen...und davon habe ich noch so ein paar im Kopf ;)
Gruß aus dem Pott von Thomas aka Christof ;)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige