Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Mario, mal ungetestet Code: strCell = Application.Evaluate("=ADDRESS(ROW(" & Replace(Range(Target.Address).Formula, "=", "") & "),COLUMN(" & Replace(Range(Target.Address).Formula, "=", "") & "))")
Gruß Stefan Win 10 / Office 2016
Registriert seit: 06.03.2017
Version(en): 2007
Hallo Stefan,
ich muss leider so dumm nachfragen, wo kommt dein Code hin? In die Inputbox? Als Ergänzung in Andre´s Code?
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Mario, keine Ergänzung. Nur eine Codezeile ändern Andrés Orignalcode Code: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Variablendeklaration - Range Dim rngCell As Range, strCell As String, strSheet As String 'Wenn die Klickzelle M5. M6 oder M11 ist, dann If Target.Address = "$M$5" Or Target.Address = "$M$6" Or Target.Address = "$M$11" Then 'Zelladresse anhand Formel ermitteln '---------- Hier die folgende Codezeile ändern bzw. ersetzen strCell = Application.Evaluate("=ADDRESS(ROW(" & Replace(Cells(6, 13).Formula, "=", "") & "),COLUMN(" & Replace(Cells(6, 13).Formula, "=", "") & "))") '-------- das war es auch schon 'Blattauwahl entsprechend gewaehlter Zeile Select Case Target.Row 'Bei Zeile 5 Case 5: strSheet = "Termineingabe" 'Bei Zeile 6 und 11 Case 6, 11: strSheet = "Lieferungen" 'Ende Blattauwahl entsprechend gewaehlter Zeile End Select 'Zelle zuweisen Set rngCell = Sheets(strSheet).Range(strCell) 'Meldung mit Adresse ausgeben MsgBox rngCell.Address 'hier die Inputbox 'Ende Wenn die Klickzelle M5. M6 oder M11 ist, dann End If 'Ende Eingabemodus Cancel = True End Sub
Gruß Stefan Win 10 / Office 2016
Registriert seit: 06.03.2017
Version(en): 2007
26.06.2017, 10:49
(Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2017, 10:49 von M.Wichmann.)
Hallo, leider gibt die ausgeführte Msg auch damit in allen 3 Fällen die selbe Zelle aus.
Edit: habe gerade auch mal versucht den ersten Fall rauszunehmen, also das mit M5. Auch in diesem Fall gibt er mir die selbe Zelle aus, also die die für M6 richtig wäre.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Mario,
kann ich nicht nachvollziehen. Hast Du die Zeile geändert?
Gruß Stefan Win 10 / Office 2016
Registriert seit: 06.03.2017
Version(en): 2007
Hallo Stefan, ja, habe deinen Code kopiert und in den vorhanden eingefügt.
Registriert seit: 06.03.2017
Version(en): 2007
Hallo, ich habe mal die betreffenden Tabellen aus meiner Datei rauskopiert. Ich hoffe so ist es verständlicher.
Es geht nur um die 10 Indexverbindung zwischen diesen beiden Tabellen. Der Index der jetzt nichts mehr anzeigt ist dafür unwichtig.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo Mario,
er verweist auf eine externe Datei. Ergo gibt er da schon eine Fehlermeldung aus.
Gruß Stefan Win 10 / Office 2016
Registriert seit: 06.03.2017
Version(en): 2007
Hallo, die ist aber normalerweise nicht extern. Das richtige Dokument besteht aus knapp 20 Sheets, ich hab halt nur die 2 relevanten rauskopiert. Und die jetzt auf die externe gehn sollen auch nicht angesprochen werden. Es geht nur um die Zeilen die auf die vorhandene "Lieferungen" verweisen.
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo, :s :22: Code: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Variablendeklaration - Range Dim rngCell As Range, strCell As String, strSheet As String 'Wenn die Klickzelle M5. M6 oder M11 ist, dann If Target.Address = "$M$5" Or Target.Address = "$M$6" Or Target.Address = "$M$11" Then 'Zelladresse anhand Formel ermitteln strCell = Application.Evaluate("=ADDRESS(ROW(" & Replace(Range(Target.Address).Formula, "=", "") & "),COLUMN(" & Replace(Range(Target.Address).Formula, "=", "") & "))") 'Blattauwahl entsprechend gewaehlter Zeile Select Case Target.row 'Bei Zeile 5 Case 5: strSheet = "Termineingabe" 'Bei Zeile 6 und 11 Case 6, 11: strSheet = "Lieferungen" 'Ende Blattauwahl entsprechend gewaehlter Zeile End Select 'Zelle zuweisen Set rngCell = Sheets(strSheet).Range(strCell) 'Meldung mit Adresse ausgeben 'Dim myValue As Variant 'myValue = InputBox("Give me some input") 'rngCell = myValue MsgBox rngCell.Address 'hier die Inputbox 'Ende Wenn die Klickzelle M5. M6 oder M11 ist, dann End If 'Ende Eingabemodus Cancel = True End Sub
Gruß Stefan Win 10 / Office 2016
|