Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablen übergeben

Variablen übergeben
21.06.2005 09:24:09
Nique
Guten Morgen,
ich habe 2 nacheinander ablaufende Makros, die jedes mal durch eine Tastenkombination ausgelöst werden. Ist es möglich vom 1. Makro in das 2. Variablen zu übergeben?
Vielen Dank
Nique

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen übergeben
21.06.2005 09:27:20
Alexander Weinhard
Hallo Nique.
Natürlich kannst du von einem Makro in den anderen Parameter übergeben. Du musst entweder den einen aus dem anderen aufrufen, oder die Parameter für das Workbook 'Public' machen.
Gruß, Alex.
AW: Variablen übergeben
21.06.2005 09:29:55
Sylvio
Schreib zum Beispiel einfach
Option Explicit
Public i as integer
Public a as integer 'das Public ist entscheidend

Sub a()
i=2
End Sub


Sub b()
a=i
End Sub

Gruß Sylvio
AW: Variablen übergeben
21.06.2005 09:58:28
Nepumuk
Hi Sylvio,
kleiner Tipp, wenn sich die Makros in einem Modul befinden, reicht es, wenn du die Variable mit Dim bzw. Private anlegst. Nur wenn sie Modulübergreifend benutzt werden soll, muss sie als Public deklariert werden.
Gruß
Nepumuk
Anzeige
AW: Variablen übergeben
21.06.2005 10:04:48
Sylvio
Hallo Nepumuk,
danke wusste ich bisher auch nicht habe es immer blindlinks genutz um sub/Userform übergreifend zu arbeiten
gruß sylvio
AW: Variablen übergeben
21.06.2005 09:32:48
Uwe Küstner
Hallo Nique,
ein Beispiel:

Sub Makro1()
Dim strPara As String
strPara = "Hallo"
Makro2 strPara
End Sub


Sub Makro2(Parameter As String)
MsgBox Parameter
End Sub

Gruß Uwe
AW: Variablen übergeben
21.06.2005 09:50:15
Nique
Hi,
ich danke euch. Ich werds gleich mal ausprobieren.
Wenns noch Fragen gibt, meld ich mich wieder.
tschüssi Nique
AW: Variablen übergeben
21.06.2005 10:09:48
Nique
Hi Sylvio,
hab deine Lösung grad mal probiert und irgendwie funktionierts nicht ganz.
Kann ja mal meinen Quelltext zeigen, vielleicht muss ich ja noch irgendwas beachten.

Sub KdNrSchreiben überträgt Daten aus Excel nach Word. Dabei habe ich eine Wordvorlage, die immer wieder unter neuem Namen gespeichert wird. Nun muss ich mir aber den Namen des Dokuments merken. Der Übertrag geschieht aus Mappe 1.
Das 2. Makro funktioniert aus Mappe 2 und überträgt ebenfalls Daten. Diese sollten in das gleiche Dokument wie das 1. Makro geschrieben werden. Leider schaffe ich es nicht den Namen des Dokuments zu übertragen.
Ich dachte mir, weil ja die der Name des Dokuments ebenfalls aus der Excel-Tabelle in Mappe 1 kommt, kann ich dann im 2. Makro darauf zugreifen. Geht leiden nicht weil ich die Zuordnung der Zelle über Markierungen löse. Das 2. Makro nimmt nicht die markierte Zelle des 1. Makros.

Sub KdNrSchreiben()
Const anzBookmarks = 32
Dim BookmarkArrayUeber(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim markedZeile As Integer
Dim markedSpalte As Integer
Dim wrdFileName As String
Dim wrdDokument
Dim master(4) As String
Dim Mitarbeiter(5) As String
Dim i As Integer
master(1) = ActiveWorkbook.Path & "\"
master(2) = ActiveWorkbook.Name
master(3) = ActiveWorkbook.Sheets(1).Name
master(4) = ActiveWorkbook.Sheets(2).Name
markedZeile = ActiveCell.Row
markedSpalte = ActiveCell.Column
Dim Dateiname As String
Dateiname = "\" + Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value + ".doc"
Dim lobjWord As Word.Application
Dim lwrdDoc As Word.Document
Set lobjWord = CreateObject("Word.Application")
Set lwrdDoc = lobjWord.Documents.Add(ActiveWorkbook.Path & "\Kundenmappe_Vorlage.dot")
With lwrdDoc
.SaveAs ActiveWorkbook.Path & Dateiname
.Close
End With
lobjWord.Quit
Set lwrdDoc = Nothing
Set lobjWord = Nothing
wrdFileName = master(1) & Dateiname
BookmarkArrayUeber(1) = "Kundennummer"
BookmarkArrayUeber(2) = "Kundenname"
BookmarkArrayUeber(3) = "VorRL"
BookmarkArrayUeber(4) = "NachRL"
BookmarkArrayUeber(5) = "RL"
BookmarkArrayUeber(6) = "TelRL"
BookmarkArrayUeber(7) = "MobilRL"
BookmarkArrayUeber(8) = "MailRL"
BookmarkArrayUeber(9) = "VorGL"
BookmarkArrayUeber(10) = "NachGL"
BookmarkArrayUeber(11) = "GL"
BookmarkArrayUeber(12) = "TelGL"
BookmarkArrayUeber(13) = "MobilGL"
BookmarkArrayUeber(14) = "MailGL"
BookmarkArrayUeber(15) = "VorACCE"
BookmarkArrayUeber(16) = "NachACCE"
BookmarkArrayUeber(17) = "ACCE"
BookmarkArrayUeber(18) = "TelACCE"
BookmarkArrayUeber(19) = "MobilACCE"
BookmarkArrayUeber(20) = "MailACCE"
BookmarkArrayUeber(21) = "VorSCM"
BookmarkArrayUeber(22) = "NachSCM"
BookmarkArrayUeber(23) = "SCM"
BookmarkArrayUeber(24) = "TelSCM"
BookmarkArrayUeber(25) = "MobilSCM"
BookmarkArrayUeber(26) = "MailSCM"
BookmarkArrayUeber(27) = "VorCRep"
BookmarkArrayUeber(28) = "NachCRep"
BookmarkArrayUeber(29) = "CRep"
BookmarkArrayUeber(30) = "TelCRep"
BookmarkArrayUeber(31) = "MobilCRep"
BookmarkArrayUeber(32) = "MailCRep"
Mitarbeiter(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 7).Value
Mitarbeiter(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 9).Value
Mitarbeiter(3) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 16).Value
Mitarbeiter(4) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 11).Value
Mitarbeiter(5) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 14).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte).Value
InhaltArray(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value
i = 1
Set wrdDokument = GetObject(wrdFileName)
Do Until Workbooks(master(2)).Sheets(master(4)).Cells(i, 1) = "" And Workbooks(master(2)).Sheets(master(4)).Cells(i + 1, 1) = ""
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(1) Then
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(7) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(8) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(2) Then
InhaltArray(9) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(10) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(11) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(12) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(13) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(14) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(3) Then
InhaltArray(15) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(16) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(17) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(18) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(19) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(20) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(4) Then
InhaltArray(21) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(22) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(23) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(24) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(25) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(26) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(5) Then
InhaltArray(27) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(28) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(29) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(30) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(31) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(32) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
i = i + 1
Loop
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayUeber(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayUeber(i)
Next
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Left = 90
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Left = 250
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Copy
wrdDokument.Bookmarks("bild2").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Left = 410
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Copy
wrdDokument.Bookmarks("bild3").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Left = 115
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Copy
wrdDokument.Bookmarks("bild4").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Left = 340
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Copy
wrdDokument.Bookmarks("bild5").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub


Sub CopyRL() ' Kopiert den markierten Mitarbeiter an die Stelle des RL im Word-Dokument "Kundenmappe.doc"
Const anzBookmarks = 6
Dim BookmarkArrayRL(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim markedSpalte As Integer
Dim markedZeile As Integer
Dim wrdFileName As String
Dim wrdDokument
Dim master(4) As String
master(1) = ActiveWorkbook.Path & "\"
master(2) = ActiveWorkbook.Name
master(3) = ActiveWorkbook.Sheets(1).Name
master(4) = ActiveWorkbook.Sheets(2).Name
Dateiname = "\" + Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value + ".doc"
BookmarkArrayRL(1) = "VorRL"
BookmarkArrayRL(2) = "NachRL"
BookmarkArrayRL(3) = "RL"
BookmarkArrayRL(4) = "TelRL"
BookmarkArrayRL(5) = "MobilRL"
BookmarkArrayRL(6) = "MailRL"
markedZeile = ActiveCell.Row
markedSpalte = ActiveCell.Column
InhaltArray(2) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 1).Value
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 2).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 3).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 5).Value
Set wrdDokument = GetObject(wrdFileName)
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayRL(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayRL(i)
Next
Dim PersNr As Integer
PersNr = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte - 1).Value
ActiveWorkbook.Sheets(3).Shapes(PersNr).Left = 90
ActiveWorkbook.Sheets(3).Shapes(PersNr).Top = 620
ActiveWorkbook.Sheets(3).Shapes(PersNr).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub

Anzeige
AW: Variablen übergeben
21.06.2005 10:21:23
Sylvio
Hallo Nique
staune was aus mein bissel Text geworden ist nicht schlecht.
kurze Nachfrage versteh ich das richtig?
in sub KdNrSchreiben() erstellst du dir ein lwrdDoc was du abspeicherst
und das lwrdDoc möchtest du im zweiten sub mit wrdFileName
wieder aufrufen
Gruß Syl
AW: Variablen übergeben
21.06.2005 10:37:32
Sylvio
Hallo Nique,
mach mal folgendes
Option Explicit
Public wrdFileName as String
Jetzt

Sub KdNrSchreiben()
Dim wrdFileName as String rauslöschen
End Sub

Nun

Sub CopyRL()
Am anfang des subs
Msgbox wrdFileName,vbinformation,"test",0,0 'Nur um zu testen ob er die Variable übergibt
Dim wrdFileName as String rauslöschen
End Sub


Ich glaub es liegt daran das du im zweiten

Sub CopyRL() noch einmal Dim wrdFileName machst und somit ist der speicher wieder leer.
Ansonsten kommste voran, wirst noch Profi werden :-)
Gruß Sylvio

Anzeige
AW: Variablen übergeben
21.06.2005 10:44:38
Nique
Also, ich speichere das Dokument unter dem Kundennamen und genau der gleiche Kundenname soll im 2. Makro wieder aufgerufen werden. Bin jetzt auch schon ein Stück weiter, aber so ganz richtig wills immer noch nicht.
Kannst ja mal schauen. Im 2. Makro führt er die Schleife nicht aus, die die Daten dann letztendlich überträgt.
Bin ich echt stolz drauf, was ich da geschafft habe. Wie du siehst, hab ich jetzt auch das mit den Bildern geschafft.
Darf ich noch was fragen???
Wenn zum 2. Mal von einem Kunden eine Datei erstellt wird, dann hat sie ja den gleichen Namen. Leider gibt es damit ein Problem. Jetzt habe ich überlegt, ob es einfach so möglich ist die Word-Datei zu überschreiben. Gibt es dafür Befehle???
Aber was eigentlich besser wäre ist, wenn man das Datum im Dateinamen speichern könnte. Dazu fehlen mir jedoch auch die Befehle und dann weiß ich auch nicht, wie ich dann den Aufruf organisieren. Kannst du mir dabei auch weiterhelfen???
Public markedZeile As Integer
Public markedSpalte As Integer


Sub KdNrSchreiben()
Const anzBookmarks = 32
Dim BookmarkArrayUeber(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim wrdFileName As String
Dim wrdDokument
Dim master(4) As String
Dim Mitarbeiter(5) As String
Dim i As Integer
master(1) = ActiveWorkbook.Path & "\"
master(2) = ActiveWorkbook.Name
master(3) = ActiveWorkbook.Sheets(1).Name
master(4) = ActiveWorkbook.Sheets(2).Name
markedZeile = ActiveCell.Row
markedSpalte = ActiveCell.Column
Dim Dateiname As String
Dateiname = "\" + Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value + ".doc"
Dim lobjWord As Word.Application
Dim lwrdDoc As Word.Document
Set lobjWord = CreateObject("Word.Application")
Set lwrdDoc = lobjWord.Documents.Add(ActiveWorkbook.Path & "\Kundenmappe_Vorlage.dot")
With lwrdDoc
.SaveAs ActiveWorkbook.Path & Dateiname
.Close
End With
lobjWord.Quit
Set lwrdDoc = Nothing
Set lobjWord = Nothing
wrdFileName = master(1) & Dateiname
BookmarkArrayUeber(1) = "Kundennummer"
BookmarkArrayUeber(2) = "Kundenname"
BookmarkArrayUeber(3) = "VorRL"
BookmarkArrayUeber(4) = "NachRL"
BookmarkArrayUeber(5) = "RL"
BookmarkArrayUeber(6) = "TelRL"
BookmarkArrayUeber(7) = "MobilRL"
BookmarkArrayUeber(8) = "MailRL"
BookmarkArrayUeber(9) = "VorGL"
BookmarkArrayUeber(10) = "NachGL"
BookmarkArrayUeber(11) = "GL"
BookmarkArrayUeber(12) = "TelGL"
BookmarkArrayUeber(13) = "MobilGL"
BookmarkArrayUeber(14) = "MailGL"
BookmarkArrayUeber(15) = "VorACCE"
BookmarkArrayUeber(16) = "NachACCE"
BookmarkArrayUeber(17) = "ACCE"
BookmarkArrayUeber(18) = "TelACCE"
BookmarkArrayUeber(19) = "MobilACCE"
BookmarkArrayUeber(20) = "MailACCE"
BookmarkArrayUeber(21) = "VorSCM"
BookmarkArrayUeber(22) = "NachSCM"
BookmarkArrayUeber(23) = "SCM"
BookmarkArrayUeber(24) = "TelSCM"
BookmarkArrayUeber(25) = "MobilSCM"
BookmarkArrayUeber(26) = "MailSCM"
BookmarkArrayUeber(27) = "VorCRep"
BookmarkArrayUeber(28) = "NachCRep"
BookmarkArrayUeber(29) = "CRep"
BookmarkArrayUeber(30) = "TelCRep"
BookmarkArrayUeber(31) = "MobilCRep"
BookmarkArrayUeber(32) = "MailCRep"
Mitarbeiter(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 7).Value
Mitarbeiter(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 9).Value
Mitarbeiter(3) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 16).Value
Mitarbeiter(4) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 11).Value
Mitarbeiter(5) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 14).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte).Value
InhaltArray(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value
i = 1
Set wrdDokument = GetObject(wrdFileName)
Do Until Workbooks(master(2)).Sheets(master(4)).Cells(i, 1) = "" And Workbooks(master(2)).Sheets(master(4)).Cells(i + 1, 1) = ""
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(1) Then
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(7) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(8) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(2) Then
InhaltArray(9) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(10) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(11) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(12) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(13) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(14) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(3) Then
InhaltArray(15) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(16) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(17) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(18) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(19) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(20) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(4) Then
InhaltArray(21) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(22) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(23) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(24) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(25) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(26) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(5) Then
InhaltArray(27) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(28) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(29) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(30) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(31) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(32) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
i = i + 1
Loop
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayUeber(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayUeber(i)
Next
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Left = 90
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Left = 250
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Copy
wrdDokument.Bookmarks("bild2").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Left = 410
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Copy
wrdDokument.Bookmarks("bild3").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Left = 115
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Copy
wrdDokument.Bookmarks("bild4").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Left = 340
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Copy
wrdDokument.Bookmarks("bild5").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub


Sub CopyRL() ' Kopiert den markierten Mitarbeiter an die Stelle des RL im Word-Dokument "Kundenmappe.doc"
Const anzBookmarks = 6
Dim BookmarkArrayRL(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim markedSpalt As Integer
Dim markedZeil As Integer
Dim wrdFileName As String
Dim wrdDokument
Dim master(4) As String
master(1) = ActiveWorkbook.Path & "\"
master(2) = ActiveWorkbook.Name
master(3) = ActiveWorkbook.Sheets(1).Name
master(4) = ActiveWorkbook.Sheets(2).Name
Dateiname = "\" + Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value + ".doc"
wrdFileName = master(1) & Dateiname
BookmarkArrayRL(1) = "VorRL"
BookmarkArrayRL(2) = "NachRL"
BookmarkArrayRL(3) = "RL"
BookmarkArrayRL(4) = "TelRL"
BookmarkArrayRL(5) = "MobilRL"
BookmarkArrayRL(6) = "MailRL"
markedZeil = ActiveCell.Row
markedSpalt = ActiveCell.Column
InhaltArray(2) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt + 1).Value
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt + 2).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt + 3).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt + 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt + 5).Value
Set wrdDokument = GetObject(wrdFileName)
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayRL(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayRL(i)
Next
Dim PersNr As Integer
PersNr = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeil, markedSpalt - 1).Value
ActiveWorkbook.Sheets(3).Shapes(PersNr).Left = 90
ActiveWorkbook.Sheets(3).Shapes(PersNr).Top = 620
ActiveWorkbook.Sheets(3).Shapes(PersNr).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub

Anzeige
AW: Variablen übergeben
21.06.2005 10:50:39
Sylvio
Gleiches Problem wieder
wenn du Public nutzt darfst du es innerhalb der subs nicht mehr neu dimmen
Dim markedSpalte As Integer
Dim markedZeile As Integer
beides aus zweiten sub raus
Gruß Sylvio
zu deiner zweiten frage
21.06.2005 11:03:48
Sylvio
Ich geh mal davon aus das er bisher an der entsprechenden stelle meckerte wenn datei schon vorhanden ist.
mit Application.DisplayAlerts = False schaltest du das meckern ab und kannst weiter
befehle geben wie z.B.: wrdDokument.Close wdSaveChanges
anschließend Application.DisplayAlerts =true wieder zurück damit er alles andere danach wieder weitermeckern kann.
Gruß Sylvio
Anzeige
AW: zu deiner zweiten frage
21.06.2005 11:17:05
Sylvio
alt: Dateiname = "\" + Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value + ".doc"
ich seh gerade du hast da glaub ich noch nen fehler geht das mit dem + bei Dir
weil ich kenne blo? diese Format
Dateiname = "\" & Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value & ".doc"
so nun zum datum an den dateinamen anhängen:
Dim sFileName As String
sFileName = Format(Now, "mmddyy")
Dateiname = "\" & Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value & sFileName & ".doc"
bzw. wenn es bei Dir funzt & durch + ersetzen
Hast noch mehr Fragen?
Gruß Sylvio


Anzeige
Überarbeitung
21.06.2005 11:47:20
Sylvio
Ih habe es nochmal überarbeitet ohne es testen zu können
Gruß Sylvio

Option Explicit
Public master(4) As String
Public i As Integer ' i ist in der Regel immer für sachleifen vorgesehen
Public Dateiname As String
Public wrdFileName As String

Sub KdNrSchreiben()
Const anzBookmarks = 32
Dim BookmarkArrayUeber(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim markedZeile As Integer
Dim markedSpalte As Integer
Dim wrdDokument
Dim Mitarbeiter(5) As String
Dim datumszusatz As String
master(1) = ActiveWorkbook.Path & "\"
master(2) = ActiveWorkbook.Name
master(3) = ActiveWorkbook.Sheets(1).Name
master(4) = ActiveWorkbook.Sheets(2).Name
markedZeile = ActiveCell.Row
markedSpalte = ActiveCell.Column
datumszusatz = Format(Now, "mmddyy")
Dateiname = "\" & Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value & datumszusatz & ".doc"
Dim lobjWord As Word.Application
Dim lwrdDoc As Word.Document
Set lobjWord = CreateObject("Word.Application")
Set lwrdDoc = lobjWord.Documents.Add(ActiveWorkbook.Path & "\Kundenmappe_Vorlage.dot")
With lwrdDoc
.SaveAs ActiveWorkbook.Path & Dateiname
.Close
End With
lobjWord.Quit
Set lwrdDoc = Nothing
Set lobjWord = Nothing
wrdFileName = master(1) & Dateiname
BookmarkArrayUeber(1) = "Kundennummer"
BookmarkArrayUeber(2) = "Kundenname"
BookmarkArrayUeber(3) = "VorRL"
BookmarkArrayUeber(4) = "NachRL"
BookmarkArrayUeber(5) = "RL"
BookmarkArrayUeber(6) = "TelRL"
BookmarkArrayUeber(7) = "MobilRL"
BookmarkArrayUeber(8) = "MailRL"
BookmarkArrayUeber(9) = "VorGL"
BookmarkArrayUeber(10) = "NachGL"
BookmarkArrayUeber(11) = "GL"
BookmarkArrayUeber(12) = "TelGL"
BookmarkArrayUeber(13) = "MobilGL"
BookmarkArrayUeber(14) = "MailGL"
BookmarkArrayUeber(15) = "VorACCE"
BookmarkArrayUeber(16) = "NachACCE"
BookmarkArrayUeber(17) = "ACCE"
BookmarkArrayUeber(18) = "TelACCE"
BookmarkArrayUeber(19) = "MobilACCE"
BookmarkArrayUeber(20) = "MailACCE"
BookmarkArrayUeber(21) = "VorSCM"
BookmarkArrayUeber(22) = "NachSCM"
BookmarkArrayUeber(23) = "SCM"
BookmarkArrayUeber(24) = "TelSCM"
BookmarkArrayUeber(25) = "MobilSCM"
BookmarkArrayUeber(26) = "MailSCM"
BookmarkArrayUeber(27) = "VorCRep"
BookmarkArrayUeber(28) = "NachCRep"
BookmarkArrayUeber(29) = "CRep"
BookmarkArrayUeber(30) = "TelCRep"
BookmarkArrayUeber(31) = "MobilCRep"
BookmarkArrayUeber(32) = "MailCRep"
Mitarbeiter(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 7).Value
Mitarbeiter(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 9).Value
Mitarbeiter(3) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 16).Value
Mitarbeiter(4) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 11).Value
Mitarbeiter(5) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 14).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte).Value
InhaltArray(2) = Workbooks(master(2)).Sheets(master(3)).Cells(markedZeile, markedSpalte + 2).Value
i = 1
Set wrdDokument = GetObject(wrdFileName)
Do Until Workbooks(master(2)).Sheets(master(4)).Cells(i, 1) = "" And Workbooks(master(2)).Sheets(master(4)).Cells(i + 1, 1) = ""
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(1) Then
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(7) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(8) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(2) Then
InhaltArray(9) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(10) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(11) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(12) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(13) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(14) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(3) Then
InhaltArray(15) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(16) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(17) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(18) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(19) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(20) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(4) Then
InhaltArray(21) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(22) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(23) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(24) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(25) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(26) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
If Workbooks(master(2)).Sheets(master(4)).Cells(i, 1).Value = Mitarbeiter(5) Then
InhaltArray(27) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 3).Value
InhaltArray(28) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 2).Value
InhaltArray(29) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 4).Value
InhaltArray(30) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 5).Value
InhaltArray(31) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 6).Value
InhaltArray(32) = Workbooks(master(2)).Sheets(master(4)).Cells(i, 7).Value
End If
i = i + 1
Loop
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayUeber(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayUeber(i)
Next
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Left = 90
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(1)).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Left = 250
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(2)).Copy
wrdDokument.Bookmarks("bild2").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Left = 410
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Top = 620
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(3)).Copy
wrdDokument.Bookmarks("bild3").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Left = 115
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(4)).Copy
wrdDokument.Bookmarks("bild4").Select
wrdDokument.Application.Selection.Paste
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Left = 340
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Top = 180
ActiveWorkbook.Sheets(3).Shapes(Mitarbeiter(5)).Copy
wrdDokument.Bookmarks("bild5").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub


Sub CopyRL() ' Kopiert den markierten Mitarbeiter an die Stelle des RL im Word-Dokument "Kundenmappe.doc"
Const anzBookmarks = 6
Dim BookmarkArrayRL(anzBookmarks) As String
Dim InhaltArray(anzBookmarks) As String
Dim markedSpalte As Integer
Dim markedZeile As Integer
Dim wrdDokument
BookmarkArrayRL(1) = "VorRL"
BookmarkArrayRL(2) = "NachRL"
BookmarkArrayRL(3) = "RL"
BookmarkArrayRL(4) = "TelRL"
BookmarkArrayRL(5) = "MobilRL"
BookmarkArrayRL(6) = "MailRL"
markedZeile = ActiveCell.Row
markedSpalte = ActiveCell.Column
InhaltArray(2) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte).Value
InhaltArray(1) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 1).Value
InhaltArray(3) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 2).Value
InhaltArray(4) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 3).Value
InhaltArray(5) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 4).Value
InhaltArray(6) = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte + 5).Value
Set wrdDokument = GetObject(wrdFileName) 'er nimmt jetzt das wrdFilename aus 

Sub 1
For i = 1 To anzBookmarks
wrdDokument.Bookmarks(BookmarkArrayRL(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayRL(i)
Next
Dim PersNr As Integer
PersNr = Workbooks(master(2)).Sheets(master(4)).Cells(markedZeile, markedSpalte - 1).Value
ActiveWorkbook.Sheets(3).Shapes(PersNr).Left = 90
ActiveWorkbook.Sheets(3).Shapes(PersNr).Top = 620
ActiveWorkbook.Sheets(3).Shapes(PersNr).Copy
wrdDokument.Bookmarks("bild1").Select
wrdDokument.Application.Selection.Paste
wrdDokument.Close
Set wrdDokument = Nothing
End Sub

Anzeige
AW: zu deiner zweiten frage
21.06.2005 12:01:42
Nique
Also das mit dem Datum funktioniert echt spitzenmäßg. Danke.
Dann andere teste ich dann jetzt und meld mich dann noch mal.
Danke. Monique
AW: Variablen übergeben
21.06.2005 11:20:41
Nique
Erst mal Danke für deine Hilfe.
Ganz ehrlich: Vom Profi bin ich noch ganz weit entfernt!!!
Die Schleife funktioniert immer noch nicht. Er macht alles ganz super bis genau zu dieser Stelle. Das kann ich mir nicht erklären.
For i = 1 To anzBookmarks

wrdDokument.Bookmarks(BookmarkArrayRL(i)).Select
wrdDokument.Application.Selection.text = InhaltArray(i)
wrdDokument.Bookmarks.Add Range:=wrdDokument.Application.Selection.Range, Name:=BookmarkArrayRL(i)

Next
Da gibt er schon in der Select-Zeile nen Fehler aus.
Die markierte Zeile und Spalte ist im Makro ne andere. Das Dimmen ist also nich doppelt, da ich andere Variablen-Namen benutzt habe. Oder geht das nicht???
danke noch mal.
tschüssi Monique
Anzeige
AW: Variablen übergeben
21.06.2005 11:31:54
Sylvio
ah seh gerade das e fehlt beim zweiten mal
Dim markedSpalt As Integer
Dim markedZeil As Integer
dann geht das
hast das mal mit der msgbox ausprobiert damit er den wert den du willst auch übergibt?
das problem mit dem select
Set wrdDokument = GetObject(wrdFileName)
liegt bestimmt daran das wrdFileName falsch zusammengesetzt ist siehe mein Text mit & statt +
ansonsten prüfen ob Textmarke im Dokument überhaupt vorhanden
Gruß Sylvio
AW: Variablen übergeben
21.06.2005 11:37:26
Nique
Also das mit dem Datum funktioniert super. Danke.
Kann ich da auch irgendwie Punkte reinsetzten oder so???
Das mit dem + hat bis jetzt noch keine Probleme gegeben. Macht er eigentlich normal. Aber ich ändern mal und probiers noch mal.
Aber die Bookmarks sind doch die gleichen wie beim 1. Makro und das funktioniert problemlos. Wenn ich das 2. Makro aber ausführe, dann kann er die Schleife nicht mehr ausführen und an die Bookmarks schreiben.
Anzeige
AW: Variablen übergeben
21.06.2005 11:54:48
Sylvio
Du kannst einen string beliebig zusammensetzten echter Vorteil dieser strings, ich arbeite nur noch mit den Dingern.
so hier: datumszusatz = Format(Now, "mm.dd.yy")
Gruß Sylvio
AW: Variablen übergeben
21.06.2005 13:04:26
Nique
Also. Danke, dass du den Quelltext noch mal überarbeitet hast.
Leider fünktioniert das immer noch nicht so richtig.
Hab mal ne Beispieldatei fertig gemacht.
https://www.herber.de/bbs/user/24046.xls

Die Datei https://www.herber.de/bbs/user/24047.doc wurde aus Datenschutzgründen gelöscht

(müßteste mal wieter in ne .dot umwandeln, ging aber anders nicht hochzuladen)
Funktionsweise:
1. Beide Dokumente ins gleiche Verzeichnis legen.
2. Excel-Tabelle öffnen.
3. Im Quelltext gucken, ob noch alle Dateinamen stimmen.
4. Nummer auf Sheet1 anklicken und Tastenkombination Strg+t
In deinem Verzeichnis liegt nun eine neue Word-Datei.
5. Beim 2. Makro gibt es dann ein Problem: Er sollen quasi die bereits eingetragenen Daten des 1. Mitarbeiters überschrieben werden.
Auf Sheet2 wechseln. Name anklicken und Strg+r drücken. Das Problem zeigt sich dann schon.

Mir ist jetzt aufgefallen, dass wenn ich die gespeicherte Datei öffne, er Makros aktiviren möchte. Diese Frage stellt er auch beim 2. Makro und dann bricht er ab!!!
Ist das vielleicht das Problem???
Danke Nique
AW: Variablen übergeben
21.06.2005 14:19:14
Sylvio
Hallo das Makro scheint ein Problem zu sein
hast du eins eingebaut in deine .dot oder entsteht das automatisch durch den ersten Teil?
Gruß Sylvio
AW: Variablen übergeben
21.06.2005 14:32:35
^Nique
Das scheint zu entstehen, wenn er die Datei neu speichert. Eigentlich dürfe in der Word-Vorlage keins drin sein.
Ich weiß aber auch nicht, warum das entsteht und wenn du in das neu gespeicherte Dokument guckst, ist eigentlich auch keins drin.
Was kann ich da machen???
tschüssi Monique
AW: Variablen übergeben
21.06.2005 15:10:14
Sylvio
Ich bin schon mal so weit das es an der nutzungsmethode liegt
CreateObject Getobject
Warum das aber in dem einen sub funktioniert und in dem anderen nicht ist mir spannisch.
Ich such noch nach ner Lösung notfalls poste den ausschnitt nochmal.
Alles weiß ich halt auch nicht. Tut mir echt leid.
Gruß Sylvio
AW: Variablen übergeben
22.06.2005 08:39:08
Nique
Trotzdem vielen Danke für deine Hilfe.
Werd das Problem dann noch mal reinstellen!!!
tschüssi Monique

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige