Avatar billede Unicco Nybegynder
06. oktober 2011 - 17:57 Der er 1 kommentar og
1 løsning

Hente data fra Sheet ved indtastning

Hej Eksperter,

Jeg har lavet en VBA-Form. (Se evt. billede http://imageshack.us/photo/my-images/253/kundedata.jpg/)

Når brugeren taster KundensNavn ind i det første felt, læser den data fra et Sheet (KundeRegister). Hvis kundens informationer allerede findes (fra tidligere brug), skal txtFirmaNavn, txtAdresse, osv. automatisk udfyldes.

Hvis KundensNavn ikke allerede findes, skal den oprettes i KundeRegister. (Dette gøres umildbart med OFFSET funktionen).

Hvordan får jeg Formen til automatik hente disse informationer ind?
Avatar billede Unicco Nybegynder
06. oktober 2011 - 22:14 #1
For at forklare det lidt anderledes. Vil jeg gerne have en søgefunktion i kolonne A, hvis den finder "Fisk" i A32, skal den tage værdien i B32, og smide værdien over i mit txtAdresse.

Kan man bruge Vlookup til dette??

Need help!!
Avatar billede Unicco Nybegynder
21. oktober 2011 - 11:55 #2
Private Sub cboKundensNavn_Change() 
     
    Dim blnFound As Boolean 
    Dim lngRowNext As Long 
    Dim rng As Range 
    Dim rngA As Range 
    Dim strNavn As String 
    Dim wks1 As Worksheet 
     
    Set wks1 = ThisWorkbook.Worksheets("Sheet1") 
    Set rngA = wks1.Range("A2:A10") 
    strNavn = Me.cboKundensNavn.Value & vbNullString 
    blnFound = False 
     
    If strNavn <> vbNullString Then 
        For Each rng In rngA 
            If strNavn = rng.Value Then 
                Me.txtKundensFirmaNavn.Value = rng.Offset(0, 1).Value 
                blnFound = True 
                Exit For 
            End If 
        Next rng 
         
        If blnFound = False Then 
            lngRowNext = wks1.Range("A" & wks1.Range("A:A").Rows.Count).End(xlUp).Row + 1 
            wks1.Range("A" & lngRowNext).Value = strNavn 
        End If 
    End If 
End Sub 

Private Sub cmdCont_Click() 
     
    Dim wks1 As Worksheet 
     
    Set wks1 = ThisWorkbook.Worksheets("Sheet1") 
    Set rngA = wks1.Range("A2:A10") 
     
    strNavn = Me.cboKundensNavn.Value & vbNullString 
     
    If strNavn <> vbNullString Then 
        For Each rng In rngA 
            If strNavn = rng.Value Then 
                rng.Offset(0, 1).Value = Me.txtKundensFirmaNavn.Value 
                ' and so on 
                Exit For 
            End If 
        Next rng 
    End If 
     
End Sub
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