Ich bin verzweifelt, denn es müsste funktionieren.
Folgender Code
Sub Komplex2()
'Für die erste Prozedur
Dim festNr As Long
Dim findenNr As Range
Dim start As Long
Dim findenstart As Range
Dim ende As Long
Dim findenende As Range
Dim fte As String
Dim Maßnahme As String
'Für die zweite Prozedur
Dim sh As Shape
Dim rng As Excel.Range
Dim shp As Excel.Shape
'In der jeweiligen Reihe des Pfeils wird die Nr. gespeichert
festNr = ActiveCell.Offset(0, -6).Value
start = ActiveCell.Offset(0, -5).Value
ende = ActiveCell.Offset(0, -4).Value
fte = ActiveCell.Offset(0, -3).Value
Maßnahme = ActiveCell.Offset(0, -2).Value
MsgBox start
MsgBox ende
MsgBox fte
MsgBox Maßnahme
'Balkenplan wird ausgewählt
With Worksheets(2)
Set findenstart = .Cells(4, start - .Range("D4").Value + 4)
Set findenende = .Cells(4, ende - .Range("D4").Value + 4)
Set findenNr = Range("Tabelle1[Nr.]").Find(what:=festNr, LookIn:=xlValues)
End With
MsgBox findenNr.Row
MsgBox findenstart.Column
MsgBox findenende.Address
'___________________________________
Worksheets(2).Cells(findenNr.Row, findenstart.Column).Select
Ich habe dazwischen MsgBox geschaltet, um zu sehen, ob die richtigen Zahlen rausgegeben werden und eigentlich müsste es laut der VBA-Logik mit der letzten Zeile funktionieren.
Cells ware demnach z.B. Cells(5,6) da ja laut der MsgBox findenNr.Row = 5 ist und findenstart.column = 6.
Was um Himmelswillen ist denn falsch an meinem Code, ich verstehe es wirklich nicht und google konnte auch nicht helfen. Ich habe verschiedene Schreibweisen für Cells ausprobiert. Mit Anführungsstrichen und ohne, oder Und-Zeichen. Nichts funktioniert.
Laufzeit-Fehler 1004.
Dieser Link hier hilft mir nicht, aber ich lasse mich gerne zur Lösung führen entweder direkt oder indirekt, Hauptsache ich verstehe endlich, was VBA von mir will.
https://docs.microsoft.com/de-de/office/vba/api/excel.worksheet.cells
Besten Dank