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.

Über ein Makro Formel anpassen
#1
Hallo zusammen,


Was allgemeine Formeln angeht in Excel komme ich ganz gut zurecht, allerdings bin ich ein totaler Noob was VBA/Makro programierung angeht.
Deswegen hoffe ich, dass ihr mir helfen könnt.

Folgende Ausgangssituation:
Ich habe eine Excel Tabelle mit 6 Reitern. Tabelle1, Woche 1, Woche 2, Woche 3, Woche 4, Woche 5

In Tabelle1 ein habe ich einen Plan der über mehrere Spalten geht.

In Zelle B7 ist folgende Formel hinterlegt: ='Woche 1'!A103
In Zelle B8: ='Woche 1'!$A$109
usw. bis Zelle B24: ='Woche 1'!$A$153

In Zelle D7 ist folgende Formel hinterlegt: ='Woche 2'!A103
In Zelle D8: ='Woche 2'!$A$109
usw. bis Zelle D24: ='Woche 2'!$A$157

Das Prinzip geht weiter bis Spalte J.
Zur Info für euch noch (falls das hilfreich ist): Die Zellen B15-B17 sind miteinander verbunden, also nur eine Zelle.
Ebenfalls die Zellen B/C7, D/E7, F/E7, H/I7 und J/K7.


In den Tabellenreitern Woche 1 ... Woche 5 greife ich mir über eine Datenabfrage aus dem Internet bestimmte Daten ab, die dann eben in "Tabelle1" auftauchen sollen.
Jetzt kann es hin und wieder passieren, dass aufgrund eines geänderten Layouts die Zeilen die ich in Tabelle1 mit den jeweiligen Wochen veknüpft habe jeweils um eine Zeile nach unten oder 1 Zeile nach oben rutschen. Dies würde dann aber auf alle 5 Wochen gleichermaßen zutreffen.
Deswegen folgende Frage:
Ist es möglich über ein Steuerelement die Formel 'Woche 1'!A103 auf 'Woche 1'!A104 zu ändern? Und das durchgehend für alle Formeln in Tabelle1?

Das heißt wenn ich auf das Steuereelement (natürlich mit dem richtigen Makro zugewiesen) klicke, alle Formeln sich jeweils auf eine Zeile weiter runter beziehen?
Das ganze würde ich dann halt auch mit einem 2. Makro machen wollen, nur halt in die umgekehrte Richtung.

Hoffe ich habe mich einigermaßen verständlich ausgedrückt.
Antworten Top
#2
Hallöchen,

ja, das sollte gehen. Für so ein Makro nutzt Du dann einfach die Zahl des Steuerelementes und setzt die Formel neu.

Hier mal ein aufgezeichneter Code für die Formel:
Code:
Sub Makro4()
'
' Makro4 Makro
'

'
    ActiveCell.FormulaR1C1 = "=R2C2"
    Range("A3").Select
End Sub

Hinweis: die Formel habe ich mit F4 erzeugt (Absolut, =$B$2), das geht bei Bedarf natürlich auch relativ.

gekürzt:

Code:
Sub Makro4()
    ActiveCell.FormulaR1C1 = "=R2C2"
End Sub

Statt ActiveCell dann Dein Formelbereich.

Wenn die gewünschte Woche z.B. in A1 steht - per LinkedCell vom Drehfeld zu ändern - dann könnte der Code so aussehen:

Code:
Sub Makro4()
    ActiveCell.FormulaR1C1 = "=R" & Cells(1, 1).Value & "C2"
End Sub

Man kann natürlich auch mit den richtigen Adressen arbeiten:
ActiveCell.Formula = "=B & Cells(1, 1).Value

Wenn das absolut werden soll, muss man dann die $ noch mit rein nehmen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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