Ich habe ein Word-Dokument und ich möchte die gleichen Wörter aus Excel kommen. Sagen wir mal, beide sind in c: \ test Ich habe ein wenig Erfahrung mit VBA, aber dieses ist ein wenig drüber. In meinem Word-Dokument Ich habe einen Satz sagen läßt: Ich bin firstname
lastname
und my username is username
und dies ist meine Abteilung: department
Bestücken Excel-Daten in Word-Dokument mit VBA
Ich habe eine Excel-Daten genannt, mit einem Blatt namens sheet1 mit einem Tisch Benutzer aufgerufen und einige Spalten: Benutzername, Vorname, Nachname, Abteilung. Die Tabelle ist eine verknüpfte odbc-Tabelle und wird aktualisiert, wenn die Arbeitsmappe geöffnet wird.
- Meine erste Frage ist, welche Art von Objekt sollte ich für Vorname, Nachname, Benutzername, deparment in Wort verwenden? Ich legte einen Rich-Text-Steuerelement Inhalt und in diesem ein Legacy-Formular/Textfeld Feld und benannte die Lesezeichen in Vorname, Nachname .. usw.
- Ich möchte die Daten in Word von Excel mit Makro und Vlookup bevölkern. Ich habe keine Ahnung, wie das gemacht werden kann, ich habe ein bisschen Code, aber es funktioniert nicht. Wenn das Makro gestartet sollte ein Fenster mit dem
username
und die anderen Felder auf diesem Wert basiert haben, erscheint ausgefüllt werden
-Code. Unten:
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
Dim username As String
Dim firstname As String
Dim lastname As String
Dim department As String
username = InputBox("Please enter the username", "Input")
Set exWb = objExcel.Workbooks.Open("C:\test\data.xlsx")
username = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 1, False)
firstname = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 2, False)
lastname = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 3, False)
department = objExcel.WorksheetFunction.VLookup(username, _
eexWb.ActiveSheet.Range("A:F"), 4, False)
exWb.Close
Set exWb = Nothing
Dank dieser Code ist ausgezeichnet und gut funktioniert. Gibt es eine Möglichkeit, das Makro mehrmals auszuführen und die Lesezeichen zu aktualisieren? wie Makro zuerst rune Benutzername: uname1, und Makro zweiten Durchlauf Benutzername: uname2. Im Moment des mehrfachen Durchlaufs werden die Werte nebeneinander eingefügt. Wäre es möglich, die vorhandenen Werte zu überschreiben? –
@TamasKosa - setze die Replace-Option in 'UpdateBookmark' auf True. Ich habe es bei False gelassen, basierend auf meiner derzeitigen Verwendung. –