Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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
VBA Von Zelle aus Link in andere Spalte
28.07.2022 11:22:39
Raucher
Hallo, ich benötige ein wenig Hilfe.
Bin noch totaler VBA-Neuling und versuche ein Projekt zu realisieren.
Ich erstelle gerade eine Personaldatenbank in Excel, in die per Userform Daten eingegeben werden sollen.
Das Ziel ist es, alle Eingaben oder Abfragen nur über die Userform zu ermöglichen, ohne direkten Zugriff auf die Tabelle.
Das habe ich auch soweit schon recht gut hinbekommen.
Mein Problem liegt jetzt bei einem Hyperlink, der zum jeweiligen Personalordner des Mitarbeiters führen soll.
Mit einem Mausklick auf einen Commandbutton soll der Ordner mit Unterordnern erzeugt werden. Dabei setzt sich der Name des
Ordners aus dem Nachnamen, dem Vornamen und der Personalnummer zusammen. Das funktioniert auch, der Ordner und Unterordner werden wie gewünscht erstellt.
Nun möchte ich, das beim erzeugen der Ordner der entsprechende Link ausgehendend von der Zelle in der sich die Personalnummer befindet in der selben Zeile in die
30te Spalte eingetragen wird. Excel erzeugt den Link zwar in der 30ten Spalte aber um 16 Zeilen nach unten versetzt. Also zum Beispiel von Zelle A1 ausgehend in Zelle AD17. Wo liegt mein Fehler? Ich bitte um Hilfe.
Hier ist mein verwendeter Code:

Private Sub CommandButtonORDNERNEU_Click()
'Neue Ordner erzeugen
On Error Resume Next
'Hauptordner anlegen
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text
'Unterordner anlegen
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Arbeitsvertrag, Anstellungsvertrag, Dienstvertrag, Vertragsänderung"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Aus- und Weiterbildungsunterlagen"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Berichte über Arbeitsunfälle"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Bescheinigungen (MuSch, SB, Elternzeit, pers. Schriftwechsel, Kind krank etc.)"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Bewerbung, Lebenslauf, Zeugnisse"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Datenschutzverpflichtungen"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Eingruppierungen, Zulagen"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Entwicklungsplan"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Kündigung, Austrittsdokumente"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Leistungsbewertungen, Beurteilungen"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Sonstiges"
MkDir "C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text & "\ Zwischenzeugnisse"
'Hyperlink erzeugen
Dim finden As Range
Set finden = Columns(1).Find(what:=TextBoxPERSONALNUMMER.Value)
ActiveSheet.Hyperlinks.Add anchor:=finden(ActiveCell.Row, 30), Address:="C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text, TextToDisplay:="Personalordner"
On Error GoTo 0
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Von Zelle aus Link in andere Spalte
28.07.2022 11:45:17
Heli
Hi,
der Fehler dürfte beim Einfügen passieren - Du suchst erst die Zeile der Personalnummer, den anchor wird dann aber wieder über eine Suche gesetzt - müsste so korrigiert werden:

ActiveSheet.Hyperlinks.Add anchor:=finden.Offset(0, 29), Address:="C:\Users\cgrams\Documents\Digitale Personalakte\" & TextBoxNACHNAME.Text & "_" & TextBoxVORNAME.Text & "_" & TextBoxPERSONALNUMMER.Text, TextToDisplay:="Personalordner"
Durch .Offset wird vom Suchergebnis 29 Spalten nach Rechts gegangen - da in Spalte 1 gesucht wird landest Du in Spalte 30
Ungetestet!
Viele Grüße, Heli
Anzeige
AW: VBA Von Zelle aus Link in andere Spalte
28.07.2022 12:08:17
Raucher
Hallo Heli,
vielen lieben Danke für die Hilfe. Jetzt funktioniert es. :-)
Liebe Grüße vom Raucher

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige