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 Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

2 Fragen, Objektbibliothek weiss nichts

Betrifft: 2 Fragen, Objektbibliothek weiss nichts von: sharky
Geschrieben am: 28.08.2004 10:44:27

Hallo,
hierzu konnte ich nichts finden:

- gibt es irgendein Element des String-Objekts, das mir aus einer Zeichenkette nur die Zahlen (oder nur die Buchstaben) ausgibt?

- Wie prüfe ich ich, ob eine Combobox innerhalb meines Fokus liegt, also angeklickt oder sonstwie (combobox1.activate) aktiviert wurde?

Danke schonmal für Eure Hilfe!

Grüße,
shrky

  


Betrifft: AW: 2 Fragen, Objektbibliothek weiss nichts von: ransi
Geschrieben am: 28.08.2004 15:27:22

hallo sharky

zu 1 mal als ansatz:
Public
Sub ohnezahl()
Dim i As Integer
For i = 48 To 57
 Sheets(1).TextBox1.Value = Application.WorksheetFunction.Substitute(Sheets(1).TextBox1.Value, Chr(i), "") 'sucht zahlen und ersetzt durch ""
 Next
End Sub

ransi

ransi


  


Betrifft: AW: 2 Fragen, Objektbibliothek weiss nichts von: Oberschlumpf
Geschrieben am: 28.08.2004 15:28:24

Hi Shrky

Zu 1:
Wenn Du eine Variable einfach nur überprüfen willst, ob sie einen numerischen Wert enthält, dann versuch es mit der Funktion IsNumeric(Variable) - der Rückgabewert ist ungleich Null und gibt die erste Position an, an der sich eine Zahl befindet.
Bsp:

Variable = "abc1def"

MsgBox IsNumeric(Variable)

Ergebnis = 4, da die 1 in "abc1def" an 4. Position steht.

Wenn Du aber tatsächlich alle numerischen und alphanumerischen Zeichen separieren willst, dann verwende zusätzlich die MID-Funktion und 2 weitere Variablen oder ein Array.
Bsp:

QuellVariable = "abc1def"
    For sep = 1 to Len QuellVariable
        If IsNumeric(Mid(QuellVariable,sep,1) <> 0 then
                NumVar = NumVar & Mid(QuellVariable,sep,1)
            Else
                TextVar = TextVar & Mid(QuellVariable,sep,1)
        End If
    Next

MsgBox NumVar 'Ergebnis = 1
MsgBox TextVar 'Ergebnis = "abcdef"

Diese Bsp sind nicht getestet.

Konnte ich denn helfen?

Ciao
Thorsten



  


Betrifft: AW: 2 Fragen, Objektbibliothek weiss nichts von: Oberschlumpf
Geschrieben am: 28.08.2004 15:30:32

Hab die Combobox vergessen.

Funktioniert es vllt so?

If Combobox1.SetFocus = True then MsgBox "Combo1 hat Focus"

Auch nur ne Überlegung

Ciao
Thorsten


  


Betrifft: AW: 2 Fragen, Objektbibliothek weiss nichts von: sharky
Geschrieben am: 28.08.2004 16:32:39

hallo,
den gedanken, über alle schleifen bestimmte chr(x) zu prüfen hatte ich auch schon beim durchgehen der string-eigenschaften :)
die lösung vergrößert aber meinen derzeitigen code. ich dachte, es gäbe vielleicht eine vordefinierte methode...
isnumeric ist ein guter tipp, danke!

zu 2) sowas dachte ich auch, funktioniert aber nicht.
es muss doch ne möglichkeit in VB(A) geben, zu prüfen, wo ein focus ist, oder ob eine best. methode durchgeführt wurde...!?

danke für alle antworten!
grüße


  


Betrifft: AW: 2 Fragen, Objektbibliothek weiss nichts von: Nepumuk
Geschrieben am: 28.08.2004 17:20:06

Hallo,
wenn sich die ComboBox in einer Tabelle befindet, kannst du über das GotFocus- und LostFocus-Ereignis eine Variable initialisieren bzw. löschen, die dir die momentane Cursorposition zurückgibt. In einem Userform funktioniert das analog mit dem Enter- bzw. Exit-Ereignis.
Gruß
Nepumuk


 

Beiträge aus den Excel-Beispielen zum Thema "2 Fragen, Objektbibliothek weiss nichts"