enden Ich habe ein Problem mit Visual Basic. Ich möchte ein Makro/eine Funktion machen, die eine Zahl multipliziert, die ich durch 3 eingegeben habe, und ein Ergebnis in derselben Zelle geben. Ich habe versucht, so etwas wie diese:Wie endlose "Change" Schleife in VBA
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$Q$21" Then
Target.Value = Target.Value * 3
End If
End Sub
, aber es funktioniert nicht - ich bin immer Ergebnisse wie „xE25“, weil es die Multiplikation hält.
Ich möchte es nach der ersten Iteration oder nur funktionieren, wenn ich "Enter" nicht bei jeder Änderung in der Zelle drücken.
Es ist ziemlich einfach, ein Ergebnis in andere Zelle zu setzen, aber das ist nicht mein Punkt.
----- Edit:
I edited "If" Zeile:
If (Target.Column = 5 Or Target.Column = 11 Or Target.Column = 17 Or Target.Column = 23) And (Target.Row >= 19 And Target.Row <= 24) And Target.Value <> "" Then
so wäre es auf alle Zellen zu arbeiten, die ich brauche. Danach ist die beste Lösung die Art und Weise, die von @ Chrismas007 angegeben wird, da es keinen Fehler verursacht, wenn versucht wird, Daten in wenigen Zellen gleichzeitig zu löschen.
wenn IsVBA Oder IsExcel-vba IsNot Then (vb.net) – Plutonix
Leider = True, ich bin in dieser Sprache neu, nicht weiß was zu wählen: P – Pawel