Avatar billede marlene_v Nybegynder
03. maj 2006 - 11:42 Der er 8 kommentarer og
1 løsning

søge i ark

Jeg skal lave en kode der går igennem hver linie i 12 forskellige filer (med samme opstilling) og finder et kunde id (kunde id står i kollonne A)
Avatar billede martin_moth Mester
03. maj 2006 - 12:47 #1
Hvad taler vi om - VB6, eller VBA til Excel, Access, ?
Avatar billede marlene_v Nybegynder
03. maj 2006 - 12:50 #2
det er VBA til excel
Avatar billede supertekst Ekspert
03. maj 2006 - 12:53 #3
Hvor mange filer - hvad hedder de - i samme mappe?
Avatar billede martin_moth Mester
03. maj 2006 - 12:54 #4
tager du den eller skal jeg, supertekst? :o)

(tror jeg venter og ser om supertekst svarer)
Avatar billede supertekst Ekspert
03. maj 2006 - 12:56 #5
m m - du er velkommen
Avatar billede marlene_v Nybegynder
03. maj 2006 - 12:59 #6
Mappen hedder salgsdata og der er 12 filer i mappen der hedder salg200501, salg200502, ....., salg200512 - altså en for hver måned i 2005
Avatar billede martin_moth Mester
03. maj 2006 - 14:01 #7
supertekst - go for it. Jeg har fået travlt igen. marlene_V: Vil du forsøge selv, så optag en mecro, og tilret koden bagefter
Avatar billede supertekst Ekspert
03. maj 2006 - 14:35 #8
Vender tilbage senere
mvh
Avatar billede supertekst Ekspert
03. maj 2006 - 17:36 #9
Kode i ThisWorkbook Mappe med de 12 Ark:
========================================
Sub workbook_activate()    'Kalder Userform1 *)
    Load UserForm1
    UserForm1.Show
End Sub

*)Userform1 indeholder en textbox1, hvori kundeId indtastes - en Textbox2, hvori resultatet vises samt en Luk-knap

I Userformen er koden følgende:
===============================
Private Sub CommandButton1_Click()
    Unload UserForm1
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim fundetId
    If TextBox1.Value <> "" Then
        fundetId = findKunde(TextBox1.Value)
        If fundetId <> "" Then
            TextBox2.Value = fundetId
        Else
            TextBox2.Value = "Ej fundet"
        End If
    End If
End Sub
Private Function findKunde(kId)
Dim arkNr, f, række, maxRækker
    For arkNr = 1 To ActiveWorkbook.Sheets.Count
        ActiveWorkbook.Sheets(arkNr).Activate
        ActiveSheet.Cells(1, 1).Select
        x = ActiveSheet.Name
        maxRækker = ActiveCell.SpecialCells(xlLastCell).Row
           
            For række = 2 To maxRækker      'Overskrift i række 1
                If LCase(Cells(række, 1)) = LCase(kId) Then
               
Rem Marker fundet kundeID i mappen
                    Cells(række, 1).Select
Rem returnere Fundnavn fra Kolonne 2 - samt arkNavn + Række
                    findKunde = Cells(række, 2) + " (" + ActiveSheet.Name + " række " + CStr(række) + ")"
                    Exit Function
                End If
            Next række
        Next arkNr
    findKunde = ""
End Function

- -
Håber du kan anvende dette - ellers giv signal
Har du brug for at se hele mappen - så send en mail til pb@supertekst-it.dk
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
Kurser inden for grundlæggende programmering

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