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

Forumthread: Inputbox (Type 8), gewählten Bereich ausgeben.

Inputbox (Type 8), gewählten Bereich ausgeben.
Luu
Hallo Excel Freunde!
Ich habe folgenden Code:
Dim Bereich As Range
Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
Wie lasse ich mir nun den ausgewählten Bereich in einer Zelle als Text ausgeben?
Sheets("Admin").Range("I6") = Bereich
wäre zu einfach und funktioniert ja auch nicht.
Schonmal im Voraus vielen Dank für die Hilfe.
Gruß
Luu
Anzeige
AW: Inputbox (Type 8), gewählten Bereich ausgeben.
16.12.2009 10:53:08
Hajo_Zi
Hallo luu,
Option Explicit
Sub Luu()
Dim Bereich As Range
Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type: _
=8)
ActiveSheet.Range("I6") = Bereich.Address
End Sub

Anzeige
AW: Inputbox (Type 8), gewählten Bereich ausgeben.
16.12.2009 11:00:04
Luu
Hallo Hajo!
Danke, war ja irgendwie einfach... Eine kleine Sache noch, wenn ich den Bereich auf einem anderen Blatt auswähle, schreibt er mir das Blatt jedoch nicht auf.
In der Inputbox steht unten ja der Bereich. Z.B. Testseite!$B$18:$G$316.
Kannst du mir da auch noch weiterhelfen?
Anzeige
AW: Inputbox (Type 8), gewählten Bereich ausgeben.
16.12.2009 11:19:34
Luu
ok, erledigt.
bisschen kompliziert, aber es geht.
Sheets("Admin").Range("I9") = Right(Bereich.Address(External:=True), Len(Bereich.Address(External:=True)) - Len(ActiveWorkbook.Name) - 2)
Bereich.Address(External:=True) gibt die adresse mit workbook und sheet wieder. um das workbook wegzukriegen, hab ich den rest drumrum gebastelt.
gruß
luu
Anzeige
AW: Inputbox (Type 8), gewählten Bereich ausgeben.
16.12.2009 11:30:41
Hajo_Zi
Hallo luu,
Option Explicit
Sub Luu()
Dim Bereich As Range
Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type: _
=8)
ActiveSheet.Range("I6") = Bereich.Parent.Name & "!" & Bereich.Address
End Sub
Gruß Hajo
Anzeige
AW: Inputbox (Type 8), gewählten Bereich ausgeben.
16.12.2009 11:57:38
Luu
Viele Wege führen nach Rom, deiner mit Abkürzung.
Danke
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Verwendung der InputBox (Type 8) zur Auswahl eines Bereichs in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu:

    • Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)".
    • Wähle „Einfügen“ > „Modul“.
  3. Füge den folgenden Code ein:

    Option Explicit
    Sub BereichAusgeben()
       Dim Bereich As Range
       Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
       ActiveSheet.Range("I6") = Bereich.Parent.Name & "!" & Bereich.Address
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus:

    • Gehe zu „Entwicklertools“ > „Makros“ und wähle „BereichAusgeben“ aus.
    • Klicke auf „Ausführen“.
  6. Wähle den gewünschten Bereich in Deinem Arbeitsblatt aus. Der Bereich wird nun in der Zelle I6 als Text ausgegeben.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht korrekt"

    • Stelle sicher, dass Du Type:=8 korrekt eingegeben hast, um die InputBox für die Auswahl eines Bereichs zu verwenden.
  • Problem: Der Bereich wird nicht korrekt angezeigt

    • Prüfe, ob Du den Code in einem Modul und nicht in einem Arbeitsblatt platziert hast. Der Code muss sich in einem Modul befinden, um korrekt ausgeführt zu werden.
  • Fehler: Nur die Adresse wird angezeigt

    • Um sowohl das Blatt als auch die Adresse auszugeben, verwende den Code aus der Schritt-für-Schritt-Anleitung.

Alternative Methoden

  • Verwendung der InputBox für andere Datentypen: Du kannst die Application.InputBox auch für andere Datentypen verwenden, indem Du den Typ anpasst. Zum Beispiel für Text oder Zahlen:

    Dim Eingabe As String
    Eingabe = Application.InputBox("Bitte Text eingeben:", Type:=2)
  • Direkte Zellenauswahl: Du kannst auch die Range-Methode verwenden, um einen Bereich ohne InputBox auszuwählen:

    Set Bereich = Sheets("Admin").Range("A1:B10")

Praktische Beispiele

  1. Einfaches Beispiel zur Ausgabe:

    Sub BereichAusgeben()
       Dim Bereich As Range
       Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
       Sheets("Admin").Range("I6") = Bereich.Address
    End Sub
  2. Erweiterte Ausgabe mit Blattnamen:

    Sub BereichMitBlatt()
       Dim Bereich As Range
       Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
       Sheets("Admin").Range("I6") = Bereich.Parent.Name & "!" & Bereich.Address
    End Sub

Tipps für Profis

  • Verwende die InputBox, um dynamische Berichte zu erstellen: Du kannst den Bereich, den der Benutzer wählt, verwenden, um Daten dynamisch zu verarbeiten und Berichte zu generieren.

  • Fehlerbehandlung implementieren: Füge Fehlerbehandlung in Deinen Code ein, um unerwartete Eingaben zu handhaben. Zum Beispiel:

    On Error Resume Next
    Set Bereich = Application.InputBox(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
    If Bereich Is Nothing Then
      MsgBox "Keine Eingabe getroffen."
      Exit Sub
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen InputBox und Application.InputBox? Die InputBox ist eine einfache Eingabemethode für Text, während Application.InputBox vielseitiger ist und verschiedene Typen wie Bereiche oder Zahlen akzeptiert.

2. Wie kann ich die InputBox anpassen? Du kannst das Aussehen der InputBox nicht direkt anpassen, aber Du kannst den Text und die Eingabetypen über die Parameter der Application.InputBox steuern.

3. Funktioniert das Beispiel in allen Excel-Versionen? Ja, die vorgestellten Beispiele funktionieren in Excel VBA ab Version 2000 und höher.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige