Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

markierter Bereich in String-Variable

Forumthread: markierter Bereich in String-Variable

markierter Bereich in String-Variable
04.11.2002 08:44:46
Steffen D
Hallo Leute,

folgendes Problem,
ich habe in Excel einen Bereich markiertz.B.: "A46:B50"
jetzt möchte ich mit VBA diesen Bereich in eine Stringvariable bringen, also in der art:

Dim Text as String
Text=Selection.????

Der Inhalt von Text müsste dann soheißen:
"A46:B50" oder "Tabelle 1!A46:B50" oder so ähnlich

ich danke euch schon mal

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: markierter Bereich in String-Variable
04.11.2002 08:50:05
Heinz A. Wankmüller
Hallo Steffen,

Text = Selection.Address

Gruß
Heinz

danke, bin gerade selber da drauf gekommen
04.11.2002 08:51:37
Steffen D
o.T
Kann man die Adresse uach in der R1C1-Form ausgebe
04.11.2002 09:20:01
Steffen D
Kann man die Adresse einer activen Celle irgendwie in dem R1C1-Format abspeichern:
also in der art:

strAdresse = ActiveCell.AddressR1C1

so dass in strAdresse z.B. sowas steht: "R47C1"

Anzeige
ActiveCell.Address(ReferenceStyle:=xlR1C1)
04.11.2002 09:23:14
Steffen D
ich habs!
Re: Kann man die Adresse uach in der R1C1-Form ausgebe
04.11.2002 09:25:59
Heinz A. Wankmüller
Hallo Steffen,

hier ein Auszug aus der VBA-Hilfe:

Address-Eigenschaft

Hyperlink-Objekt (Syntax 1): Gibt die Adresse des Zieldokuments zurück oder legt sie fest. String Schreib-Lese-Zugriff.

Range-Objekt (Syntax 2): Gibt den Bezug auf einen Bereich in der Sprache des Makros zurück. String Schreibgeschützt.

Syntax 1

Ausdruck.Address

Syntax 2

Ausdruck.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

Ausdruck Erforderlich. Ein Ausdruck, der ein Hyperlink-Objekt (Syntax 1) oder ein Range-Objekt (Syntax 2) zurückgibt.

RowAbsolute Variant optional. Ist das Argument True, wird der Bezugsteil mit der Zeilenangabe als absoluter Bezug zurückgegeben. Die Voreinstellung ist True.

ColumnAbsolute Variant optional. Ist das Argument True, wird der Bezugsteil mit der Spaltenangabe als absoluter Bezug zurückgegeben. Die Voreinstellung ist True.

ReferenceStyle Variant optional. Kann eine der folgenden XlReferenceStyle-Konstanten sein: xlA1 oder xlR1C1. Verwenden Sie xlA1, um einen Bezug in der A1-Schreibweise zurückzugeben. Verwenden Sie xlR1C1, um einen Bezug in der Z1S1-Schreibweise zurückzugeben. Die Voreinstellung ist xlA1

External Variant optional. Ist das Argument True, wird ein externer Bezug zurückgegeben. Ist das Argument False, wird ein lokaler Bezug zurückgegeben. Die Voreinstellung ist False.

RelativeTo Variant optional. Sind RowAbsolute und ColumnAbsolute beide False und wird für ReferenceStyle der Wert xlR1C1 angegeben, müssen Sie einen Startpunkt für den relativen Bezug angeben. Dieses Argument ist ein Range-Objekt und definiert den Startpunkt.

Anmerkungen

Enthält der Bezug mehrere Zellen, so beziehen sich RowAbsolute und ColumnAbsolute auf alle Zeilen und Spalten.

Gruß
Heinz

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Markierter Bereich in einer String-Variable speichern


Schritt-für-Schritt-Anleitung

Um den markierten Bereich in einer Excel-String-Variable zu speichern, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Projektname)" > Einfügen > Modul.

  3. Schreibe den folgenden Code in das Modul:

    Sub MarkierterBereichInString()
       Dim Text As String
       Text = Selection.Address
       MsgBox "Der markierte Bereich ist: " & Text
    End Sub
  4. Schließe den Editor und gehe zurück zu Excel.

  5. Markiere einen Zellbereich (z.B. A46:B50).

  6. Führe das Makro aus: ALT + F8, wähle MarkierterBereichInString und klicke auf Ausführen.

Nun wird der markierte Bereich in der String-Variable Text gespeichert.


Häufige Fehler und Lösungen

  • Fehler: "Objekt benötigt"

    • Lösung: Stelle sicher, dass der Bereich tatsächlich markiert ist, bevor du das Makro ausführst.
  • Fehler: "Typenkonflikt"

    • Lösung: Überprüfe, ob du Dim Text As String korrekt deklariert hast.

Alternative Methoden

Du kannst auch andere Methoden verwenden, um eine Excel-Variable in einen String zu konvertieren:

  • Um den markierten Bereich in der R1C1-Notation zu speichern, kannst du den folgenden Code verwenden:

    Sub MarkierterBereichR1C1()
       Dim strAdresse As String
       strAdresse = Selection.Address(ReferenceStyle:=xlR1C1)
       MsgBox "Der markierte Bereich in R1C1 ist: " & strAdresse
    End Sub

Diese Methode gibt dir den Bereich in der R1C1-Notation, was in bestimmten Fällen nützlich sein kann.


Praktische Beispiele

Hier sind einige nützliche Anwendungsbeispiele für die Verwendung von String-Variablen:

  1. String-Variable für die spätere Verwendung speichern:

    Sub SpeichereMarkiertenBereich()
       Dim markierterBereich As String
       markierterBereich = Selection.Address
       ' Weitere Logik hier
    End Sub
  2. Ein String mit Variablen kombinieren:

    Sub KombiniereStrings()
       Dim Text As String
       Dim ZusatzInfo As String
       ZusatzInfo = " ist der markierte Bereich."
       Text = Selection.Address & ZusatzInfo
       MsgBox Text
    End Sub

Mit diesen Beispielen kannst du deine VBA-Kenntnisse erweitern und effektiv mit Excel-String-Variablen arbeiten.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Experimentiere mit verschiedenen Address-Methoden, um mehr Kontrolle über die Ausgabe deiner Strings zu erhalten.

  • Verwende Debug.Print anstelle von MsgBox für eine schnellere Ausgabe von Variablenwerten während der Entwicklung.


FAQ: Häufige Fragen

1. Wie kann ich den markierten Bereich in eine Excel-String-Variable speichern? Um den markierten Bereich zu speichern, verwende den Code Text = Selection.Address.

2. Kann ich den Bereich auch in R1C1-Notation speichern? Ja, du kannst die Methode Selection.Address(ReferenceStyle:=xlR1C1) verwenden, um den Bereich in R1C1-Notation zu speichern.

3. Was mache ich, wenn mein Code nicht funktioniert? Überprüfe, ob der markierte Bereich tatsächlich existiert und ob alle Variablen korrekt deklariert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige