Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Select Case

Select Case
07.02.2003 07:21:52
Josef
Sub Komplettieren()
Guten Morgen!
Ich habe mir aus der Recherche folgenden Text zusammengezimmert.
Leider hatte ich noch nie das Vergnügen eine Select Case Anweisung zu schreiben, daher bin ich sozusagen "Rudi Ratlos".
Wenn in einer UserForm z.B. in TextBox1 der Wert 80600 eingelesen wird, so sollte in der TextBox2 der Text "Bandagen und Orthesen" eingetragen werden.
Wäre hierfür der nachstehende Text ungefähr richtig oder liege ich hier komplett falsch?

Danke

Josef

Dim AC As Range
Set AC = Application.Caller
If AC.Column <> 1 Then Exit Sub
Select Case AC
Case 80600: AC = "Bandagen und Orthesen"
Case 80700: AC = "Kompressionsbandagen"
Case 80800: AC = "Elastische Binden"
Case 80900: AC = "Wundversorgung"
End Select
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Select Case
07.02.2003 08:05:11
Harald Kapp

Hallo Josef,
irgendwie scheint mir das nicht richtig. In der Select-Case Anweisung fragst Du normalerweise einen Wert ab und führst in Abhängigkeit davon eine Aktion aus. Hier fragst Du AC ab und veränderst dann AC. Das ist nicht das, was Du im Text schreibst.

Ich verstehe die Aufgabe so:

Den Doppelpunkt brauchst Du gar nicht.

Gruß Harald


Re: Select Case
07.02.2003 08:09:56
Josef

Hallo Harald!

Danke für Deine Antwort.
Ich bekomme leider die Fehlermeldung"Typen unverträglich" und Case 80600 wird markiert.

Danke

Josef

Re: Select Case
07.02.2003 08:25:13
Steffen D

Hi,

probier mal zuerst in eine zahl umzuwandeln:

Select Case CInt(Textbox1.Value)
Case 80600
Textbox2.Text = "Bandagen"
Case 80700
Textbox2.Text = "Kompressionsbandagen"
Case default
Textbox2.Text = "Illegale Stammnummer"
End Select


Gruß
Steffen D

Anzeige
Re: Select Case
07.02.2003 08:28:07
Harald Kapp

Hallo Josef,
evtl. musst Du noch eine Typumwandlung von String (in der Textbox) auf Long (in der Case Abfrage einbauen. Es gibt zwei Möglichkeiten:
1)
DIM Stammnummer as long
...
Stammnummer = Val(Textbox1.Value)
Select case Stammnummer
...

2) Vergleiche direkt auf String:
Select Case Textbox1.text
case "80600"
...

Aber eigentlich sollte das alles nicht erforderlich sein, bei mir klappt es ohne diese Tricks.

Gruß Harald

Re: Select Case
07.02.2003 08:35:12
Hajo_Zi

Hallo Steffen

integer dürfte der falsche Typ sein geht nur bis 32768, es muß schon Long sein

Gruß Hajo

Re: Select Case
07.02.2003 08:44:44
Josef

Hallo Harald!

Jetzt läßt sich die Userform starten und in der TextBox2 steht "Illegale Stammnummer"

Private Sub UserForm_Initialize()
Dim Stammnummer As Long
Stammnummer = Val(TextBox1.Value)
Select Case Stammnummer
Case 80600
TextBox2.Text = "Bandagen"
Case 80700
TextBox2.Text = "Kompressionsbandagen"
Case Default
TextBox2.Text = "Illegale Stammnummer"
End Select
End Sub

Jetzt müßten nur noch die Nummer irgendwie in die TextBox1 reinkommen. Gebe ich 80600 ein passiert nichts, ebenso bei 80700
Änderung erfolgt keine in der TextBox2

Danke

Josef

Anzeige
Re: Select Case
07.02.2003 09:00:18
Josef

Hallo!

Die Nummern werden jetzt über eine ComboBox eingelesen.
Wenn ich die UserForm starte so habe ich in der TextBox1 80600 und in der Textbox2 Bandagen stehen. Wenn ich jedoch in der ComboBox auf 80700 wechsle so steht zwar in der TextBox1 80700, jedoch in der Textbox 2 bleibt der Text auf Bandagen stehen.

Wo könnte hier bitte noch der Fehler liegen?

Danke

Josef

Private Sub UserForm_Initialize()
On Error Resume Next
Dim Stammnummer As Long
Dim intCounter As Integer
For intCounter = 2 To 100
cboListe.AddItem Cells(intCounter, 1)
Next intCounter
cboListe.ListIndex = 0
Stammnummer = Val(TextBox1.Value)
Select Case Stammnummer
Case 80600
TextBox2.Text = "Bandagen"
Case 80700
TextBox2.Text = "Kompressionsbandagen"
Case Default
TextBox2.Text = "Illegale Stammnummer"
End Select
End Sub

Private Sub cboListe_Change()
TextBox1.Text = Cells(cboListe.ListIndex + 2, 1)
End Sub

Anzeige
Re: Select Case
07.02.2003 09:07:11
Harald Kapp

Hallo Josef,
ich denke, jetzt musst Du noch das Change-Ereignis für die TextBox1 auswerten, damit die Textbox2 überhaupt mitkriegt, dass sich der Wert in Textbox1 geändert hat:


Gruß Harald


Re: Select Case
07.02.2003 09:12:14
Steffen D

Hi,

du musst diesen Abschitt:

Stammnummer = Val(TextBox1.Value)
Select Case Stammnummer
Case 80600
TextBox2.Text = "Bandagen"
Case 80700
TextBox2.Text = "Kompressionsbandagen"
Case Default
TextBox2.Text = "Illegale Stammnummer"
End Select


in das ereigniss TextBox1_change kopieren....

Gruß
Steffen D

Re: Select Case
07.02.2003 09:19:31
Josef

Hallo!

Danke Harald und Danke Steffen!

Jetzt läuft alles bestens.

Schönen Tag noch

Josef

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige