Avatar billede Slettet bruger
14. august 2009 - 17:55 Der er 1 kommentar og
1 løsning

Tilføje kontaktpersoner fra excel til word-formes

Hej Eksperter

Jeg er helt nu i VBA

Jeg har lavet en brevskabelon, når man starter skabelonen kommer der en dialogboks "Forms" hvor føgende skal udfylde: firmanavn, personer, adresse, post nr og by og når man siger ok bliver det skrevet i dokumentet.

Det min spørgsmål går på er kan man lave et rullegardin "combobox" som viser kontaktpersonerne fra et excel-dokument og når man har valgt den personer man skal bruge, bliver felterne "teksboks" firmanavn, personer, adresse, post nr og by. udfylt i dialogboks "Forms".

Håber at jeg har udtryk mig rigtig, og at i vil bare over med mig da jeg ikke har den store viden for VBA.

Ekspelet:

Tekste i rullegardin "combobox"

Hele navn/Firma
Casper Parker Petersen/Alectia A/S
Avatar billede supertekst Ekspert
14. august 2009 - 18:39 #1
Ja - det skulle kunne lade sig gøre - hvordan er de enkelte data placeret i regnearket? Evt. send den/de relevante fil(er) pr.mail - adr under min profil.

(ps.: arbejder med Office2003)
Avatar billede supertekst Ekspert
15. august 2009 - 17:56 #2
VBA-Kode, der viser/henter data fra separat Excel-fil til Word-skabelon - i eksisterende Userform:

Const standardSti = "C:\Documents and Settings\pb.KHNBPB\Skrivebord\Parker\"
Const filnavnXLS = "ProjektAdresseListe.xls"
Const startRækXls = 2
Dim adrXLS
Dim sti
Private Sub UserForm_activate()
    sti = standardSti
   
    åbnAdresseFilen
    visAdresser
    lukAdresseFilen
End Sub
Private Sub annuller_Click()
    Unload brev
End Sub
Private Sub kontakt_Click()                        'kontakt er valgt
Rem hent den valgte adresse
    åbnAdresseFilen
    hentAdressen Me.kontakt.ListIndex
    lukAdresseFilen
End Sub
Private Sub hentAdressen(ix)                        'overtfør til userform
Dim ræk As String
    ræk = ix + startRækXls
   
    With adrXLS.Activeworkbook.Sheets(1)
        Me.firma = .Range("A" & ræk)
        Me.att = .Range("B" & ræk)
        Me.adr = .Range("F" & ræk)
        Me.post = .Range("G" & ræk)
        Me.by = .Range("H" & ræk)
    End With
End Sub
Private Sub åbnAdresseFilen()
    Set adrXLS = CreateObject("Excel.Application")
    With adrXLS
        .Workbooks.Open sti + filnavnXLS
    End With
End Sub
Private Sub visAdresser()
Dim række As Long, ræk As String
Dim kontakt As String, firma As String
    With adrXLS.Activeworkbook.Sheets(1)
        For række = startRækXls To 65000
            ræk = række
            If .Cells(ræk, 1) = "" Then
                Exit For
            Else
                Me.kontakt.AddItem .Range("B" & ræk) + "/" & .Range("A" & ræk)
            End If
        Next række
    End With
   
    Me.kontakt.DropDown
End Sub
Private Sub lukAdresseFilen()
    adrXLS.Application.Quit
    Set adrXLS = Nothing
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
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