AW: Verknüpfung von zwei Zellen auf zwei Tabellenblättern
12.11.2023 18:16:32
Koko23
Hier ist nochmal mein (fast) vollständes Programm... Ich habe nur einen relativ umfangreichen Teil mit '... herausgelassen, bei dem zahlreiche Formatierungen etc. durchgeführt werden. Diese funktionieren bereits und die bringen keinen Mehrwert bei der Lösung meines Problems.
Ich habe den Hinweis mit QAdr=... von Piet eingearbeitet, das funktioniert - vielen Dank dafür!
Mein Problem ist aber leider immer noch nicht gelöst... es funktioniert alles einwandfrei, bis auf die Erstellung der Verknüpfung, als letztlich die letzten beiden Zeilen in meinem Code vor dem End Sub. Hier bekomme ich weiterhin eine Fehlermeldung und die Verknüpfung kann nicht automatisch erstellt werden.
Kann mir hier nochmal einer weiterhelfen, warum die Verknüpfung von der Quellzelle zur Zelle B1 auf dem neu generierten Sheet nicht funktioniert und dementsprechend der Inhalt der Quellzelle nicht in der Zelle B1 abgebildet wird?
Sub Verknüpfung()
Dim QuellZelle As Range
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
QAdr = ActiveCell.Range("A1:B4").address
Set QuellBlatt = ThisWorkbook.Sheets("Prozessübersicht")
Set QuellZelle = QuellBlatt.Range(QAdr)
'nachfolgend: Formatierung eines Bereichs auf der Übersichtsseite (Größe: 2 auf 4 Zellen), die aktive Zelle ist hierbei die Zelle oben links in diesem Bereich
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
.PatternTintAndShade = 0
End With
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.Offset(-1, 0).Range("A1:B1").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDot
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveCell.Offset(1, 0).Range("A1:B3").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveCell.Range("A1:B3").Select
ActiveCell.FormulaR1C1 = ""
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = ""
ActiveCell.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ActiveCell.Offset(1, 0).Range("A1:B3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
'automatisch neues Sheet generieren und ganz rechts als Tabellenblatt einfügen
Sheets.Add After:=Sheets(Sheets.Count)
ActiveCell.Offset(0, 1).Range("A1").Select
'Range("b2").Value = varZelle
ActiveCell.Offset(1, 0).Range("A1").Select
' Tabellenlayout einfügen
'nachfolgend: Formatierung einer Tabelle
'....
' hier das Ende der hier weggelassenen Formatierungen
'Range("B8:B10").Font.Bold = True
'Range("B13:B15").Font.Bold = True
'Erstellen einer Verknüpfung zwischen ursprünglich aktiver Zelle ("Quellzelle") auf dem Sheet "Prozessübersicht" mit der Zelle B1 auf diesem neu hinzugefügten Sheet
'in der Zelle B1 soll der Inhalt der Quellzelle wiedergegeben werden und bei Veränderungen am Inhalt der Quellzelle sich dann auch der Inhalt der verknüpften B1 Zelle ändern
Set ZielBlatt = activeSheet
ZielBlatt.Range("B1").Formula = "=" & QuellBlatt.Name & "!" & QuellZelle.address(external:=True)
End Sub
Vielen Dank an alle hilfsbereiten Köpfe hier in diesem Forum für eure Mühen!