Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Inputbox folgt Index
#11
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
Antworten Top
#12
Hallo Stefan,

ich muss leider so dumm nachfragen, wo kommt dein Code hin? In die Inputbox? Als Ergänzung in Andre´s Code?
Grüße Mario  Angel
Antworten Top
#13
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
Antworten Top
#14
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.
Grüße Mario  Angel
Antworten Top
#15
Hallo Mario,

kann ich nicht nachvollziehen. Hast Du die Zeile geändert?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#16
Hallo Stefan, ja, habe deinen Code kopiert und in den vorhanden eingefügt.
Grüße Mario  Angel
Antworten Top
#17
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.
Grüße Mario  Angel
Antworten Top
#18
Hallo Mario,

er verweist auf eine externe Datei. Ergo gibt er da schon eine Fehlermeldung aus.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#19
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.
Grüße Mario  Angel
Antworten Top
#20
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste