AW: #Name nach Anwendung eines Makros
22.07.2014 20:01:55
Daniel
Hi
in der Formel direkt kannst du mit den VBA-Variablen nichts anfangen.
Excelformeln und VBA-Makros sind im Prinzp zwei getrennte Welten.
wenn du die Formel so belassen willst, dann musst du die Zellbereiche als Namen definieren, oder du musst Tabellenblattname und Adresse aus den Variablen bestimmen und diese als normalen Zellbezug in die Formel einbauen:
Sub untersuchung_Zelladdresse_aus_RangeVariable()
Dim datum As Range
Dim Kategorie As Range
Dim Kosten As Range
Set datum = Worksheets("Tabelle1").Range("B2:B10")
Set Kategorie = Worksheets("Tabelle2").Range("E7")
Set Kosten = Worksheets("Tabelle1").Range("C2:C10")
Worksheets("Tabelle2").Range("F7").FormulaLocal = _
"=SUMMEWENN('" & datum.Worksheet.Name & "'!" & datum.Address & _
";'" & Kategorie.Worksheet.Name & "'!" & Kategorie.Address & _
";'" & Kosten.Worksheet.Name & "'!" & Kosten.Address & ")"
End Sub
Sub untersuchung_BereichsNamen()
ThisWorkbook.Names.Add "datum", Worksheets("Tabelle1").Range("B2:B10")
ThisWorkbook.Names.Add "Kategorie", Worksheets("Tabelle2").Range("E7")
ThisWorkbook.Names.Add "Kosten", Worksheets("Tabelle1").Range("C2:C10")
Worksheets("Tabelle2").Range("F7").FormulaLocal = "=SUMMEWENN(datum;Kategorie;Kosten)"
End Sub
Gruß Daniel