Hallo!
Ich habe leider folgendes Problem:
Ich habe es mit Hilfe des Internets vorerst hinbekommen ein Makro zu erstellen, dass beim Befüllen der Spalte A2 - A35 automatisch ein neues Tabellenblatt mit demselbigen Namen erstellt.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Selection.Count > 1 Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "In diesen Bereich dürefen sie nur eine Zelle wählen!"
Exit Sub
End If
If Intersect(Target, Range("A2:A20")) Is Nothing Then Exit Sub
For a = 1 To ThisWorkbook.Sheets.Count
If Sheets(a).Name = Target.Text Then
MsgBox "Tabelle mit den Namen: " & Target & " ist schon vorhanden"
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
Exit Sub
End If
Next a
Application.EnableEvents = False
If Target.Text > "" Then
Sheets("Vorlage").Copy Before:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Target
Target.Offset(0, 1) = ActiveSheet.Name
ElseIf Target.Text = "" Then
On Error Resume Next 'Sicherheit wegen EnableEvents
Application.DisplayAlerts = False
Sheets(Target.Offset(0, 1).Text).Delete
Target.Offset(0, 1) = ""
Application.DisplayAlerts = True
End If
Application.EnableEvents = True
End Sub
Sub jKLÖDJWÖ()
Application.EnableEvents = True
End Sub
Nun hätte ich gern, dass beim befüllen der Spalte automatisch auch ein Hyperlink zum besagten Tabellenblatt mit gleichem Namen erstellt wird.
Also z.B.: Wenn ich im Tabellenblatt "Tabelle" in A2 "Max Mustermann" tippe so erstellt sich automatisch ein neues Tabellenblatt und gleichzeitig ein Hyperlink zum neuen Tabellenblatt.
Spiele mich schon seit paar Stunden mit dem Code, komme aber nicht ganz dahinter wie ich es anstellen soll, dass Excel automatisch den Namen des Tabellenblattes auszulesen (und das für die ganze Spalte A).
Application.EnableEvents = True
Dim Zelle As Range
Dim rngSpalte As Range
Set rngSpalte = Range("A2:A35") 'anpassen!
For Each Zelle In rngSpalte
If Zelle = "" Then Exit For
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Worksheets(1).Cells(1, 2).Value & "'!A2"
Dim Loletzte As Long
Loletzte = Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile Spalte 1
Set rngSpalte = Range("A2:A" & Loletzte) 'anpassen!
Kann mir hier jemand bitte weiterhelfen?
|