AW: automatische Verbindung in andere Datei?
14.11.2008 14:27:00
Tino
Hallo,
noch eine Gegenfrage.
Entsprechend verstehe ich dies so, dass jeweils eine neue Formel entstehen soll in einer neuen Zelle, rechts neben der alten? (siehe Beispiel unten)
Zu der anderen Frage.
Eventuell kannst Du eine Zelle für das alte Datum nehmen und eine für das neue und diese im Code verarbeiten. (im Beispiel Zelle A1 altes Datum, B1 neues Datum)
Beispiel:
Formel wird eine Zelle weiter rechts neu erstellt.
Sub test()
Dim Bereich As Range, Zelle As Range
Dim strFormel As String
Dim AlterMonat As String, NeuerMonat As String
Dim AltesJahr As String, NeuesJahr As String
'Angabe aus den Zelle A1 und B1 die ein Datum enthalten
AlterMonat = MonthName(Month(Range("A1"))) 'Datum alter Monat
NeuerMonat = MonthName(Month(Range("B1"))) 'Datum neuer Monat
AltesJahr = Year(Range("A1")) 'Datum altes Jahr
NeuesJahr = Year(Range("B1")) 'Datum neues Jahr
'Bereich wo nach den Formeln gesucht werden soll, hier Spalte A
Set Bereich = Range("A:A").SpecialCells(xlCellTypeFormulas)
For Each Zelle In Bereich
strFormel = Zelle.FormulaLocal
'prüfe ob alter Monat und altes Jahr in Formel vorkommt
If strFormel Like "*[[]" & AlterMonat & "*" And strFormel Like "*" & AltesJahr & ".xls*" Then
strFormel = Replace(strFormel, AlterMonat, NeuerMonat) 'ersetze Monat
strFormel = Replace(strFormel, AltesJahr, NeuesJahr) 'ersetze Jahr
Zelle.Offset(0, 1).FormulaLocal = strFormel 'schreibe neue Formel eine Zelle nach rechts
End If
Next Zelle
End Sub
Gibt es zu den Monaten eventuell Überschriften, kann man die Spalte im Code Suchen lassen.
Gruß Tino