Springen naar inhoud


- - - - -

Tekst Voor Bepaald Getal Verandern


  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 Hugo

Hugo

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 17 jun 2021 14:10

Geplaatst op 19 april 2021 - 14:29

Hey

Ik heb een probleempje

In een werkblad heb ik cellen die gegevens halen uit een andere werkmap.
dit lukt allemaal maar in een bepaalde cel moet er voor de getallen een bepaalde tekst komen:

bij de cijfers van 0 tem 899 met er SFG voor komen te staan en bij getallen vanaf 900 met er EBC komen te staan.
Ik heb volgende code hiervoor gebruikt:

If Not Application.Intersect(rngBelcode, Range(Target.Address)) Is Nothing Then
        strerr = "foutcode: BLD4-7"
        Application.EnableEvents = False
        strBelcode = Cells(Target.Row, Target.Column).Value
        Select Case UCase(strBelcode)
            Case "***", "NVT", ">>>", "N.V.T."
                strBelcode = UCase(strBelcode)
            Case Else
                If Not IsNumeric(strBelcode) And Not strBelcode = "" Then
                    strBelcode = ""
                    MsgBox "Gelieve enkel cijfers in te geven", vbCritical, "Foutieve ingave Belcode"
                ElseIf strBelcode = "0" Then
                    strBelcode = ""
                    MsgBox "Gelieve enkel een getal tss 1 en 999 in te geven", vbCritical, "Foutieve ingave Belcode"
                ElseIf strBelcode = "999" Then
                    strBelcode = "Secreet"
                ElseIf strBelcode > "899" Then strBelcode = "EBC - " & strBelcode
                Else
                    Select Case Len(strBelcode)
                        Case 1
                            strBelcode = "SFG - 00" & strBelcode
                        Case 2
                            strBelcode = "SFG - 0" & strBelcode
                        Case 3
                            strBelcode = "SFG - " & strBelcode
                        Case 0
                            strBelcode = ""
                        Case Else
                            strBelcode = ""
                            MsgBox "Gelieve enkel een getal tss 1 en 999 in te geven", vbCritical, "Foutieve ingave Belcode"
                    End Select
                End If
        End Select
        Cells(Target.Row, Target.Column).Value = strBelcode
        Application.EnableEvents = True
    End If

nu dit werkt perfect, maar het probleem is dat wanneer ik alle getallen dat start 9 invul dat de tekst verkeerdelijk veranderd worden naar EBC - ...
voorbeelden:
input is 9 -> EBC - 9 maar moet zijn SFG - 009
90 -> EBC - 90 maar moet zijn SFG - 090
alles dus
al de rest die ik ingeef is correct

#2 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 809 berichten
    Laatst bezocht 21 jun 2021 07:07
  • LocatieMechelen (BE)

Geplaatst op 26 april 2021 - 19:49

Ik zou in de plaats op strings te testen op getallen testen, wat je gemallijk kunt en dan moet het wel juist zijn.
Visual Basic Code:
Select Case UCase(strBelcode)
			Case "***", "NVT", ">>>", "N.V.T."
				strBelcode = UCase(strBelcode)
			Case Else
				If Not IsNumeric(strBelcode) And Not strBelcode = "" Then
					strBelcode = ""
					MsgBox "Gelieve enkel cijfers in te geven", vbCritical, "Foutieve ingave Belcode"
else
if IsNumeric(strBelcode) then
dim iBelcode as interger
ibelcode=cint(strbelcode)
			 select case ibelcode
Case = 0
					strBelcode = ""
					MsgBox "Gelieve enkel een getal tss 1 en 999 in te geven", vbCritical, "Foutieve ingave Belcode"
		 case = 999
					strBelcode = "Secreet"
case > 899
strBelcode = "EBC - " & strBelcode
case else
					Select Case Len(iBelcode)
						Case 1
							strBelcode = "SFG - 00" & iBelcode
						Case 2
							strBelcode = "SFG - 0" & iBelcode
						Case 3
							strBelcode = "SFG - " & iBelcode
						Case 0 'kan dit wel?
							strBelcode = ""
						Case Else 'kan dit wel?
							strBelcode = ""
							MsgBox "Gelieve enkel een getal tss 1 en 999 in te geven", vbCritical, "Foutieve ingave Belcode"
					End Select
end select
End If
				End If
		End Select


#3 Hugo

Hugo

    Starting Developer

  • Leden
  • 2 berichten
    Laatst bezocht 17 jun 2021 14:10

Geplaatst op 08 juni 2021 - 14:30

thanx werkt perfect :)




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)