Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
240to244
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
240to244
240to244
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array und For-Schleife

Array und For-Schleife
09.04.2003 10:40:00
Christian
Hi,

ich möchte am Ende einer Tabelle mehrere Formel automatisch eintragen lasse. Die Formeln müssen in 7 Spalten Eingetragen werden, damit ich nicht für alle 7 Spalten die Prozedur einzeln aufschreiben muß, habe ich mir gedacht, ich könne es mit einer Kombination aus Array und einer For-Schleife.
Dazu meine Fragen: 1. Geht das denn überhaupt so???
2. Wenn ja, wie müsste ich die Spalte ( x(j)) in die Formel integrieren. Meinen ersten Gedanken habe ich in der Zeile Nachlass geschrieben. Die anderen Zeilen sind noch im original Zustand (einzel Zuweisung der Spalten).

Mein Code

Sub ZusammenRechnen(LZ) 'Trägt die Formeln zum Gliedern der Endsumme (Nachlass, MwSt, Skonto usw.) ein. LZ wird dem Makro übergeben und stellt die letzte Zeile dar.
Dim x
Dim j

x = Array(G, I, Q, S, U, W, Y)
j = 1
For j = 1 To 7
Range(Cstr(x(j)) & CStr(1 + LZ)).Select
Selection.Formula = "=-$F$" & (1 + LZ) & "*" & cstr (x(j)) & LZ 'Nachlass
Range("G" & CStr(2 + LZ)).Select
Selection.Formula = "=G" & (LZ) & "+G" & 1 + LZ 'netto gesamt abzgl. Nachlass
Range("G" & CStr(3 + LZ)).Select
Selection.Formula = "=G" & (2 + LZ) & "*0,16" 'MwSt
Range("G" & CStr(4 + LZ)).Select
Selection.Formula = "=G" & (2 + LZ) & "+G" & 3 + LZ 'brutto Gesamt
Range("G" & CStr(6 + LZ)).Select
Selection.Formula = "=-$F$" & (6 + LZ) & "*G" & 4 + LZ 'Skonto
Range("G" & CStr(7 + LZ)).Select
Selection.Formula = "=G" & (4 + LZ) & "+G" & 6 + LZ 'brutto Gesamt abzgl. Skonto
Next j

End Sub



4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Array und For-Schleife
09.04.2003 12:14:51
Hans W. Hofmann

Du hast da mehrere Denkfehler:

1. Array() beginnt mit 0 und muß für Deinen Zweck Text beinhalten.

2. Bevor ich eine Scheife (die eigentlich bei 0 beginnen müsste)für einen Bereich programmiere belege ich den Bereich direkt
RANGE("G"&LZ&":Y&"LZ").Formula = ....
und lasse vorallem das Selectieren bleiben.

3. Bevor ich mühsam die letzte Zeile einer Tabelle suche und beformele. Dreh ich die Aufgabenstellung rum und lege die Formeln in den Kopfbereich. Da sieht man dann auch gleich das Ergebnis, ohne erst lange scrollen zu müssen und die Ergebnisse stehen immer an der gleichen Stelle. Falls sie mal weiter verarbeitet werden müssen.

Gruß HW


Anzeige
Re: Array und For-Schleife
09.04.2003 12:44:53
Christian

Hallo Hans

danke für die kleinen Hinweise. Ich glaube ich versuch es mal so herum, wobei die Letzte Zeile zu ermitteln, nicht gerade mühsam ist.

Danke

Christian

Re: Array und For-Schleife
09.04.2003 13:24:50
Hans W. Hofmann

Das Ermitteln nicht, aber das Erstellen der Formeln.
Ach nochwas.
Es macht natürlich keinen Sinn in einer Schleife immer wieder die gleichen Zellen zu belegen:
Range("G" & CStr(2 + LZ))....
und folgende

Gruß HW

Re: Array und For-Schleife
09.04.2003 13:32:06
Christian

Jooo Hans,

da hast Du recht, aber wenn Du meine Anfrage richtig gelesen hättest, dann wäre Dir klar, dass
Range("G" & CStr(2 + LZ))....
die einzel Zuweisung für G ist und dass ich die Schleifenform nur einmal Exemplarisch (weil ich mir ja nicht sicher war)für die Zeile Nachlass aufgeschrieben habe.

Ciao

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige