Werte löschen ohne Blatt anzuzeigen
#1
Question 
hi, wie kann ich in Tabelle2 die Felder B3:B5 löschen, ohne dass das Tabellenblatt angezeigt wird?

So wird ja Tabelle2 angezeigt:
Code:
Worksheets("Tabelle2").Select
Range("B3:B5").Select
Selection.ClearContents
Top
#2
Hallo Julia,

die einfachste Möglichkeit, mit Application.ScreenUpdating. Wie das funktioniert,
habe ich Dir eigentlich soeben in Deinem Nachbarthread erklärt  :19:  Da komme
ich nämlich gerade her  :05:
Probiere es mal aus.
Top
#3
Hi Julia,


Code:
Option Explicit

Sub LoeschenWS2()
   With Worksheets("Tabelle2")
   .Range("B3:B5").ClearContents
   End With
End Sub


Code in 'Diese Arbeitsmappe'. Egal in welchem Blatt du bist; es werden die angegebenen Bereich gelöscht, ohne Tabelle2 zu zeigen (es sei denn, du bist gerade in diesem Blatt).
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
Hallo Günter,

(16.11.2017, 09:13)WillWissen schrieb:
Code:
Option Explicit

Sub LoeschenWS2()
   With Worksheets("Tabelle2")
   .Range("B3:B5").ClearContents
   End With
End Sub


Code in 'Diese Arbeitsmappe'.

Ich würde deinen Code in ein allgemeines Modul einfügen, denn in diese Arbeitsmappe hat er eigentlich nichts zu suchen.
Gruß Stefan
Win 10 / Office 2016
Top
#5
Hi Stefan,

danke für deine Verbesserung (du weißt ja, VBA und ich...  :32:)
Kannst du mir bitte noch erklären, warum der Code in einem allg. Modul besser aufgehoben ist? Danke dir schon mal.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#6
Moin Günter!
Bin zwar nicht der Stefan, aber:
In Objekt-Klassen wie Tabelle, Workbook, UserForm sollte auch nur Code stehen, der Bezug zum Objekt hat.
Dazu gehören vor allem Ereignis-Makros.

Hier mal eine korrekte Referenzierung zum Problem des TE:
Code:
Application.ThisWorkbook.Worksheets("Tabelle2").Range("B3:B5").ClearContents

Was im linken Bereich weggelassen werden kann, muss im Zweifel überprüft werden.
Hier reicht sicherlich:
Code:
Worksheets("Tabelle2").Range("B3:B5").ClearContents

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • o0Julia0o
Top
#7
Hi Ralf,

vielen Dank für die prima Erklärung; das hilft mir sehr.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#8
Thumbs Up 
jo, danke euch!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste