ich melde mich nochmal wegen der Datenbank mit Eingabe- und Suchmaske. Für die Eingabe müssen Kalibrierungszertifikate für die erfassten Bauteile angehängt werden. Das würde ich gerne über eine Userform machen, die sich nach dem Eingeben der Datei automatisch öffnet.
Das Zertifikat (PDF) soll im Reiter Kalibrierungszertifikate auf dem Data Worksheet an der richtigen Position angehängt werden. Meine Idee war es, dass die Userform nach der Seriennummer sucht und durch ein Offset die richtige Position für das Zertifikat findet und anhängt. Ist es möglich, dass jeder Nutzer der Datenbank zum Anhängen der PDF auf den Ordner geführt wird, in dem alle Zertifikate liegen und man nur noch auf die Datei klicken/doppelklicken muss?
Fragen: 1. Gibt es bessere/einfachere Vorschläge? 2. Wie würde ich die Userform nach der Seriennummer suchen lassen - der einzige Wert, der neben der Position einmalig ist. 3. Wie lasse ich über die Userform Pdf Dateien anhängen?
Eine möglichst zensierte Datei ist hier angehangen.
Private Sub CommandButton1_Click() Dim f As Office.FileDialog Set f = Application.FileDialog(msoFileDialogFilePicker) With f .AllowMultiSelect = False 'Nur eine Datei auswählbar .ButtonName = "Auswählen" 'Button Beschriftung .Filters.Clear 'erst alle Filter löschen .Filters.Add "Pdf-Dateien", "*.pdf" 'dann eigene anlegen .InitialFileName = "C:\" 'Startverzeichnis .Show End With Dim d As String If f.SelectedItems.Count > 0 Then ' Prüfen auf 'Abbrechen'-Button d = f.SelectedItems(1) End If Columns("G:G").Find(TextBox1, LookIn:=xlValues, lookat:=xlWhole).Offset(, 2).Value = d 'Nach dem Anhängen soll sich diese Userform wieder schließen Me.Hide
End Sub
Ausprobieren und anpassen.
Gruss, Raoul
Folgende(r) 1 Nutzer sagt Danke an Raoul21 für diesen Beitrag:1 Nutzer sagt Danke an Raoul21 für diesen Beitrag 28 • JustinHentschel
21.08.2020, 08:43 (Dieser Beitrag wurde zuletzt bearbeitet: 21.08.2020, 08:43 von JustinHentschel.)
Hallo Raoul und Uwe
vielen Dank für deine Hilfe! Genau das, wonach ich gesucht habe.
Allerdings ist es jetzt so, dass ich in der Zelle den Dateipfad und nicht die Datei selbst als Hyperlink hinzugefügt habe. Welche Änderung müsste ich dann vornehmen?
Wenn ich Unload.Me einsetze bekomme ich eine Fehlermeldung - bei Me.Hide nicht. Woran kann das liegen? Nutze den von Raoul geschriebenen Code.
Natürlich klappt das mit dem .Hyperlink aktuell nicht - wie würde es denn richtig aussehen? Auch ein d.Hyperlink oder Ähnliches klappt nicht...
Zitat: .Offset(1, 8) = "=HYPERLINK(&d)"
Habe mal das ausprobiert - ohne das "&" gibt der einen Hyperlink an, den er nicht benennt. Wie schreibe ich es richtig, dass die Variable d richtig ausgelesen wird?
Hi Justin Ersetze den Schluss des Makros von oben so:
Code:
End If Worksheets("Filterdata").Hyperlinks.Add anchor:=Columns("G:G").Find(TextBox1, LookIn:=xlValues, lookat:=xlWhole).Offset(, 2), _ Address:=d, TextToDisplay:="Link" 'Nach dem Anhängen soll sich diese Userform wieder schließen Me.Hide
End Sub
Nun wird der Text "Link" als anklickbarer Link zur Datei erstellt.
Gruss, Raoul
Folgende(r) 1 Nutzer sagt Danke an Raoul21 für diesen Beitrag:1 Nutzer sagt Danke an Raoul21 für diesen Beitrag 28 • JustinHentschel