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
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.
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).
Hallo Günter,
(16.11.2017, 08: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.
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.
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
Hi Ralf,
vielen Dank für die prima Erklärung; das hilft mir sehr.