Avatar billede h_s Forsker
06. maj 2009 - 18:54 Der er 5 kommentarer og
1 løsning

Problemer med foranstående nuller i dropdown

Efter jeg har gjort, som der står i spørgsmål:
http://www.eksperten.dk/spm/873173

Har jeg problemer med dropdownen. Når der er foranstående nuller kan jeg godt finde den i drodownen, men kan ikke indtaste og når jeg vælger den bliver det ikke registeret.

Hvad er der galt?

Her er makroen i dropdownen:

Private Sub cbVarenummer_Change()
On Error GoTo Fejl
lbVarenavn.Caption = cbVarenummer.Column(1)
Exit Sub
Fejl:
'MsgBox "Nummeret findes ikke"
sLangTekst = "Varenummer findes ikke!"
  Tilbageførsel = MsgBox(sLangTekst, vbOKOnly + vbInformation, "Systeminformation")
 
  'Marker hele det indtastede varenummer når det er forkert
    Me.cbVarenummer.SelStart = 0
    Me.cbVarenummer.SelLength = Len(Me.cbVarenummer.Text)
   
    'Sætter lbVarenavn til at være blank
    lbVarenavn = ""
End Sub

Her er makroen, der aktiveres når formen startes:

Private Sub UserForm_Activate()
'Aktiver ufOptælling og starter i Dropdown
With cbVarenummer
  .RowSource = "Status!A1:B19000"
  .ListIndex = 0
End With
'Marker hele varenummer i starten
    Me.cbVarenummer.SelStart = 0
    Me.cbVarenummer.SelLength = Len(Me.cbVarenummer.Text)

End Sub


Jeg kan forestille mig, at der kun læses det der reelt står i kolonne A og ikke det formaterede - eksempel:

der står reelt: 82565899
Men jeg vil have 10 cifre, så jeg formater cellen til 0082565899
I dropdown vises 0082565899, men når den vælges mangler der de 2 nuller og der registreres ikke noget du for varenumret.

HJÆLP :-)
Avatar billede h_s Forsker
06. maj 2009 - 19:38 #1
Det kan også være her, den er gal:

Worksheets("Status").Activate ' arket den skal arbejde på
ActiveSheet.Unprotect
    Columns("A:A").Select
    Selection.Find(What:=cbVarenummer, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
      :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                  False).Offset(0, 3).Activate
Avatar billede kabbak Professor
06. maj 2009 - 22:35 #2
prøv med

Worksheets("Status").Activate ' arket den skal arbejde på
ActiveSheet.Unprotect
    Columns("A:A").Select
    Selection.Find(What:=Val(cbVarenummer), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
      :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                  False).Offset(0, 3).Activate
Avatar billede h_s Forsker
07. maj 2009 - 08:31 #3
Det virker desværre ikke.

Problemet opstår allerede når jeg prøver at indtaste varenummer i dropdown. Så får jeg at vide den ikke findes!
Avatar billede kabbak Professor
08. maj 2009 - 19:45 #4
Når du taster manuelt ind i din cbo, så ændres (change) den jo ved hvert indtastet tegn, så trikker koden.
Var det ikke bedte at skrive hele nummeret og så kalde koden, når du forlader cbo.


prøv at rette
Private Sub cbVarenummer_Change()
til
Private Sub cbVarenummer_LostFocus()

bare for at se om det hjalp
Avatar billede h_s Forsker
08. maj 2009 - 22:00 #5
Det virker ikke - Når jeg indtaster et nul som det første foreslår den første varenummer og overskriver ikke det efterhånden. Den indsætter det jeg skriver i førset varenummer.

Det er heller ikke godt, for der skal tjekkes manuelt om varen er den rigtige. Det gøres vet at tjekke varenavn ud fra varenummer.

Hvad gør LostFocus()?

Håber du kan komme på en anden ide! :-)

Jeg sender dig også gerne arket, hvis det er nemmere!
Avatar billede h_s Forsker
06. december 2009 - 16:36 #6
Spørgsmål lukkes!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester