Registriert seit: 07.09.2017
Version(en): Microsoft 365
Hallo zusammen,
folgende Problematik:
Code:
Sheets("Zwischenplan").Range("B5").FormulaR1C1 = "='Woche 1'!R107C1"
Das ist ein Teil meines aktuellen Codes.
Der Zellbezug der Formel kann sich aber aufgrund der Tabelle ändern, das heißt aus Woche 1'!R10
7C1 soll dann zum Beispiel Woche 1'!R10
9C1 werden.
Über einen anderen Codeschnipsel kann ich den Wert (nennen wir diesen Wert "Abweichung") ermitteln, um welchen sich der Zellbezug ändern soll.
Ist es nun möglich, einfach zu sagen, dass die Formel sich um diesen Wert "Abweichung" ändern soll? Also sowas wie: Woche 1'!R107C1 minus Abweichung?
"Abweichung" kann positiv oder negativ sein, aber das ist wahrscheinlich das geringste Problem.
Registriert seit: 27.06.2016
Version(en): 7
Hallo,
so klappts:
Dim intReihe As Integer
intReihe = 15
Range("B3") = "=Tabelle1!R" & intReihe & "C3"
Gruß Günter
Registriert seit: 07.09.2017
Version(en): Microsoft 365
13.10.2017, 12:59
(Dieser Beitrag wurde zuletzt bearbeitet: 13.10.2017, 12:59 von DeLaGhetto.)
Code:
Sub TEST()
Dim Zeile1 As Long
Dim Zeile2 As Long
Dim Abstand As Long
Zeile1 = 1
Zeile2 = Columns(1).Find(what:=Worksheets("Namen").Range("S1"), after:=Cells(Zeile1, 1)).Row
Abstand = Zeile2 - Zeile1 - 107
Worksheets("Woche 1").Range("B4") = "='Woche 1'!R" & Abstand & "C1"
End Sub
Mit diesem Code funktioniert es theoretisch, allerdings wollte ich ja, dass mir Excel di bestehende Formel durch einen Wert dazu addiert. Dieser Code ersetzt einfach ein Teil der Formel...
Ich möchte, dass aus:
Zitat: Woche 1'!R107C1
durch dazuaddieren von "Abstand" diese Formel wird
Zitat: Woche 1'!R109C1 werden
Ich habe so um die 60 verschiedene Zellen die auf diese Weise bearbeitet werden sollen.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
einfach
Abstand = Columns(1).Find(what:=Worksheets("Namen").Range("S1"), after:=Cells(Zeile1, 1)).Row
Gruß Uwe
Registriert seit: 07.09.2017
Version(en): Microsoft 365
Hallo Kuwer,
danke erst mal für deine Antwort.
Das Problem dabei ist aber, dass ich wie oben erwähnt ca. 60 verschiedene Formeln habe.
Mit dieser Lösung müsste ich 60 verschiedene "Abstand" Namen haben und 60 verschiedene Suchkriterien.
Falls es nicht anders möglich ist, eine bestehende Formel so zu ändern wie ich es brauche, dann ist es halt so.
Dachte nur da gibt es einen Trick...
Registriert seit: 27.06.2016
Version(en): 7
Hallo,
ich hatte dir in der Formel die Reihe als Variable eingebaut.
Irgendwie muß die Reihe ja berechnet werden.
Das kannst du mit 60 vorgegebenen Werten machen oder durch ermitteln der Zeile... von zu suchenden Begriffen.
Wie auch immer, in Excel ist die Glaskugel noch nicht eingebaut.
Irgendwie muß der Wert (die Reihe) der zu erzeugenden Formel mitgegeben werden.
Vielleicht kann jemand mit deinen Aussagen mehr anfangen wenn du eine aussagekräftige Beispieldatei hochlädtst.
Gruß Günter
Registriert seit: 07.09.2017
Version(en): Microsoft 365
Hallo zusammen,
ich habe das Problem ein kleines bisschen anders gelöst.
Meine eigentlich Formel sah ja zum Beispiel so aus:
Zitat:='Woche 1'!$A$121
Ich habe die Formel ein bisschen anders gestaltet, jetzt sieht die Formel so aus:
Zitat:=INDIREKT("'"&$B$33&"'!A"&121+"1")
In B33 steht der Name des Reiters (Woche 1). Der Zellbezug ist immer noch A121, allerdings ist in der Formel hinterlegt, dass die Zeilennummer 121 plus 1 gezählt wird.
Diese 1 steuere ich über ein Makro, wie schon oben geschrieben.
Hoffe, falls jemand das gleiche Problem haben sollte, dass ihm das hilft.
Danke aber auch natürlich für eure Hilfe.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
14.10.2017, 10:55
(Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2017, 10:56 von RPP63.)
Moin!
Auch hier wieder mein beliebter Hinweis:
Wochen- oder Monatsblätter sind schlicht Murks!
Indirekt() ist zwar eine "Lösung", aber als volatile Formel nur im Notfall zu verwenden, der hier nicht vorliegt.
Alle Daten in eine Tabelle,
- Auswertung durch Filter iVm Teilergebnis,
- Summewenn, Zählenwenn, Aggregat oder Summenprodukt
- oder gleich ein Pivot-Table erstellen.
Wenn ein "Dashboard" oder eine Druckvorlage gewünscht wird, geht dies bequem mittels "Formular"-Blatt.
Dort werden die Daten dann mittels Verweis oder Index(Vergleich) "gezogen".
Two Cents
Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)