Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
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

markierter Bereich merken und übertragen

markierter Bereich merken und übertragen
21.01.2016 16:43:08
Norbert
Hallo,
ich möchte den aktiv markierten Bereich in einer Variablen speichern und in mehreren Tabellenblättern den selben Bereich markieren. Der markierte Bereich ist auch immer eines der zu bearbeiteten Tabellenblätter. Für eine einzelne Zelle habe ich es hinbekommen, bei einer Bereichsmarkierung funktioniert es leider nicht. Über Hilfe würde ich mich sehr freuen.
Sub Mko_S_Bereich_anwählen()
Application.ScreenUpdating = False
Dim strBereich As Range
Set strBereich = Selection.Address
Application.Goto Worksheets("1R 1A").Range(strBereich), True
Application.Goto Worksheets("1R 2A").Range(strBereich), True
Application.Goto Worksheets("1R 3A").Range(strBereich), True
Application.Goto Worksheets("1R 4A").Range(strBereich), True
Application.Goto Worksheets("1R 5A").Range(strBereich), True
Application.Goto Worksheets("1R 6A").Range(strBereich), True
Application.Goto Worksheets("1R 7A").Range(strBereich), True
Application.Goto Worksheets("1R 8A").Range(strBereich), True
Application.Goto Worksheets("1R 9A").Range(strBereich), True
Application.ScreenUpdating = True
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: markierter Bereich merken und übertragen
21.01.2016 17:16:14
Daniel
Hi
wenn du den Zellbereich auf ein anderes Blatt übertragen willst, dann musst du die Adresse der selektierten Zellen verwenden.
Eine Zelladresse ist ein TEXT (String) und kein Range-Objekt.
daher:
dim strBereich as string
strBereich = Selection.Address
Application.Goto Worksheets("1R 1A").Range(strBereich), True
damit kannst du auch mehrer Zellen gleichzeitig ansprechen.
Die einzige Einschränkung ist, dass die Adresse der selektierten Zellen nicht länger als 256 Zeichen sein darf.
Gruß Daniel

AW: markierter Bereich merken und übertragen
21.01.2016 17:50:31
Norbert
Hallo Daniel,
funktioniert prima. Vielen Dank für die schnelle Info.
Gibt es noch eine Möglichkeit den sichtbaren Bildschirmbereich nachzubilden.
Auf dem Bildschirm ist folgendes sichtbar:
Oberste Zeile = 193
Linker Rand = Spalte A
Markierter Bereich = M203:Z219
Nach Aufruf des Makros ist die oberste linke Zelle auf dem Bildschirm die M203.
Die Markierung dient dazu, Informationen auf allen Arbeitsblättern zu kontrollieren,
bzw. um bestimmte Aktionen im markiertem Bereich auszuführen. Für die Kontrolle soll
aber der sichtbare Bildschirmbereich auch übertragen werden. Gibt es eine Möglichkeit
dies zu realisieren?

Anzeige
AW: markierter Bereich merken und übertragen
21.01.2016 17:55:11
Daniel
Hi
den sichtbaren Bereich kannst du als Range-Objekt mit ActiveWindow.VisibleRange ermitteln
oberste Zeile`= ActiveWindow.VisibleRange.Row
erste Spalte = ActiveWindow.VisibleRange.Column
(mit der Spalte als Spaltennummer)
Gruß Daniel

AW: markierter Bereich merken und übertragen
21.01.2016 18:07:07
Norbert
Hallo Daniel,
meine VBA-Kenntnisse sind sehr bescheiden. Was muss ich angeben, um in meinen Tabellenblättern
den gleichen sichtbaren Bereich einzustellen und den vorher markierten Bereich zu markieren?
Deine Antwort definiert doch nur die Variable. Ich bräuchte noch die Aktion zum Ausführen.
Grüße Norbert

Anzeige
AW: markierter Bereich merken und übertragen
21.01.2016 19:05:11
Norbert
Hallo,
wegen eines Tippfehlers haben meine Lösungsversuche nicht funktioniert.
Bin aber dann doch auf die Lösung gekommen.
Problem damit gelöst. Beitrag damit für mich abgeschlossen.
Vielen Dank nochmals an Daniel für die Unterstützung
Grüße Norbert
Sub Mko_S_Bereich_anwählen()
Application.ScreenUpdating = False
Dim strBereich As String
Dim strBSZeile As String
Dim strBSSpalte As String
strBereich = Selection.Address
strBSZeile = ActiveWindow.VisibleRange.Row
strBSSpalte = ActiveWindow.VisibleRange.Column
Application.Goto Worksheets("1R 1A").Range(strBereich), True
ActiveWindow.ScrollRow = strBSZeile
ActiveWindow.ScrollColumn = strBSSpalte

Anzeige
AW: markierter Bereich merken und übertragen
21.01.2016 19:13:35
Daniel
hi
im ausgangsblatt:
obersteZeile = activeWindow.ScrollRow
ersteSpalte = ActiveWindow.ScrollColumn
SelektierterBereich = Selection.Address
wenn du dann das nächste Blatt aktiviert hast, überträgst du dann so die Einstellungen vom alten Blatt:
ActiveWindow.ScrollRow = obersteZeile
ActiveWindow.Scrollcolumn = ersteSpalte
ActiveSheet.Range(SelektierterBereich).Select
ob du auch wirklich genau den gleichen Bereich siehst, hängt aber auch davon ab, ob Spaltenbreiten und Zeilenhöhen gleich sind.
obersteZeile und ersteSpalte müssen als LONG deklariert werden, SelektierterBereich als STRING
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige