Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Commandbutton und Range | Herbers Excel-Forum


Betrifft: Commandbutton und Range von: Frank Schmalacker
Geschrieben am: 20.01.2010 13:55:55

Hallo zusammen!
In Blatt 1 habe ich einen CommandButton
In Blatt 2 habe ich eine Zelle, der ich einen Namen (Namen definieren) gegeben habe. In dieser Zelle steht ein Wert. Der Name der Zelle ist .
Beim Drücken des Buttons soll das Makro den in WERT stehenden Wert "holen" und weiterverarbeiten. Leider bekomme ich die Fehlermeldung "Die Methode Range für das Obekt _Worksheet ist fehlgeschlagen".
Hier das Makro:

Private Sub CommandButton1_Click()
 MsgBox Range("WERT")
End Sub

Sobald ich dem Makro noch mitteile, in welchem Tabellenblatt sich "WERT" befindet (mit Worksheets.Range("WERT"), funktioniert es. Aber genau das möchte ich verhindern! Ich möchte das ohne den "harten" Blattnamen haben. Geht das überhaupt?

  

Betrifft: AW: Commandbutton und Range von: Hajo_Zi
Geschrieben am: 20.01.2010 13:57:55

Hallo Frank,

man sollte einer Zelle keinen Namen geben der eine Funktion von Excel ist.

GrußformelHomepage


  

Betrifft: AW: Commandbutton und Range von: Frank Schmalacker
Geschrieben am: 20.01.2010 13:58:53

Warum nicht?


  

Betrifft: AW: Commandbutton und Range von: Hajo_Zi
Geschrieben am: 20.01.2010 14:05:23

Hallo Frank,

Du schreibst In eine Zelle =Wert was ist gemeint die Zelle mit dem Namen Wert oder die Excelfunktion WERT()

Gruß Hajo


  

Betrifft: AW: Commandbutton und Range von: Frank Schmalacker
Geschrieben am: 20.01.2010 14:10:49

okay, das macht sinn.
nehmen wir einfach an der name ist TEST und nicht WERT. ich möchte vermeiden den tabellennamen anzugeben. geht das?


  

Betrifft: Hat Björn doch schon beschrieben! oT von: Matthias5
Geschrieben am: 20.01.2010 14:13:07




  

Betrifft: AW: Commandbutton und Range von: Hajo_Zi
Geschrieben am: 20.01.2010 14:14:10

Hallo Frank,

falls es nur eine Zelle gibt die diesen Namen hat muss die Tabelle nicht angegeben werden.

Gruß Hajo


  

Betrifft: MsgBox Sheets("Blatt2").Range("WERT") oT von: Matthias5
Geschrieben am: 20.01.2010 13:57:59




  

Betrifft: AW: MsgBox Sheets("Blatt2").Range("WERT") oT von: Frank Schmalacker
Geschrieben am: 20.01.2010 13:59:25

besteht die Möglichkeit zu vermeiden den Blattnamen anzugeben?


  

Betrifft: MsgBox Tabelle1.Range("Wert").Value oT von: Matthias5
Geschrieben am: 20.01.2010 14:02:43




  

Betrifft: AW: Commandbutton und Range von: Björn B.
Geschrieben am: 20.01.2010 14:01:17

Hallo,

erstelle 1 Modul, darin machst du eine Prozedur, z.B. "NameXY".
Dort muss dann die Zeile mit der MSGBox hin:

 MsgBox Range("WERT")
in Deinem CmdButton rufst du dann dieses MAkro auf:
Private Sub CommandButton1_Click()
 Call NameXY
End Sub
Gruß
Björn B.


  

Betrifft: AW: Commandbutton und Range von: Frank Schmalacker
Geschrieben am: 20.01.2010 14:13:54

okay. danke! aber warum kann ich in solchen makros, die aufgrund eines ereignisses ausgelöst werden, nicht auf den blattnamen verzichten? in "normalen" makros, die sich in einem modul befinden, muß der blattname nie mit angegeben werden...


  

Betrifft: AW: Commandbutton und Range von: Björn B.
Geschrieben am: 20.01.2010 14:22:35

Hallo,

verstehe Deine Frage jetzt nicht ganz.
Hab Dir doch den Code geschrieben, wie du auf den Blattnamen verzichten kannst.
Dazu muss der Code aber in einem Modul stehen.

Genau erklären kann ich Dir das nicht. Ich mache es immer so, dass ich Makros in der Tabelle selber nur schreibe, wenn sie wirklich nur diese 1 Tabelle betreffen.
Sobald irgendwas mit mehreren Tabellen passiert, lagere ich das in ein Modul aus.
Hat bisher immer funktioniert.

Gruß
Björn B.


  

Betrifft: AW: Commandbutton und Range von: Frank Schmalacker
Geschrieben am: 20.01.2010 14:24:24

ist auch super. werde es nun auch so machen!
war einfach weiterführende neugier, warum in einem private sub diese zusatzinfo (blattname) mitgegeben werden muß.


Beiträge aus den Excel-Beispielen zum Thema "Commandbutton und Range"