Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen mit0-Werte in bestimmten Bereich leeren

Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 12:47:48
tursiops
Hallo!
Ich möchte per VBA Zellen in bestimmten, nicht zusammenhängenden Bereichen leeren, wenn die Zelle eine Null enthält. Ungefähr so:
Sub Cells()
Dim var As Variant
Do While Not IsError(var)
var = Application.Match("0", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).ClearContents
Loop
End Sub
Fall mir jemand helfen könnte, den Code für die Bereiche C3:D7 und P3:S7 umzuschreiben / zu verbessern, wäre ich sehr dankbar.
Gruß tursiops

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 13:05:20
Tino
Hallo,
versuch mal so.
Range("C3:D7,P3:S7").Replace What:="0", Replacement:="", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Gruß Tino

AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 13:26:17
tursiops
Super! Das sieht gut aus, werde ich gleich mal testen, DANKE!!!

AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 14:25:15
tursiops
Hallo nachmals!
Leider wird beim ausführen des Codes ein Fehler angezeigt:
"Fehler beim Kompilieren.: Das benannte Argument wurde nicht gefunden."
Markiert wird der Bereich SearchFormat:=
Gruß tursiops

stimmt Deine Version xl2010? oT.
22.04.2014 14:49:04
Tino

AW: stimmt Deine Version xl2010? oT.
22.04.2014 14:54:55
tursiops
Hallo! Momentan nicht, ich bin unterwegs und habe auf den MacBook weiter daran gearbeitet, Die Version hier ist 2011 für Mac... Ich teste es heute Abend am PC, allerdings sollte die Datei möglichst auch mobil funktionieren. Gäbe es eine Lösung, die mit beiden Versionen zurechtkommt? Gruß tursiops

Anzeige
AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 15:46:50
fcs
Hallo tursiops,
nachfolgend ein Makro, das jede Zelle im Bereich prüft und 0-Werte löscht.
Funktion auf Mac = ?
Denke aber, dass es keine Probleme gibt.
Gruß
Franz
'Erstellt unter Excel 2010, Windows Vista
Sub Loeschen_0_werte_C3_D7_und_P3_S7()
Dim Zelle As Range, StatusCalc As Long
'Makrobremsen lösen
With Application
.ScreenUpdating = False
.EnableEvents = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
For Each Zelle In ActiveSheet.Range("C3:D7,P3:S7")
If Zelle.Value = 0 Then Zelle.ClearContents
Next
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = StatusCalc
End With
End Sub

Anzeige
AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 16:09:15
tursiops
Hallo!
Mit ClearContents kommt der Mac scheinbar nicht klar.
Trotzdem Danke für Eure Hilfe, auf dem PC klappt schon alles, für den Mac finde ich schon noch ne Lösung.
Gruß Frank

AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 16:23:47
Tino
Hallo,
dann veruch mal Zelle.Value = ""
Gruß Tino

AW: Zellen mit0-Werte in bestimmten Bereich leeren
22.04.2014 16:54:37
fcs
Hallo tursiops,
kann ich mir irgendwie nicht vorstellen, dass dieses simple Makro auf dem Mac nicht funktioniert.
Welche Fehlermeldung kommt denn?
hast du schon mal auf dem Mac ein entsprechendes Makro mit dem Makrorecorder aufgezeichnet, um den Inhalt einer Zelle oder besser eines Zellbereichs mit mehreren selektierten Zellbereichen zu löschen?
Sieht unter Windows Vista, Excel 2010, alles deutsch, so aus:
Sub Test
Range("C3:D7,P3:S7").Select
Range("P3").Activate
Selection.ClearContents
End Sub

Evtl. braucht es auf dem Mac ja andere Trennzeichen.
Dann hast du aber das Problem, dass du im Makro das Betriebssystem prüfen musst, und abhängig davon unterschiedliche Code-Segmente abarbeiten musst.
Sub Loeschen_0_werte_C3_D7_und_P3_S7()
Dim Zelle As Range, StatusCalc As Long
'Makrobremsen lösen
With Application
.ScreenUpdating = False
.EnableEvents = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
'  If Vba.InStr(1, VBA.Environ("OS"), "Windows") > 0 Then
If VBA.InStr(1, Application.OperatingSystem, "Windows") > 0 Then
'Windows-Vesion
For Each Zelle In ActiveSheet.Range("C3:D7,P3:S7")
If Zelle.Value = 0 Then Zelle.ClearContents
Next
Else
'Mac-Version
End If
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = StatusCalc
End With
End Sub

Gruß
Franz
Anzeige

341 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige