Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro: Datenüberprüfung-Eingabemeldung

Forumthread: Makro: Datenüberprüfung-Eingabemeldung

Makro: Datenüberprüfung-Eingabemeldung
26.09.2020 18:36:44
NicSteel
Liebe Excelfreunde,
ich habe mal wieder ein Problem - es wäre nett, wenn ihr mir bei der Lösung helfen würdet ...
Hintergrund: Mein Datensatz besteht aus 1.000 Zeilen mit 60 Spalten. Die Zellfarbe einiger Zellen markiere ich mittels Makro (spielt jetzt keine Rolle). Dann verkleinere ich die Ansicht auf 10%, um anhand der Zellfarben irgendwelche Trends zu erkennen. Ich möchte dann mitten in den Datensatz klicken - und Information über genau diese Zelle erhalten. Diese Informationen befinden sich:
  • in der gleichen Zeile in Spalte C (Zeit)

  • in der gleichen Spalte in Zeile 5

  • in der gleichen Spalte in Zeil 6.

  • Im Forum habe ich gesucht und bin auf einen Hinweis von Hajo_Zi gestoßen. Der war sehr hilfreich: nämlich einfach die "Datenüberprüfung mit Eingabemeldung" in einem Makro verwenden. Das habe ich dann mit einer for-Schleife getan und war auch erfolgreich (mit 10 Zeilen und 15 Spalten): Beim Klicken in eine Zelle werden alle Information richtig angezeigt. Beim Start des Makros mit 60.000 Zellen hängt sich Excel aber auf!
    Meine nächste Idee war: nicht alle 60.000 Zellen von vornherein mit dem Makro zu bearbeiten, sondern wirklich nur die gerade ausgewählte Zelle. Das mache ich mit dem "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" - Ereignis im Worksheet-Modul. Aber das funktioniert nicht !
    Die Datei habe ich hochgeladen: https:// _
    www.herber.de/bbs/user/140458.xlsm

    Und hier der Code, vielen Dank schonmal:
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim t As Long
    Dim j As Long
    Dim s As Long
    Dim ersteZeit As Long
    Dim letzteZeit As Long
    Dim erstePlatte As Long
    Dim letztePlatte As Long
    ersteZeit = 7
    letzteZeit = 20
    erstePlatte = 1
    letztePlatte = 4
    'ausgeschlossener Bereich
    If Target.Rows  letzteZeit Then
    If Target.Column  (5 * letztePlatte + 3) Then
    Exit Sub
    End If
    End If
    'aktiver Bereich
    For t = ersteZeit To letzteZeit
    For s = erstePlatte To letztePlatte
    For j = (5 * s - 1) To (5 * s + 3)
    If Target.Rows = t Then
    If Target.Column = j Then
    With Cells(t, j).Validation
    .Delete
    .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop,_
    Operator:= xlBetween
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = "Information zur Zelle"
    .ErrorTitle = ""
    .InputMessage = vbCrLf & "Zeit: " & CDate(Cells(t, 3).Value) &_
    vbCrLf & "Shelf: " & s & vbCrLf & "Position: " & Cells(5, j) &_
    vbCrLf & "Thermoelement: " & Cells(6, j)
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
    End With
    End If
    End If
    Next j
    Next s
    Next t
    End Sub
    

    Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Makro: Datenüberprüfung-Eingabemeldung
    26.09.2020 18:47:38
    Dieter
    Hallo NicSteel,
    du solltest "Target.Rows" durch "Target.Row" ersetzen, dann scheint es zu funktionieren.
    Viele Grüße
    Dieter
    AW: Makro: Datenüberprüfung-Eingabemeldung
    26.09.2020 19:11:48
    NicSteel
    ... Mensch Dieter: Du bist ja echt 'ne Wucht !
    Genau das wars - vielen Dank an dich.
    Viele Grüße,
    NicSteel
    AW: Makro: Datenüberprüfung-Eingabemeldung
    26.09.2020 18:54:21
    onur
    Ich verstehe nicht, was dein Problem mit Datenüberprüfung zu tun hat!
    Guckst du hier:
    https://www.herber.de/bbs/user/140459.xlsm
    Anzeige
    AW: Makro: Datenüberprüfung-Eingabemeldung
    26.09.2020 19:21:00
    NicSteel
    Hallo onur,
    mit der Funktionalität der Datenüberprüfung können die verlinkten Infos angezeigt werden - zwar etwas umständlicher, dafür aber "schöner".
    Dein Ansatz ist noch viel einfacher, super Tip mit der MsgBox !
    Nachdem mich Dieter auf den Synthaxfehler hingewiesen hat, bleibe ich aber lieber bei meiner ursprünglichen Methode mit der der Datenüberprüfung: hier muss ich nicht jedes mal mit dem "ok-Button" die Infos wegklicken.
    Also: vielen Dank auch dir !
    NicSteel
    Anzeige
    ;

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige