Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
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
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltaus TextBox von Prozedur auslesen
27.10.2004 23:37:03
Prozedur
Moin
Ich möchte Werte aus einer Textbox von einer Prozedur auslesen und einer Variabel zuweisen. (p = Inhalt Textbox)
Die Textbox enthält einen Wert, der ihr aus einer Listbox zugewiesen wurde.
Wie muss ich vorgehen?
Besten Dank im voraus.
Ric
AW: Inhaltaus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
warum möchtest du 2mal mal etwas auslesen, wenn du den Wert der Listbox schon hast?
Mathias
AW: Inhalt aus TextBox von Prozedur auslesen
27.10.2004 23:56:46
Prozedur
Moin
Der Wert in der Textbox dient der Kontrolle, danach soll mit einem Commantbutton der Wert weiter "verarbeitet" werden.
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo,
deklariere dir eine Variable z.B. x
Dim x as String 'bei Text
Dim x as Integer 'bei Zahlenwerten
Textboxwert setzen
z.B.
x=Textbox1.Value
jetzt kannst du mit der Variable x weiter arbeiten.
Gruß Mathias
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
Bekomme nur den Fehler Objekt nicht vorhanden.
p = TextBoxtxtPNr.Value
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo,
kurze Frage, wo liegt deine Textbox?
In einer Userform oder auf einem Tabellenblatt?
Wenn sie in einer Userform liegt, muss das Synonym lauten: Textbox1 (die 1 steht für die Anzahl der Textboxen, in diesem Fall wäre es die erste.
Liegt deine Textbox in einem Tabellenblatt so musst genau festlegen in welchem Z.B.
x=Sheets("Tabelle1").Textbox1.Value
in deinem Fall das -txtPNr- in Textbox durch eine Zahl ersetzen, ansonsten kann Excel das auch nicht finden.
wenns nicht klappt, schick mir deinen Excelsheet per Mail an mathias.laeber@t-online.de und ich schau was ich machen kann.
MatjesL
Anzeige
Nachfrage
PeterW
Hallo Mathias,
seit wann müssen auf einem Uerform die Textboxen durchnummeriert werden? Man kann auch Namen vergeben wie "txtPNr" und die Box über diesen Namen ansprechen.
Und unabhängig davon stehen in Textboxen immer Texte (daher die Bezeichnung). Wenn Variable zum Einlesen des Boxinhaltes dimensioniert werden dann müssen die ohne Umwandlungsfunktionen zu benutzen immer vom Typ String sein.
Gruß
Peter
AW: Hallo Peter
MatjesL
Hallo Peter,
du hast Recht, wenn ich das bei mir so mache, dann heisst das noch lang nicht, das das andere so machen müssen.
Gruß Mathias
AW: Nachfrage
Ric
Moin
Auch String brachte keinen Erfolg!
Ric
Anzeige
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
Textbox1 ist der Index der Textbox, den ich, der Übersicht halber, durch txtPNr ersetzt habe.
Textbox liegt auf Userform.
Dim p as Variant ergibt Typen unverträglich
Dim p as Single ergibt Objekt ervorderlich
Set p = txtPNr.Value
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
dimensioniere p as String und weise direkt zu
p = txtPNr
Gruß
Peter
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
Bekomme jetzt die Meldung "ungültiger Bezeichner"!
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
gehe in den VBA-Editor, im Projektfenster Doppelklick auf dein Userform. Wenn nicht sichtbar blende die Eigenschaften ein (F4). Überprüfe den Namen der TextBox.
Wenn es keine Abweichungen gibt poste mal den Code, mit dem du der Variablen der Inhalt der Textbox zuweisen möchtest.
Gruß
Peter
Anzeige
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin

Private Sub cmdsuchen_Click()
Dim p As String
p = txtPNr
Sheets("Übersicht").Activate
Call suchen
p.Select
Name stimmt überein.
End Sub

AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
lass dir im Code mal p ausgeben, also
p = txtPNr
MsgBox p
Sheets.....
Wenn dir p richtig angezeigt wird liegt der Fehler wohl in Code "Suchen", der nach p suchen soll dem aber p nicht als Variable übergeben wird.
p.Select kann widerum nicht funktionieren, wenn p kein Range ist. Wenn du also in die Textbox sowas wie A5 eingibst dann
Dim p as Range
Set p = Range(txtPNr)
p.Select
Gruß
Peter
Anzeige
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
In MsgBox wird der Wert richtig ausgegeben.
Hatte ich vorher auch schon probiert allerdings ohne Dim p As String.
Range wird durch Call suchen übergeben.
In diesem Bereich soll nach p gesucht und select werden.
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
mit Call suchen
wird überhaupt nichts übergeben! Soll im Bereich, der in "suchen" festgelegt wird nach p gesucht werden und die Fundstelle zurückgeliefert werden dann wäre das eine Aufgabe für eine Function.
In deinem Code könnte das dann so aussehen

Private Sub CommandButton1_Click()
Dim p As String
p = Range(txtPNr).Address
Range(psuchen(p)).Select
End Sub

Function psuchen(p As String) As String
'nur als Dummy benutzt
psuchen = Range(p).Offset(1, 0).Address
End Function
Gruß
Peter
Anzeige
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
Das meine Methode nicht klappt hab ich mir fast gedacht.
Bekomme jetzt den Fehler Die Methode Range für das Objekt Global ist fehlgeschlagen!
Ric
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Hallo Ric,
wenn ich auf deinen Monitor sehen könnte wüsste ich zumindest, in welcher Zeile in welchem Code der Fehler auftritt. Ohne kompletten Code wird das so nichts. Und wenn der Code umfangreich ist wird das zumindest mit mir auch nichts - das würde den Rahmen des Forums sprengen. Mein Rat an dich: starte einen neuen Thread mit genauer Aufgabenbeschreibung, deinem vorhandenen Code und einem Link auf diesen Thread.
Es gibt genug Antworter hier, die nur darauf warten, dir eine Komplettlösung per Beispielmappe zu erstellen. :-)
Gruß
Peter
Anzeige
AW: Inhalt aus TextBox von Prozedur auslesen
Prozedur
Moin
Jo, danke für Deine Mühe!
Ric
Danke & Lösung
Ric
Moin
Bedanke mich hiermit nochmal bei allen die mir direct oder indirect bei der Lösung meines
Problems geholfen haben.
Lösung (eine)

Private Sub cmdsuchen_Click()
Set n = ActiveSheet
Sheets("Übersicht").Select
Call suchen
n.select
End Sub

-------------
Public Sub suchen()
Dim p As String
p = txtPNr1
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
End With
Set bereich = Range("3:3")
For Each c In bereich
If c = p Then
c.Select
End If
Next c

End Sub
Ric
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige