Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Automatisieren mit Makro

Betrifft: Automatisieren mit Makro
von: Marco
Geschrieben am: 13.04.2003 - 20:31:51

Hi Leute,

ich mache gerade ein Praktikum in ner Firma und habe folgendes Problem. Habe mir über ein Directory Print die relativen Pfade von Bildern in ne Excel Tabelle importiert. Nun sind in der Spalte A1 bis A1600 die jeweiligen Pfade zu den Bildern. Jetzt bräuchte ich in der Spalte C den entsprechenden Hyperlink. Dies per Hand zu relisieren wäre Wahnsinn. Könnte man da nicht ein Makro drüberlaufen lassen, was die Zeilen durchläuft den Inhalt der Spalte A ausliest und Ihn als Hyperlink in der Spalte C wieder ablegen, der dann zum entsprechenden Bild führt. Der link sollte mit dem Namen picture beschriftet sein. Wenn also irgendwer weiß was ich meine und mir helfen kann, würde mir das sehr helfen.
Vielen Dank und viele Grüße Marco.

  

Re: Automatisieren mit Makro
von: Ramses
Geschrieben am: 13.04.2003 - 20:42:01

Hallo,

kopiere die Spalte mit den Pfaden nach spalte C und lass das Makro laufen:


Sub Change_CellValue_into_Hyperlink()
'Allgemeine Variablen setzen
Dim TabName As String, Spalte As String
Dim i As Long, Cr As Long, Cc As Integer
Dim n As Integer, Start As Integer, QE As Integer
Cr = 65536
'Spalte abfragen
Spalte = InputBox("In welcher Spalte stehen Ihre Hyperlinks?", "Spaltenauswahl", "A")
If IsNumeric(Spalte) Then
    QE = MsgBox("Bitte nur einen Buchstaben eingeben", vbCritical + vbOKOnly, "Eingabefehler")
    Exit Sub
End If
'Spaltennummer berechnen
Cc = Range(Spalte & ":" & Spalte).Column
'Letzten Eintrag in dieser Spalte suchen
If Cells(Cr, Cc) = "" Then
    Cr = Cells(Cr, Cc).End(xlUp).Row
End If
Debug.Print Cr
'In welcher Zeile beginnen die Daten
Start = InputBox("In welcher Zeile beginnen Ihre Hyperlinks ?", "Hyperlinkwandlung", 1)
'Eingabeprüfung
If IsNull(Start) Then
    QE = MsgBox("Keine Eingabe erfolgt", vbCritical + vbOKOnly, "Abbruch")
    Exit Sub
End If
If Not IsNumeric(Start) Then
    QE = MsgBox("Bitte nur die Zeilennummer eingeben", vbCritical + vbOKOnly, "Eingabefehler")
    Exit Sub
End If
Debug.Print Start
'Zellinhalte in Hyperlinks umwandeln
For i = Start To Cr
    TabName = Cells(i, Cc)
    Debug.Print TabName
    Cells(i, Cc).Hyperlinks.Add Anchor:=Cells(i, Cc), Address:="", SubAddress:=TabName & "!A1", TextToDisplay:="Picture"
Next i
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

  

Re: Automatisieren mit Makro
von: ChrisL
Geschrieben am: 13.04.2003 - 20:48:36

Hallo Marco

Versuchs mal hiermit...

Dim i As Long
Dim Pfad As String, Datei As String

For i = 1 To Range("A65536").End(xlUp).Row
If IsEmpty(Cells(i, 1)) = False Then
Datei = Cells(i, 1)
Pfad = "C:\Pfad\" & Datei
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 3), Address:=Pfad, _
TextToDisplay:=Datei
End If
Next i

Den Pfad musst du noch ergänzen.

Gruss
Chris

 

Beiträge aus den Excel-Beispielen zum Thema "Automatisieren mit Makro"