Ich möchte in einer FOR EACHSchleife für jede Zelle in einem bestimmten Bereich eine Formel eingeben die sich auf die Reihe bezieht.
'Private Sub CheckBoxSizing_Click() 'Dim Zelle1 ' ' ' If CheckBoxSizing.Value = True Then ' Worksheets(1).Range("BY:BY,CC:CC,CG:CG,CK:CK,CO:CO,CS:CS,CW:CW").Select ' Selection.EntireColumn.Hidden = False ' For Each Zelle1 In Range("SizingToolMatrix") ' Zelle1.Value = "=SizingTool(BY40;CC40;CG40;CK40;CO40)" HIER MÖCHTE ICH ANSTELLE VON40DIE AKTIVE REIHE PRO ZELLE EUNFÜGEN ' Next Zelle1 ' Range("E3").Select ' End If ' If CheckBoxSizing.Value = False Then ' Worksheets(1).Range("BY:BY,CC:CC,CG:CG,CK:CK,CO:CO,CS:CS,CW:CW").Select ' Selection.EntireColumn.Hidden = True ' Range("E3").Select ' End If 'End Sub
Wenn ich anstelle von der function (=SizingTool) einfach "1" eingebe funktioniert es=( Die Funktion läuft außerhalb ohne Probleme... Hoffe mir kann jemand helfen =)=)
Ich gehe mal davon aus, dass =Sizingtool() eine UDF ist. Allgemein ist es Quatsch (weil extrem langsam), eine Funktion per For Each in jede Zelle einzeln einzutragen. Man schreibt sie gleich in den gesamten Bereich.
Natürlich ungetestet, weil ich die Datei nicht kenne:
If CheckBox1 Then Worksheets(1).Range("E:E").EntireColumn.Hidden = False Range("MATRIX").FormulaLocal = "=Funktion(B4;C4)" Else Worksheets(1).Range("E:E").EntireColumn.Hidden = True Range("MATRIX") = "keine Formel" End If Range("A1").Select End Sub
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag 28 • Topology