Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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
Inhaltsverzeichnis

In Excel Ordner erstellen und Link erzeugen

In Excel Ordner erstellen und Link erzeugen
18.01.2016 11:51:50
Katja
Hallo,
kann mir jemand helfen, irgendwie dieses Problem zu lösen.
https://www.herber.de/bbs/user/102855.xlsx
Es geht dabei um die Erstellung von Unterordner dessen Name durch Excel vorgegeben wird und die Eintragung eines entsprechenden Links dazu.
Näheres dazu steht in der Datei.
Hat hierzu wer eine Idee?
Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Excel Ordner erstellen und Link erzeugen
18.01.2016 12:53:19
Sepp
Hallo Katja,
in das Modul der Tabelle, (Rechtsklick auf Blattregister > Code anzeigen) und einer Schaltfläche zuweisen.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub makeLinks()
Dim rng As Range
Dim lngLast As Long, lngLastCol As Long
Dim strPath As String, strlink As String

strPath = ThisWorkbook.Path & "\"
lngLast = Application.Max(4, Cells(Rows.Count, 6).End(xlUp).Row)
lngLastCol = Application.Max(7, Cells(3, Columns.Count).End(xlToLeft).Column)

For Each rng In Range(Cells(4, 7), Cells(lngLast, lngLastCol)).SpecialCells(xlCellTypeConstants)
  If IsNumeric(rng) Then
    If rng < 99 Then
      strlink = Cells(rng.Row, 1).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 2).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 3).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 4).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 5).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 6).Text & rng.Text
      
      If MakeSureDirectoryPathExists(strPath & strlink & "\") <> 0 Then
        Me.Hyperlinks.Add rng, strPath & strlink
      End If
    End If
  End If
Next

End Sub

Gruß Sepp

Anzeige
AW: In Excel Ordner erstellen und Link erzeugen
18.01.2016 15:11:52
Katja
Hallo,
besten Dank.
Hat super funktioniert,
https://www.herber.de/bbs/user/102859.xlsm
hätte das Ganze versucht zu übernehmen in meine Datei.
Problem dabei es wird immer irgendwie eine Zeile eingefügt, wenn ich den Code starte.
Ich finde aber den Fehler nicht.

AW: In Excel Ordner erstellen und Link erzeugen
18.01.2016 15:23:16
Sepp
Hallo Katja,
klar, du hast ja auch Selection.Insert.... drinn stehen.
Ich würde es so schreiben.
Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub makeLinks()
Dim rng As Range
Dim lngLast As Long, lngLastCol As Long
Dim strPath As String, strlink As String

strPath = ThisWorkbook.Path & "\"
lngLast = Application.Max(16, Cells(Rows.Count, 23).End(xlUp).Row)
lngLastCol = 44

Me.Unprotect "sperl"

For Each rng In Range(Cells(17, 24), Cells(lngLast, lngLastCol)).SpecialCells(xlCellTypeConstants)
  If IsNumeric(rng) Then
    If rng < 99 Then
      strlink = Cells(rng.Row, 1).MergeArea.Cells(1, 3).Text & _
        Cells(rng.Row, 4).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 5).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 6).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 7).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 8).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 9).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 10).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 11).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 12).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 13).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 14).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 15).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 16).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 17).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 18).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 19).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 21).MergeArea.Cells(1, 1).Text & _
        Cells(rng.Row, 23).Text & rng.Text
      
      If MakeSureDirectoryPathExists(strPath & strlink & "\") <> 0 Then
        Me.Hyperlinks.Add rng, strPath & strlink
      End If
    End If
  End If
Next
Me.Protect Password:="sperl"

End Sub

Gruß Sepp

Anzeige
AW: In Excel Ordner erstellen und Link erzeugen
18.01.2016 15:44:42
Katja
Super danke hat funktioniert.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige