Microsoft Excel

Herbers Excel/VBA-Archiv

Bei Select Case-Anweisung Codezeilensparen | Herbers Excel-Forum


Betrifft: Bei Select Case-Anweisung Codezeilensparen von: Richard E.
Geschrieben am: 24.10.2008 13:18:31


Hallo,

funktionell, funktioniert folgender Code, so wie ich ihn gerne haben will, jedoch bin ich noch nicht so pfiffig um hier Codezeilen zu sparen, kann mir jemand eine Lösung anbieten?


Select Case KeyAscii
  Case 48 To 57
    17-Zeilen-Code (If-, ElseIf-, End If-Anweisungen)
  Case 108, 76
    KeyAscii = 76
    17-Zeilen-Code (If-, ElseIf-, End If-Anweisungen)
  Case 109, 77
    KeyAscii = 77
    17-Zeilen-Code (If-, ElseIf-, End If-Anweisungen)
  Case 120, 88
    KeyAscii = 88
    17-Zeilen-Code (If-, ElseIf-, End If-Anweisungen)
  Case Else
    KeyAscii = 0
End Select



Wie kriege ich es hin, den 17-zeiligen Code nicht 3x zu kopieren? 79 Zeilen Code für so 'ne banale Sache find ich ein bißchen zu viel.
Vielen Dank für eurer rege Beteiligung beim Antworten.

Mit freundlichen Grüßen

Richard E.

  

Betrifft: AW: Bei Select Case-Anweisung Codezeilensparen von: Hajo_Zi
Geschrieben am: 24.10.2008 13:22:36

Hallo Richard,

wir sehen Deine 17 Zeilen nicht. Mache dafür ein eigenes Makro.

GrußformelHomepage


  

Betrifft: AW: Bei Select Case-Anweisung Codezeilensparen von: Richard E.
Geschrieben am: 24.10.2008 13:27:19


Hier die 17 Zeilen:


      If Len(txbArtikelnummer) = 2 Then
        If InStr(txbArtikelnummer, " ") = 0 Then
          txbArtikelnummer = txbArtikelnummer & " "
        End If
      ElseIf Len(txbArtikelnummer) = 5 Then
        If InStr(4, txbArtikelnummer, " ") = 0 Then
          txbArtikelnummer = txbArtikelnummer & " "
        End If
      ElseIf Len(txbArtikelnummer) = 9 Then
        If InStr(7, txbArtikelnummer, " ") = 0 Then
          txbArtikelnummer = txbArtikelnummer & " "
        End If
      ElseIf Len(txbArtikelnummer) = 14 Then
        If InStr(11, txbArtikelnummer, " ") = 0 Then
          txbArtikelnummer = txbArtikelnummer & " ."
        End If
      End If



Zahlen von 0-9, X, L u. M sind nur in einer Textbox zulässig. Die Buchstaben deswegen in eigenen Case's, weil ich nur Großbuchstaben haben will, dem Nutzer soll aber die Möglichkeit gegeben werden diese ohne Shift einzugeben. Das wars eigentlich.

Gruß

Richard E.


  

Betrifft: AW: Bei Select Case-Anweisung Codezeilensparen von: Hajo_Zi
Geschrieben am: 24.10.2008 13:32:41

Hallo Richard,

und was spricht gegen die Umsetzung meines Vorschlages?

Gruß Hajo


  

Betrifft: AW: Bei Select Case-Anweisung Codezeilensparen von: Richard E.
Geschrieben am: 24.10.2008 13:40:48

Ich habs mit einer Sub-Prozedur in einem Modul versucht, hat aber nicht geklappt. Ich probier einfach weiter.


  

Betrifft: AW: Bei Select Case-Anweisung Codezeilensparen von: Richard E.
Geschrieben am: 24.10.2008 13:43:33

Hallo Hajo,

ich habs. Vielen vielen Dank für den Vorschlag!

Gruß

Richard E.


Beiträge aus den Excel-Beispielen zum Thema "Bei Select Case-Anweisung Codezeilensparen"