MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 04.01.2019, 15:33   #1
tobi.du
Neuer Benutzer
Neuer Benutzer
Standard VBA - Excel Daten an Word übergeben

Hallo zusammen,

ich konnte bislang immer alle Probleme durchs mitlesen bzw. durch andere Seiten im Internet gut lösen. Nun komme ich aber doch nicht weiter und muss selber mal eine Frage stellen.

Problemstellung ist, dass wir durch die Kommunikationsabteilung vorgegebene Briefvorlagen haben.
Darin ist auch ein Feld für den Absender vorgesehen, in denen wir unsere eigenen Daten, Name, Tel., Fax,. Mail angeben.
Nun macht es aufgrund mehrerer hundert verschiedenen Dokumententypen keinen Sinn die eigenen Daten zu speichern und diese Vorlage dann immer zu nutzen. Daher nutzen wir in unserem Team (12 Personen) nahezu immer das für einen Mitarbeiter personalisierte letzte Dokument und ändern dann die Absenderangaben (und auch die Anschrift des Adressaten).

Daher wollte ich, mal eben , ein Makro schreiben, der die Absenderangaben aus einer Exceldatei (Inhalt je Spalte: Username, Vorname, Name, Telefon, Fax, MailAdresse) ausliest und immer für den angemeldeten User automatisch im Worddokument ausfüllt.

Es besteht bereits ein Makro welches bei jedem Dokument genutzt wird, im Formular von diesem habe ich eine Schaltfläche hinzugefügt:

Code:

Public Sub Briefkopf_Click()
Dim Username As String
Dim AnzahlFields As Byte
Dim Vorlage As Document
Dim AktuellesDokument As Document
Dim AbsenderNameVorname As String
Dim AbsenderTelefon As String
Dim AbsenderMail As String
Dim AbsenderFax As String
Dim Excelsheet As Object

Set AktuellesDokument = ActiveDocument  'Zur Ansprache des richtigen Dokuments definiert
Username = Environ("USERNAME")  'Systemuser auslesen

Set Vorlage = Documents.Open("C:DATATemplatesGermany-OBHBusinessLetter_OBH.dotx") 'Originalvorlage öffnen
Vorlage.Unprotect       'Dokumentenschutz entfernen, sonst Laufzeitfehler, Im Original immer aktiviert, daher keine Abfrage nötig.
Vorlage.Frames(2).Range.Copy    'Textbox Absender aus Original kopieren
Vorlage.Close False             ' Vorlage wieder schließen

If AktuellesDokument.ProtectionType = wdAllowOnlyFormFields Then AktuellesDokument.Unprotect  'Zur Vermeidung von Laufzeitfehlern Dokumentenschutz aufheben.
AktuellesDokument.Frames(2).Range.Delete        'Derzeitiges Absenderfeld im Userdokument löschen
AktuellesDokument.Frames(2).Range.Paste         'Absenderfeld aus Originalvorlage einfügen

Set Excelsheet = CreateObject("Excel.Application").Workbooks.Open("S:HTHHTH_MitarbeiterBerghoffDatenquellen MakrosUserdaten.xlsx")  'Datenbank für Absenderdaten öffnen

AbsenderNameVorname = Excelsheet.Application.Cells(2, 3) & " " & Excelsheet.Application.Cells(2, 4)

AnzahlFields = AktuellesDokument.Fields.Count   'Fields durchzählen, da User ggf. andere Felder (versehentlich/bewusst) gelöscht hat
ActiveDocument.Fields(AnzahlFields - 4).Result.Text = Me.txtPNR     'Eingabe aus Formular
ActiveDocument.Fields(AnzahlFields - 3).Result.Text = AbsenderNameVorname
ActiveDocument.Fields(AnzahlFields - 2).Result.Text = AbsenderTelefon
ActiveDocument.Fields(AnzahlFields - 1).Result.Text = AbsenderFax
ActiveDocument.Fields(AnzahlFields).Result.Text = AbsenderMail

Unload frmBarcode
Set Excelsheet = Nothing
Set Vorlage = Nothing
End Sub
Dieser Code läuft grundsätzlich fehlerfrei durch.

Die Zeile:
Code:

AbsenderNameVorname = Excelsheet.Application.Cells(2, 3) & " " & Excelsheet.Application.Cells(2, 4)
funktioniert und gibt dann später in
Code:

ActiveDocument.Fields(AnzahlFields - 3).Result.Text = AbsenderNameVorname
den richtigen Wert aus.

Das Einfügen der Werte in die Fields ergibt sich übrigens aus der Originalvorlage der Komm.-Abteilung, welche das eben so gemacht haben, daher habe ich es übernommen. Das Zählen ergibt sich dadurch, das sauch für Adressblock, Datum und Betreffzeile Fields benutzt wurden, der User diese aber oftmals überschreibt und sonst keine korrekte Zuordnung zum richtigen Field erfolgen könnte.
Aber das Funktioniert auch grundsätzlich alles:

Ich habe allerdings keine Idee, wie ich die Abfrage nicht absolut gestalte, sondern quasi in Word VBA auf Excel zugreifend einen Sverweis mit dem ausgelesenen Username durchführe um diesem dann die entsprechende Zeile und Spalte für den erforderlichen Wert zuzuordnen.

Die Zeile(n) müsste(n) also eigentlich heißen:
AbsenderNameVorname = Excelsheet.Application.Sverweis(Username,A:Z,Spalte3,0)
so dann die anderen Werte z. B.
AbsenderMail = Excelsheet.Application.Sverweis(Username,A:Z,Spalte5,0)

Ich habe es versucht mit:
Code:

AbsenderMail = Excelsheet.Application.WorksheetFunction.VLookup(Username, "A:Z", 5, False)
Das gibt mir aber Laufzeitfehler 1004, "Die Vlookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden."
Ich habe leider keine Idee, was ich mit der Fehlermeldung anfangen kann.

Ich hoffe ich habe es verständlich erklärt und jemand kann mir einen Hinweis geben, wie ich den Code finalisieren kann.

Danke und Gruß Tobi

Geändert von tobi.du (04.01.2019 um 15:43 Uhr).
tobi.du ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.01.2019, 02:19   #2
Luschi
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Tobi,

mit etwas mehr Genauigkeit ist auch das kein Problem:
Code:

Sub MachMal()
    Dim xlApp As Object     'Excel-Applikation
    Dim xlWB As Object      'ist Excel-Arbeitsmappe
    Dim xlWS As Object      'ist Excel-Tabellenblatt
    Dim rgBereich As Object 'Excel-Range-Bereich für SVerweis
    Dim xlTabName As String
    
    Dim AbsenderNameVorname As String, AbsenderMail As String
    
    'Name der Tabelle in der geöffneten ArbeitsmappeLuschi10
    xlTabName = "DingsDaBumsDa"
    
    Set xlApp = CreateObject("Excel.Application")
    'Arbeitsmappe schreibgeshützt öffnen
    Set xlWB = xlApp.Workbooks.Open("F:DatenDownloads126491.xlsx", , True)
    Set xlWS = xlWB.Worksheets(xlTabName)
    
    
    AbsenderNameVorname = xlWS.Cells(2, 1).Value & " " & xlWS.Cells(2, 2).Value
    'oder
    AbsenderNameVorname = xlWS.Range("A2").Value & " " & xlWS.Range("B2").Value
    
    Set rgBereich = xlWS.Range("A1:Z100")
    AbsenderMail = xlWB.Parent.WorksheetFunction.VLookup(Username, rgBereich, 5, False)
    
    'zum Schluß aufräumen
    Set rgBereich = Nothing: Set xlWS = Nothing
    xlWB.Saved = True
    xlWB.Close: Set xlWB = Nothing
    xlApp.Quit: Set xlApp = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Luschi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2019, 15:51   #3
tobi.du
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Super, vielen Dank. Das hat auf Anhieb funktioniert.

Nun dachte ich, wenn ich - als Hobby Programmierer - gerade den Dreh raus habe mit den Excel Verbindungen, mache ich direkt noch eine weitere Sache, in dem ich aus einer Excel Tabelle mit allen Adressen unserer Mitarbeiter das Adressfeld befülle.

Code:

Public Sub Adressat()

Dim AdressAnrede As String
Dim AdressTitel As String
Dim AdressTitel2 As String
Dim AdressVorname As String
Dim AdressNachname As String
Dim AdressVorsatz As String
Dim AdressVorsatz2 As String
Dim AdressZusatz As String
Dim AdressStrasse As String
Dim AdressPLZ As String
Dim AdressOrt As String
Dim AdressLand As String

Dim AnzahlFields As Byte
Dim WordVorlage As Document
Dim WordAktuellesDokument As Document

Dim xlWS As Object 'Worksheet
Dim xlWB As Object 'Workbook
Dim xlApp As Object 'ExcelApp
Dim rgBereich As Object 'Bereich für Sverweis
Dim xlTabName As String

Set WordAktuellesDokument = ActiveDocument
If WordAktuellesDokument.ProtectionType = wdAllowOnlyFormFields Then WordAktuellesDokument.Unprotect  'Zur Vermeidung von Laufzeitfehlern Dokumentenschutz aufheben.

Set WordVorlage = Documents.Open(Pfad/Datei...dot) 'Originalvorlage öffnen
WordVorlage.Unprotect       'Dokumentenschutz entfernen, sonst Laufzeitfehler, Im Original immer aktiviert, daher keine Abfrage nötig.
WordVorlage.Frames(1).Range.Copy    'Textbox Absender aus Original kopieren
WordVorlage.Close False             ' Vorlage wieder schließen


If WordAktuellesDokument.ProtectionType = wdAllowOnlyFormFields Then WordAktuellesDokument.Unprotect  'Zur Vermeidung von Laufzeitfehlern Dokumentenschutz aufheben.
WordAktuellesDokument.Frames(1).Range.Delete        'Derzeitiges Absenderfeld im Userdokument löschen
WordAktuellesDokument.Frames(1).Range.Paste         'Absenderfeld aus Originalvorlage einfügen

'Excel Daten auslesen
xlTabName = "RawData"
Set xlApp = CreateObject("Excel.Application")
Set xlWB = xlApp.Workbooks.Open(Pfad/Datei...xlsx", , True)  'Datenbank für Absenderdaten schreibgeschützt öffnen
Set xlWS = xlWB.worksheets(xlTabName)
Set rgBereich = xlWS.Range("A1:N10000")

AdressAnrede = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 9, 0)
If AdressAnrede = "männlich" Then
    AdressAnrede = "Herrn"
    Else: AdressAnrede = "Frau"
End If
AdressTitel = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 2, 0)
AdressTitel2 = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 3, 0)
AdressVorname = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 4, 0)
AdressNachname = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 5, 0)
AdressVorsatz = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 6, 0)
AdressVorsatz2 = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 7, 0)
AdressZusatz = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 8, 0)
AdressStrasse = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 11, 0)
AdressPLZ = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 12, 0)
AdressOrt = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 13, 0)
AdressLand = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 14, 0)

'Alle Bestandteile einer möglichen Adresszeile prüfen und einfügen
AnzahlFields = 1
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressAnrede & Chr(11)
AnzahlFields = AnzahlFields + 1
If AdressTitel <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressTitel & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressTitel2 <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressTitel2 & " "
    AnzahlFields = AnzahlFields + 1
End If
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorname
AnzahlFields = AnzahlFields + 1
If AdressZusatz <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressZusatz & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressVorsatz <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorsatz & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressVorsatz2 <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorsatz2 & " "
    AnzahlFields = AnzahlFields + 1
End If
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressNachname & Chr(11)
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressStrasse & Chr(11)
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressPLZ & " "
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressOrt & Chr(11)
AnzahlFields = AnzahlFields + 1
If AdressLand <> "Deutschland" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressLand
End If
xlWB.Close False

GoTo keineFehler
Set rgBereich = Nothing
Set xlWB = Nothing
Set xlWS = Nothing
Set xlApp = Nothing
Set WordVorlage = Nothing
Set WordAktuellesDokument = Nothing


End Sub
Allerdings bekomme ich wieder den vlookup Fehler in der fett markierten Zeile.
Da die Excelzuweisungen in den Zeilen davor funktionieren (er öffnet die korrekte Datei mit xlapp.visible = true) bin ich ratlos, was ich dort jetzt falsch gemacht haben könnte. Schließlich ist der Code doch genau der gleiche, außer, dass das Suchkriterium anders ist, nämlich aus einem VBA Formular kommt (das funktioniert auch) und die Spalte in der gesucht wird anders ist.
Auch mit Eingabe im Direktfenster mit absoluten Werten anstatt variablen bekomme ich immer den gleichen Fehler.

Was übersehe ich dort?

Andere Frage, wenn ich xlApp.quit mache, schließt er dann auch ggf. andere offene Excel Dateien? Dann würde ich es sicherheitshalber mit xlWB.close belassen.

Geändert von tobi.du (07.01.2019 um 16:33 Uhr).
tobi.du ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2019, 16:41   #4
EarlFred
MOF Guru
MOF Guru
Standard

Moin,

Code:

AdressAnrede = xlWB.Parent.Worksheetfunction.vlookup(Me.txtPNR, rgBereich, 9, 0)
Was steht in txtPNR? Was für ein Datentyp ist es bzw. müsste es sein?
Sverweis unterscheidet den Typ: Die Suche nach "123" wird die Zahl 123 niemals finden - und umgekehrt. Wenn Du nach einer Zahl suchst, musst Du den Text vorher in eine Zahl wandeln, z. B.
Code:

AdressAnrede = xlApp.Worksheetfunction.vlookup(Clng(Me.txtPNR), rgBereich, 9, 0)
xlWB.Parent entspricht ja xlApp, also kann man das auch verwenden. Habe ich oben bereits angepasst.

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 7 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,049% per 19.12.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.01.2019, 08:29   #5
tobi.du
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo und danke, auch das hat wieder geklappt.

txtPNR ist eigentlich eine 7-stellige Zahl, allerdings dann vermutlich als string übergeben und im Excelsheet als Zahl zu finden. Durch die Umwandlung mit clng funktioniert der "SVerweis".
Ich hatte es im Direktfenster während des Durchlaufs selber mit vlookup("1234567",...) versucht und ebenfalls den Fehler erhalten. Daher dachte ich es läge nicht an der Suche selber.

Natürlich ergibt sich im weiteren Programmablauf aber noch eine Fragestellung

Mein Plan war, jeden Bestandteil einer Adresszeile, also Anrede, Titel, Vorsatz, Zusatz, Vorname, Nachname, Straße, .... als ein FormField in ein Textfeld (Frames(1)) einzufügen und dann einzeln zu prüfen, ob überhaupt ein Titel/Vorsatz/Zusatz vorhanden ist und die Felder dann zu füllen.

Zu Beginn ist ein Field im Frame vorhanden, welches befüllt wird. Anschließend soll ein weiteres eingefügt werden, daher AnzahlFields +1 und dann mit dem nächsten Feld befüllt werden.

Code:

AnzahlFields = 1
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressAnrede
AnzahlFields = AnzahlFields + 1
If AdressTitel <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressTitel & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressTitel2 <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressTitel2 & " "
    AnzahlFields = AnzahlFields + 1
End If
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorname
AnzahlFields = AnzahlFields + 1
If AdressZusatz <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressZusatz & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressVorsatz <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorsatz & " "
    AnzahlFields = AnzahlFields + 1
End If
If AdressVorsatz2 <> "" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressVorsatz2 & " "
    AnzahlFields = AnzahlFields + 1
End If
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressNachname & Chr(11)
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressStrasse & Chr(11)
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressPLZ & " "
AnzahlFields = AnzahlFields + 1
WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressOrt & Chr(11)
AnzahlFields = AnzahlFields + 1
If AdressLand <> "Deutschland" Then
    WordAktuellesDokument.FormFields.Add Selection.Range, wdFieldFormTextInput
    WordAktuellesDokument.FormFields(AnzahlFields).Result = AdressLand
End If
Leider wird das neue Formfield durch die Selection.Range Sache immer als erstes im Frame eingefügt, dadurch geht meine Logik nicht auf. Die Zeile .formfields.add Selection.range habe ich mir aus irgendeinem Forum geklaut und kenne mich mit selection und range eigentlich gar nicht aus.

Wie kann ich die Selection immer an das Ende des Textfeldes (Frames) setzen bzw. gibt es eine clevere Lösung wie ich die einzelnen Felder mit entsprechenden Absätzen einfügen kann?

Vielen Dank für eure Hilfe!
tobi.du ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.01.2019, 16:58   #6
tobi.du
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Mir ist eine andere Lösung eingefallen, die scheinbar erstmal funktioniert. Vielen Dank für die Hilfe.
tobi.du ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.