in meiner kürzlichen Frage vom 17.3.2018 habe ich u.a. folgenden Code erhalten, um Daten in eine geschlossene Datei zu übertragen.
Funktioniert bestens. Dafür nochmal ganz herzlichen Dank an Hajo und Thorsten alias Nepumuk!
Ich möchte nun noch eine Prüfung vorschalten, ob der Grunddatensatz bereits vorhanden ist; denn dann soll eine ÜBERSCHREIBUNG stattfinden.
Zur Prozedur:
1)
VOR dem nachfolgende aufgeführten Code-Schnipsel wird aus dem ExcelSheet ein PDF erzeugt.
Der Speicherort ist als 'strTMP' deklariert.
2)
Danach erfolgt der Übertrag in das geschlossene Workbook und aus strTMP wird der Hyperlink wie folgt erzeugt:
Set WkSh_Q = ThisWorkbook.Worksheets("Mangel-Erfassung")
Set WkSh_Z = Workbooks(sDatei).Worksheets("Datenpool")
'Übertrag des Copy-Bereiches in nächste leere Zeile (In Spalte A wird zunächst nur ein _
Platzhalter eingetragen; dort wird gleich der Hyperlink eingetragen)
WkSh_Q.Cells.Range("M1:AE1").Copy
With WkSh_Z
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
'Jetzt Eintrag des Hyperlinks, der sich aus dem Speicherort des zuvor (hier nicht angezeigten) _
erzeugten PDFs ergibt (strTMP):
With WkSh_Z
lngLastRow = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp). _
Row, .Rows.Count) + 0
.Cells(lngLastRow, 1).Hyperlinks.Add Anchor:=.Cells(lngLastRow, 1), Address:=strTMP & ". _
pdf", TextToDisplay:=strTMP
End With
Es läuft also in 2 Schritten ab: Zuerst werden die Daten ab Spalte B in die nächste leere Zeile der Zieldatei (Datenpool) übertragen und danach wird in Spalte A der GLEICHEN Zeile (da ist zunächst ein Platzhalter eingetragen) der Hyperlink eingetragen, der sich aus dem Speicherort des PDFs zusammensetzt (hier: strTMP).
3)
Soweit alles bestens. Jetzt mein Anliegen:
Wenn der Hyperlink (Spalte A) bereits vorhanden ist, dann soll die Zeile in der Zieldatei komplett ÜBERSCHRIEBEN werden. Es braucht also nichts ergänzt werden, sondern es kann überschrieben werden, weil aus der Quelldatei immer alle Daten dabeisein werden.
Ich möchte den Hyperlink als Prüfwert nehmen, weil er eine eindeutige Prüfung ermöglicht.
Wie müsste der Code dann lauten?
Wie immer bin ich sehr gespannt und freue mich auf einen Lösungsvorschlag.
VG
Dietmar