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
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