Worksheet_Change startet ungewollt Makro
14.09.2016 14:57:39
Lucienne
wie so viele andere habe auch ich leider nur bescheidene VBA Kentnisse, daher schonmal vielen Dank für eure Hilfe.
Derzeit kämpfe ich mit folgendem Problem:
Ich habe ein Excel File in dem je nachdem welche Information in bestimmten Zellen eingetragen wird, ein bestimmtes Makro ausgeführt wird. Die Makros sind immer dafür da weitere Zeilen aus- oder einzublenden. Bis dahin funktioniert alles super.
Das Problem entsteht, wenn ich zwei zusammenhängende Zellen markieren und auf die Taste Entfernen drücke oder mit Strg+V Daten einfüge. Denn dann startet er auch ein Makro was er aber nicht soll. Da die Zellen nicht vom VBA Code betroffen sind (im Beispiel Zelle D13+D14)
So sieht mein Code derzeit aus (ist verkürzt, da mehr Zellen betroffen sind, der Code _ wiederholt sich jedoch nur):
Private Sub Worksheet_Change(ByVal target As Range)
On Error Resume Next
'Unterscheidung Liquid_Solid_Gas
If target.Address = "$D$12" And target.Value = "solid" Then
Call D12_solid
End If
If target.Address = "$D$12" And target.Value = "liquid" Then
Call D12_liquid
End If
If target.Address = "$D$12" And target.Value = "gas" Then
Call D12_gas
End If
If target.Address = "$D$12" And target.Value = "please select" Then
Call D12_please_select
End If
'Einblenden bei yes
If target.Address = "$D$31" And target.Value = "yes" Then
Call Solids_D31
End If
If target.Address = "$D$33" And target.Value = "yes" Then
Call Solids_D33
End If
'Ausblenden bei no
If target.Address = "$D$31" And target.Value = "no" Then
Call Solids_D31_ausblenden
End If
If target.Address = "$D$33" And target.Value = "no" Then
Call Solids_D33_ausblenden
End If
'Ausblenden bei please select
If target.Address = "$D$31" And target.Value = "please select" Then
Call Solids_D31_ausblenden
End If
If target.Address = "$D$33" And target.Value = "please select" Then
Call Solids_D33_ausblenden
End If
End Sub
Excel startet im beschriebenen Szenario immer das Makro D12_please_select (4. If Befehl).
Vielen Dank für eure Hilfe
Lucienne