Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

TextBox mit 2 Funktionen | Herbers Excel-Forum


Betrifft: TextBox mit 2 Funktionen von: Andy
Geschrieben am: 27.01.2010 00:53:23

Hallo,
ich hab ein kleines Problem mit meinem VBA Makro.
Makro Funktion:
In der Userform sind 3 Textboxen mit einem CommandButton.
Damit geb ich einen Wert mit +/- Toleranz an.
zB. (20km +/- 5km) TextBox1 ist der Sollwert (20), TextBox2 ist der minuswert (5)
und TextBox3 ist der pluswert (5)
jetzt soll die Eingabe in der Zelle (3, 2) in der Form 15/20/25 (min / sw / max) erscheinen.
Es funktioniert auch soweit.
Jetzt zu meinem Problem:
Ich möchte in die TextBox1 ein Wort schreiben zB: Frankfurt und ich die anderen beiden TextBoxen kommt nichts rein. Jetzt sollte Excel mir nur Frankfurt ohne “ / “ in der Zelle (3, 2) schreiben.
Wie schreib ich das in VBA richtig? Das bei Eingabe von Zahlen mit Toleranz gerechnet wird und bei Eingabe von Buchstaben, nur Buchstaben angezeigt werden.

Beispiel Code:

Private Sub CommandButton1_Click()
Cells.NumberFormat = "@"
Dim a As Single
Dim b As Single
Dim c As Single
Dim d As String

a = sw.Value
b = min.Value
c = max.Value

d = a - b & " / " & a & " / " & a + c
Cells(3, 2).Value = d
End Sub

Hoffe mir kann einer helfen .

  

Betrifft: Nur Text aus Textbox in Zelle übertragen von: NoNet
Geschrieben am: 27.01.2010 01:09:22

Hallo Andy,

das könntest Du z.B. so lösen :

Private Sub CommandButton1_Click()
    Cells.NumberFormat = "@"
    Dim a 'ohne Angabe => Variant
    Dim b As Single
    Dim c As Single
    Dim d As String
    
    a = sw.Value
    b = Val(min)
    c = Val(max)
    
    If IsNumeric(a) Then
        d = a - b & " / " & a & " / " & a + c
    Else
        d = a
    End If
    Cells(3, 2).Value = d
End Sub
Beachte bitte, dass min und max sehr unpassende Namen für die Textboxen sind, da es gleichnamige Funktionen gibt !
Benenne die Textboxen besser als txtMin und txtMax...

Gruß, NoNet


  

Betrifft: AW: Nur Text aus Textbox in Zelle übertragen von: Andy
Geschrieben am: 29.01.2010 15:30:18

Was muß ich jetzt noch machen damit auch Kommazahlen gehen? zB. 0,7 +/- 0,5.

Danke für die Hilfe.

Andy


  

Betrifft: AW: TextBox mit 2 Funktionen von: fcs
Geschrieben am: 27.01.2010 01:11:53

Hallo Andy,

mit folgenden Prüfungen der Eingabewert sollte die wahlweise Eingabe von Text oder Zahlen funktionieren.

If IsNumeric(a) And IsNumeric(b) And IsNumeric(c) Then
  a = sw.Value
  b = Min.Value
  c = Max.Value
  d = a - b & " / " & a & " / " & a + c
  Cells(3, 2).Value = d
Else
  Cells(3, 2).Value = sw.Value
End If

Gruß
Franz


  

Betrifft: AW: TextBox mit 2 Funktionen von: Andy
Geschrieben am: 27.01.2010 01:40:46

Danke euch vielmals für die schnelle Hilfe, es funktioniert zu 100% so wie ich das wollte.


  

Betrifft: AW: TextBox mit 2 Funktionen von: Andy
Geschrieben am: 29.01.2010 19:34:21

Kommazahlen gehen ansich, wenn ich anstatt Komma einen Punkt schreibe.

Für den a Wert kann ich mit Komma rechen. b und c gehen nur mit punkt als Komma.

Was kann ich machen damit das geht?



danke für die Hilfe

Andy


Beiträge aus den Excel-Beispielen zum Thema "TextBox mit 2 Funktionen"