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

Dynamische Zellen verwenden

Dynamische Zellen verwenden
braleta
Hallo Excel-Spezialisten,
darf ich auf Eure Hilfe hoffen?
Ich habe das folgende Problem:
In einem Blatt habe ich in den Spalten "C:D" Werte stehen, deren Zellenwerte miteinander multipliziert in die Spalte "E" gestellt werden sollen. Diese Multiplikation muss als Formel in die Zelle geschrieben werden.
Analog das Gleiche gilt für die Spaltenpaare "F:G" in H, "I:J" in K, "L:M" in N, "O:P" in Q, "R:S" in T etc, die Breite der Tabelle ist dynamisch, also nicht vorgegeben.
Das alles möchte ich in einer VBA-Loop erledigen, aber ich weiß nicht, ob ich das kann, weil ich nicht weiß, wie ich Spalten-Buchstaben über eine Variable setzen kann.
? Ich kann ein Array mit Buchstaben füllen und dieses Array dann abhängig von den Loop-Countern auslesen, aber ist das die Lösung?
In meinem Beispiel habe ich die Spalten "C" und "D" hart codiert, aber damit schreibe ich mir in alle Ergebniszellen das Ergebnis der ersten beiden Spalten, und das soll ja nicht so sein.
Frage: kann ich diese hart codierten Zell-Adressen dynamisch als Variable - oder andere Methoden - definieren?

For i = 1 To (LetzteSpalte - (Spalte - 1)) / Spalte
   Cells(ErsteZeile, (Spalte * i) + 2).Select
   For j = 0 To LetzteZeile - ErsteZeile
      If ActiveCell.Offset(j, -2) > 0 Then
         ActiveCell.Offset(j, 0) = "=C" & ErsteZeile + j & "* " & "D" & ErsteZeile + j
      End If
   Next j
Next i

Jeder Tipp ist mir willkommen
...bruno

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dynamische Zellen verwenden
11.03.2010 18:14:22
Rudi
Hallo,
das sollte so auch klappen:
For i = 1 To (LetzteSpalte - (Spalte - 1)) / Spalte
Range(Cells(ErsteZeile, Spalte * i + 2), Cells(LetzteZeile, Spalte * i + 2)).FormulaR1C1 = "=RC[-2]*RC[-1]"
Next i
Gruß
Rudi
AW: Dynamische Zellen verwenden
11.03.2010 18:24:19
braleta
Rudi,
phantastisch, danke, das ist ja Klasse und hat auf Anhieb funktioniert.
Ich würde aber auch gerne verstehen, was dieser Code bedeutet:
"=RC[-2]*RC[-1]"
Ist "RC" der Hinweis auf die Spalte? Und was heißt "RC" im Klartext"
...bruno
AW: Dynamische Zellen verwenden
11.03.2010 20:23:10
Rudi
Hallo,
RC[-2] =gleiche Zeile (Row), 2 Spalten (Column) nach links. Entspricht Z1S1-Bezügen.
Gruß
Rudi
Anzeige
AW: Dynamische Zellen verwenden
11.03.2010 23:30:40
braleta
Rudi,
danke. Im Grunde genommen ganz einfach, wenn man es weiß.
Jetzt weiß ich es.
...und immer noch eine Frage: gibt es dann auch das Äquivalent "CR" mit einem Offset nach oben und nach unten?
Jedenfalls danke!
...bruno
mit einem Offset nach oben und nach unten
12.03.2010 12:34:48
Rudi
Hallo,
sicher.
nach oben R[-1]C, nach unten R[1]C
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige