Excel VBA Range-Objekt?

2 Antworten

1) Das ist so. Du musst halt erst das Worksheet auswählen.

Sheets("Tabelle1").Activate
Sheets("Tabelle1").Range("A2:C3").Select 

2)dito:


Dim bereich As Range
Dim blatt As Worksheet
Set bereich = Worksheets(3).Range("A2:C3")
Set blatt = Worksheets(3)
blatt.Activate
bereich.Select

Zumindest habe ich bisher keine andere Lösung gefunden.

Aber vielleicht ist ja ein anderer der Experten hier schlauer?!

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

RedDevil1982 
Beitragsersteller
 24.12.2021, 19:35

Vielen Dank! Falls jemand noch eine andere Lösung kennt, bitte melden.

1

Erst gilt es zu ergründen "warum" du den Bereich selektieren willst ?
Was soll denn im Anschluss getan werden.
"Select", "Activate" als Dinge die normal durch den User gemacht werden machen Excel Makros sehr langsam.
Also, gilt es z.b den Bereich auf dem anderen Blatt zu kopieren, so geht dies komplett ohne select. Auch vieles anderes kann auf nicht aktiven Blättern erledigt werden, ohne dass es das aktuell aktiv ist.
Also, schildere mal deinen Anwendungsfall, dann gibt es sicher noch eine passende Lösung.