Anzeige
Archiv - Navigation
1348to1352
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
Inhaltsverzeichnis

Teilbereiche im Arbeitsblatt löschen

Teilbereiche im Arbeitsblatt löschen
10.02.2014 23:44:30
Christian
Hallo liebe Leute,
mit VBA kenn ich mich nicht aus, deswegen mal hier meine Frage:
In dem Tabellenblatt Kalkulation sollte es möglich sein, per Makro einzelne Bereiche zu löschen (nur Inhalte, keine Formatierungen oder Gültigkeit).
Als Bsp.: folgende Bereiche:
M22;N22:N35;O22:O35;P22:P35;Q22;Q35;R22:R35;U22:U35;V22:V35,
dann weiter ab Zeile 39, also
M39;N39:N52;O39:O52;P39:P52;Q39;Q52;R39:R52;U39:U52;V39:V52,
das ganze bis Zeile 10000.
Habe das mal mit dem Rekorder aufgezeichnet, aber das wird mit 10000 Zeilen extrem lang!
Sub löschen_1()
Range("M22").Select
Selection.ClearContents
Range("N22:R35").Select
Selection.ClearContents
Range("U22:V35").Select
Selection.ClearContents
Range("M39").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=9
Selection.ClearContents
Range("N39:R52").Select
Selection.ClearContents
Range("U39:V52").Select
Selection.ClearContents
End Sub 
Wie kann man das per Makro eleganter lösen?
Danke für eure Unterstützung!
MfG Christian

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 00:07:36
lisa
Hallo Christian,
kürzer ist es so
Range("M22,N22:R35,U22:V35,M39,N39:R52,U39:V52").Select
Selection.ClearContents
Range("A1").Select
Gruß, Lisa

AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 00:26:24
Christian
Hallo Lisa,
Danke für die Antwort, aber das ist noch nicht ganz so das was ich suche;-)
Da muß man ja auch noch die ganzen Abressen bis Zeile 10000 eintragen:-(
Dachte da eher an einen Code der ab Zeile 22 beginnt und jede 18. Zeile wiederholt wird!
Nur fehlen mir die Kenntnisse für die (Step?) Anweisungen und wie ich den Multiplikator definieren muss!
MfG Christian

AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 00:33:40
lisa
Hallo Christian,
ohne Musterdatei kann ich Dir nicht helfen, da ich die Kriterien nicht
weiß nach was gelöscht werden soll.
Gruß, Lisa

Anzeige
AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 00:59:24
Christian
Hallo Lisa,
Danke für Deine Unterstützung!
https://www.herber.de/bbs/user/89215.zip
Ist ein abgespecktes Beispiel.
Die rot markierten Zellen möchte ich per Makro nur die Inhalte löschen, das ganze geht im Original noch viel viel weiter, die anderen Zellen müssen bleiben, da sind im Original Formeln drin!
MfG Christian

AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 01:10:28
Christian
noch offen...

AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 02:11:59
lisa
Hallo Christian,
Du kannst es micht nachfolgender Datei ausprbieren.
Ich bin auch kein großer VBA Spezialist.
Gruß, Lisa
https://www.herber.de/bbs/user/89216.xlsm

Anzeige
AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 02:57:37
Christian
Hallo Lisa,
Danke erstmal, aber ich glaube wir reden aneinader vorbei!
Ich versuche es nochmal zu beschreiben:
beginnend mit M22 sollen die Bereiche M22;N22:R35;U22:V35 gelöscht werden (also die Inhalte).
Im nächsten Schritt der gleiche Bereich, nur 17 Zeilen weiter unten:
M39;N39:R52;U39:V52, danach wieder 17 Zeilen weiter unten mit M56 usw... bis Zeile 10000.
Die roten Zellen greifen hier nicht, da es im Orignal keine wirklich roten gibt (dienten im Bsp. nur zur Orientierun), bzw. in anderen Spalten schon, tlw. über bedingte Formatierung.
Hoffe das Du oder andere noch hilfreiche Ideen haben.
Habe zwar schon einiges im Archiv gefunden, aber nur mit ganzen Zeilen :-(
Diesen Ansatz habe ich gefunden, aber er löscht halt ganze Zeilen, und die auch komplett, leider fehlen mir die grundlegendsten Kenntnisse, um das auf meine anforderungen umzubauen...
For i = 26 To 5000 Step 36
Cells(i, 1).Select
Selection.EntireRow.Delete
i = i - 1
Next i
MfG Christian

Anzeige
AW: Teilbereiche im Arbeitsblatt löschen
11.02.2014 07:14:03
JoWE
Hallo Christian,
vllt. so:
Option Explicit
Sub delContent()
Dim sh As Worksheet
Dim ze As Long
Set sh = ThisWorkbook.Sheets("Tabelle1")
With sh
For ze = 22 To 1000 Step 17
.Cells(ze, 13).ClearContents
.Cells(ze, 14).ClearContents
.Cells(ze, 21).ClearContents
.Cells(ze + 13, 18).ClearContents
.Cells(ze + 13, 22).ClearContents
Next
End With
End Sub

Gruß
Jochen

fast....
11.02.2014 08:12:37
Christian
Hallo Jochen,
vielen Dank, es funktioniert teilweise, es werden allerdings nur einzelne Zellen angesprochen,
das ist in Spalte M ok, aber nach rechts sind es auch nur einzelne Zellen:
N22 und R35, hier sollte aber der ganze Bereich, also N22:R35 erfasst werden.
Das Gleiche mit U22 und V35, auch hier anstatt zwei einzelner Zellen der gesamte Bereich U22:V35.
Wie muss man den Code abändern?
Wie gesagt, von VBA hab ich null komma null Ahnung!
MfG Christian

Anzeige
AW: fast....
11.02.2014 08:25:26
Christian
Hallo,
mit bisschen suchen in der Recherche habe ich das jetzz wie folgt gelöst:
Sub delContent()
Dim sh As Worksheet
Dim ze As Long
Set sh = ThisWorkbook.Sheets("Kalkulation")
With sh
For ze = 22 To 1000 Step 17
.Cells(ze, 13).ClearContents
.Range(.Cells(ze, 14), .Cells(ze + 13, 18)).ClearContents
.Range(.Cells(ze, 21), .Cells(ze + 13, 22)).ClearContents
Next
End With
End Sub
Geht das so oder gibts noch elegantere Arten?
MfG Christian

AW: fast....
11.02.2014 15:33:24
JoWE
Hallo,
hmm, da hatte ich offensichtlich nicht richtig gelesen.
Deine selbst gefundene Lösung wäre sofern ich zuvor richtig gelesen hätte) aich die meine gewesen.
Und - wie Du siehst ist es relativ simpel ein "wenig" VBA zu lernen.
Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige