AW: Aktualisieren von Zellen...
22.09.2006 10:33:28
Zellen...
Hallo Thorsten,
trage die "manuellen" Werte in einer anderen Spalte ein, und berechne dann die Werte mit einer WENN-Bedingung. Um alle Werte aus der aktualisierten Tabelle2 zu holen muß du "nur" alle Manuellen Eingaben löschen.
Spalte A Spalte B
Berechnet Manuell überschrieben mit
5
7 7
Formel in A3: =WENN(ISTLEER(B3);[Mappe2.xls]Tabelle2!C3;B3)
Formel in A4: =WENN(ISTLEER(B4);[Mappe2.xls]Tabelle2!C4;B4)
Eine Lösung mit VBA geht natürlich auch. Dazu kannst du ein Makro aufzeichnen, bei dem du die entsprechenden Formeln eingibst und ggf. kopierst. Starte die Aufzeichnung in der Datei mit der Tabelle2 und speichere das Makro auch in dieser Datei. In meinem Beispiel ist Tabelle2 in "Mappe2.xls" und die Tabelle mit den Formeln in "Mappe1.xls".
Makro schaut dann etwa so aus:
Sub DateiXYZFormeln()
' Formeln in DateiXYZ zurücksetzen Makro
Windows("Mappe1.xls").Activate
Range("A3").Select
ActiveCell.FormulaR1C1 = "=[Mappe2.xls]Tabelle2!RC[2]"
Range("A3:A4").Select
Selection.FillDown
Range("A4").Select
Selection.Copy
Range("A7:A9").Select
ActiveSheet.Paste
Range("A3").Select
Application.CutCopyMode = False
Windows("Mappe2.xls").Activate
End Sub
Im VBA-Editor muss du dann zusätzlich noch unter "DieseArbeitsmappe" für "Mappe2.xls" folgenden Code einfügen, der vor dem Speichern der Datei ausgeführt wird.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call DateiXYZFormeln
End Sub
Makro funktioniert nur wenn beide Dateien geöffnet sind. ggf. muss du noch eine Prüfprozedur einbauen, die prüft ob die "Mappe1.xls" geöffnet ist.
Gruß
Franz