wie kann ich den selektierten Bereich nach dem Löschvorgang wieder aufheben.
Gruß
Frank
https://www.herber.de/bbs/user/10329.xls
Sub SheetsValue_delete()
Const RN1 = "F14:O44"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets(Array("Ma F 1", "Ma F 2", "Ma F 3", "Ma F 4", "Ma F 5", "Ma F 6", "Ma B 1", "Ma B 2", "Ma B 3", "Ma B 4", "Ma B 5", "Ma B 6", "Ma G 1", "Ma G 2", "Ma G 3", "Ma G 4", "Ma G 5", "Ma G 6", "Ma R 1", "Ma R 2", "Ma R 3", "Ma R 4", "Ma R 5", "Ma R 6", "Ma D 1", "Ma D 2", "Ma D 3", "Ma D 4", "Ma D 5", "Ma D 6")).Select
Range(RN1).ClearContents
Range(RN1).Value = 0
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub SheetsValue_delete()
Dim blatt
Const RN1 = "F14:O44"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each blatt In Sheets(Array("tabelle1", "tabelle2", "tabelle3"))
' Sheets(Array("Ma F 1", "Ma F 2", "Ma F 3", "Ma F 4", "Ma F 5", "Ma F 6", "Ma B 1", "Ma B 2", "Ma B 3", "Ma B 4", "Ma B 5", "Ma B 6", "Ma G 1", "Ma G 2", "Ma G 3", "Ma G 4", "Ma G 5", "Ma G 6", "Ma R 1", "Ma R 2", "Ma R 3", "Ma R 4", "Ma R 5", "Ma R 6", "Ma D 1", "Ma D 2", "Ma D 3", "Ma D 4", "Ma D 5", "Ma D 6")).Select
blatt.Activate
Range(RN1).ClearContents
' Sheets("Einzelsummen").Select
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub SheetsValue_delete()
Const RN1 = "F14:O44"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("Ma F 1").Range(RN1) = 0
Sheets(Array("Ma F 1", "Ma F 2", "Ma F 3", "Ma F 4", "Ma F 5", "Ma F 6", "Ma B 1", "Ma B 2", "Ma B 3", "Ma B 4", "Ma B 5", "Ma B 6", "Ma G 1", "Ma G 2", "Ma G 3", "Ma G 4", "Ma G 5", "Ma G 6", "Ma R 1", "Ma R 2", "Ma R 3", "Ma R 4", "Ma R 5", "Ma R 6", "Ma D 1", "Ma D 2", "Ma D 3", "Ma D 4", "Ma D 5", "Ma D 6")).FillAcrossSheets Sheets("Ma F 1").Range(RN1)
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Um die Auswahl in Excel VBA aufzuheben, kannst du den folgenden Befehl verwenden:
Application.CutCopyMode = False
Dieser Befehl sorgt dafür, dass die aktuelle Auswahl (Markierung) aufgehoben wird. Wenn du dies nach einem Löschvorgang einfügen möchtest, kannst du den Code wie folgt strukturieren:
Sub Beispiel()
' Bereich definieren
Const RN1 As String = "F14:O44"
' Inhalte löschen
Range(RN1).ClearContents
' Auswahl aufheben
Application.CutCopyMode = False
End Sub
Füge den Befehl Application.CutCopyMode = False einfach am Ende deiner Prozedur ein, um die Markierung zu entfernen.
Fehler: Laufzeitfehler bei der Verwendung von Range
Sheets("Ma F 1").Range(RN1) = 0 verwendest, überprüfe, ob das Blatt existiert.Fehler: Markierung wird nicht aufgehoben
Application.CutCopyMode = False immer nach einem Löschvorgang ausgeführt wird.Eine alternative Methode, um die Auswahl in einem Makro aufzuheben, ist die Verwendung des Select-Befehls. Allerdings wird empfohlen, diesen zu vermeiden, um die Effizienz des Codes zu steigern. Du kannst direkt auf den Bereich zugreifen:
Sub AlternativeMethode()
Const RN1 As String = "F14:O44"
Sheets("Ma F 1").Range(RN1).ClearContents
Application.CutCopyMode = False
End Sub
Diese Methode benötigt keinen Select-Befehl und ist dadurch schneller.
Beispiel, wie Werte nach dem Löschen auf 0 gesetzt werden:
Sub WerteLoeschenUndSetzen()
Const RN1 As String = "F14:O44"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Inhalte löschen
Sheets("Ma F 1").Range(RN1).ClearContents
' Werte auf 0 setzen
Sheets("Ma F 1").Range(RN1).Value = 0
' Auswahl aufheben
Application.CutCopyMode = False
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Select-Befehls, wenn möglich. Das macht deinen Code schneller und effizienter.Application.ScreenUpdating = False, um Flackern während der Ausführung zu verhindern.1. Wie kann ich die Auswahl nach dem Kopieren aufheben?
Um die Auswahl nach dem Kopieren aufzuheben, verwende einfach Application.CutCopyMode = False.
2. Ist es notwendig, die Anwendung zu aktualisieren, nachdem ich die Auswahl aufgehoben habe?
Es ist nicht notwendig, die Anwendung manuell zu aktualisieren, aber das Setzen von Application.ScreenUpdating = True nach deiner Prozedur kann nützlich sein, um die Anzeige zu aktualisieren.