Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 09:03:49
Butter
Hallo liebe Excel/VBA Cracks,
nachdem ich jahrelang auf die Inhalte des Forums zugegriffen habe (und eigentlich immer weiter gekommen bin),
hab ich nun doch einen Fall, den ich nicht finde - weder hier noch über G00gle...oder ich suche falsch :-(
Ich möchte ein einer Excel Mappe auf verschiedenen Blättern verschiedene Zellen (nicht oder nur teilweise zusammenhängend) über einen Button auf Seite 1 leeren. Button erstellt, Makro aufgezeichnet, klappt nicht.
Codefragmente dann umgeschrieben (nach meinem bescheidenen Verständnis), klappt nicht.
Hier der Code:
Sub CommandButton1_Click()
Sheets("1. Deckblatt").Select
Range("B6,B7,B8,B9,B10,B13,B20,B22,B25,C4").Select
Selection.ClearContents
Sheets("1.1 Notizen").Select
Range.Cells.Select
Selection.ClearContents
Sheets("2. Daten2").Select
Range.Cells.Select
Selection.ClearContents
Sheets("3. Auswertung").Select
Range("B3:E8,G3:G8,D12:G17,E21:G26,C29:H38,J3:J8,J12:J17,J21:J26").Select
Selection.ClearContents
Sheets("4. Resume").Select
Range("G7:G42,J7:J42,M7:M42,P7:P42;S7:S42,V7:V42").Select
Selection.ClearContents
End Sub
Wahrscheinlich banale(r) Fehler, wäre aber trotzdem nett, wenn mir wer auf die Sprünge helfen könnte.
Vielen Dank im Voraus.
LG Butter

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 09:24:57
MRUTor
Hallo Butter,
ausser, dass man sich die ganze Selektiererei sparen kann, kann ich nichts falsches erkennen. Kann hoechstens sein, dass die Tabellenblatt Namen nicht korrekt sind?

Sub CommandButton1_Click()
With Sheets("1. Deckblatt").Range("B6:B10,B13,B20,B22,B25,C4")
.ClearContents
End With
With Sheets("1.1 Notizen").Range.Cells
.ClearContents
End With
With Sheets("2. Daten2").Range.Cells
.ClearContents
End With
With Sheets("3. Auswertung").Range("B3:E8,G3:G8,D12:G17,E21:G26,C29:H38,J3:J8,J12:J17,J21:J26")
.ClearContents
End With
With Sheets("4. Resume").Range("G7:G42,J7:J42,M7:M42,P7:P42;S7:S42,V7:V42")
.ClearContents
End With
End Sub

Gruss Tor
Anzeige
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 09:29:31
MRUTor
Doch noch ein kleines Problemchen entdeckt:
Bei diesen beiden willst du das gesamte Blatt bereinigen?

Sheets("1.1 Notizen")
Sheets("2. Daten2")

Dann ohne Range:

With Sheets("1.1 Notizen").Cells
.ClearContents
End With
With Sheets("2. Daten2").Cells
.ClearContents
End With

AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 09:40:04
MCO
Hallo Tor!
Hier hat sich ein Semikolon versteckt
 Range("G7:G42,J7:J42,M7:M42,P7:P42;S7:S42,V7:V42").Select
Deine (nachfolgende) Frage mit dem vollständigen Zellbereich ist allerdings berechtigt...
Gruß, MCO
Anzeige
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 10:03:35
Butter
Moin MRUTor, vielen Dank schonmal - hab es mal umgestrickt und direkt das Semicolon entfernt.
Leider schmeisst er mir noch einen Laufzeitfehler 1004 aus "Anwendungs- oder objektorientierter Fehler".
Blattnamen hab ich jetzt auch mehrfach geprüft - passt soweit. Und die beiden Blätter sollen wirklich komplett geleert werden, da die User dort frei Ihre Daten eintragen können.
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 09:38:01
MCO
Hallo Butter!
Das sollte klappen:
Sub CommandButton1_Click()
Dim rng As Range, sh_array As Variant
sh_array = Array("Tabelle1", "1. Deckblatt", "1.1 Notizen", "2. Daten2")
For sheet_no = 0 To UBound(sh_array)
Set rng = Sheets(sh_array(sheet_no)).Range("B6:B10,B13,B20,B22,B25,C4")
rng.ClearContents
Next
Sheets("3. Auswertung").Range("B3:E8,G3:G8,D12:G17,E21:G26,C29:H38,J3:J8,J12:J17,J21:J26"). _
ClearContents
Sheets("4. Resume").Range("G7:G42,J7:J42,M7:M42,P7:P42,S7:S42,V7:V42").ClearContents
End Sub
Im letzten Range hast du noch ein Semikolon eingebaut, das lief auf Fehler.
SELECT ist, wenn möglich zu vermeiden
RANGE.CELLS ist doppelt gemoppelt bzw falsch dargestellt.
Viel Erfolg!
Gruß, MCO
Anzeige
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 10:09:26
Butter
Hi MCO,
Danke für das fixe Feedback - deine Lösung checke ich nicht ganz...Du hast ein Array aus den Blättern und arbeitest es dann zyklisch ab (?) - checke aber nicht ganz, wie die verschiedenen Bereiche dann da einfliessen...
Das Semicolon hab ich direkt gekillt - Danke.
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 10:35:18
MCO
Sorry, hatte meine Testtabelle im Array stehen lassen.
Da ja jetzt der Bereich doch nicht für die ersten 3 Sheets steht, ergibt sich dann folgender Code
    Sheets("1. Deckblatt").Range("B6:B10,B13,B20,B22,B25,C4").ClearContents
Sheets("1.1 Notizen").Cells.ClearContents
Sheets("2. Daten2").Cells.ClearContents
Sheets("3. Auswertung").Range("B3:E8,G3:G8,D12:G17,E21:G26,C29:H38,J3:J8,J12:J17,J21:J26"). _
ClearContents
Sheets("4. Resume").Range("G7:G42,J7:J42,M7:M42,P7:P42,S7:S42,V7:V42").ClearContents
Der Fehler war, dass immer noch Range.cells. drin stand.
Gruß, MCO
Anzeige
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 11:15:48
Butter
Top - dann gecheckt. Glaube, ich habe mein Problem identifiziert....
Ich kann mit dem Befehl keine "Verbundenen" Zellen leeren? müsste ich dann die verbundene Zelle mit den ganzen EInzelzellen aufführen?
AW: VBA Nicht zusammenhäng. Zellen leeren
06.05.2020 12:23:10
Butter
Selbst gelöst - wenn z.B. B25 eine verbundene Zelle ist, müssen alle Zellen B25:B28 eingetragen werden. Funzt einwandfrei.
Vielen Dank euch^^

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige