Ich habe eine harte Zeit Formatierung einer Tabelle ... vielleicht können Sie mir helfen.Ersetzen Sie Teil einer Zelle Formel dynamisch mit Wert einer anderen Zelle
Ich muss einen Teil einer Formel in aprox ersetzen. 1700 Zellen.
die ursprüngliche Formel, die in jedem dieser Zellen im Einklang mit dem folgende Format:
='2014-12'!$F$7
Ich bin interessiert, den '2014-12'
Teil der Formel mit dem Wert der Zelle in der ersten Reihe jeder colum in Ersetzen . Beachten Sie, dass sich der $F$7
Teil in jeder Zelle ändert.
Bsp .:
Wie Sie die erste Zeile von meiner Tabelle sehen können, enthält das Jahr, dass ich in den Formeln ersetzen muss, die in den Zellen direkt über dem Jahr geschrieben werden.
Daten gehen aus:
- Zeile 5 bis 96 (nicht jede Zelle in der Spalte enthält Formeln)
- Spalt 2 bis 25
Meine erste Idee Python zu verwenden war um dies zu erreichen ... aber ich konnte es nicht mit pyoo
, oosheet
oder arbeiten lassen. So kam ich zu Excel
und versuchte, ein Makro zu schreiben, macht folgendes:
Makro Idee:
- für Spalte i = 2 bis 25,
Cell(1, i).Value
erhalten,- für Zeile j = 5-96,
- erhalten
Cell(j, i).Formula
- ersetzen die '2014-12' Teil in
Cell(j, i).Formula
, mitCell(1, i).Value
Mein Code bisher getan:
Sub replace_content_of_formula()
Dim i, j As Integer
For i = 2 To 25
year = Cells(1, i).Value
For j = 5 To 96
prev_formula = Cells(j, i).Formula
new_formula = prev_formula[:2] & year & prev_formula[9:] <<< I DONT KNOW HOW TO DO THIS
Cells(j, i).Select
ActiveCell.FormulaR1C1 = new_formula <<< I DONT KNOW HOW TO DO THIS
Next j
Next i
End Sub
Ich würde jede Hilfe dankbar.
Ps .: Ich kann python
oder vba
verwenden.
Hallo. Können Sie bitte angeben, wie sich die * Zellreferenz * ändert? '= 'Sheet Reference'! Zellreferenz'. –