Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Meldung bei Neueingabe eines bereits ex. Wertes

Meldung bei Neueingabe eines bereits ex. Wertes
28.03.2004 20:12:12
player11
Hallo,
ich habe leider immer noch keine Lösung für mein Problem gefunden.
Hier noch einmal der Hintergrund:
Eine Excel-Arbeitsmappe soll als Ersatz für ein Terminverwaltungs-Kalender dienen. In dieser Arbeitsmappe sind mehrere Tabellenblätter, welche alle identisch aufgebaut sind, die Spalten sind demnach mit Datumswerten wie 01.01.2004, 02.01.2004 usw. und die Zeilen mit Uhrzeiten wie 10:00, 10:15, 10:30 usw. beschriftet.
Die Tabellenblätter stellen unterschiedliche Abteilungen dar, z. B. Röntgen, EKG etc. In der entsprechenden Abteilung kann ein Termin für einen Patienten eingegeben werden. Hierzu klicke ich einfach in das entsprechende Tabellblatt, z. B. EKG und trage anschl. in der jeweiligen Zelle (je nach gewünschtem Datum und Uhrzeit) die 7stellige Nummer des Patienten ein.
Jetzt kommt das Problem: Vergebe ich für den selben Patienten ein und denselben Termin auch in einer anderen Abteilung, so soll eine Message-Box erscheinen, z. B. "Eingabe nicht möglich" o. "Termin bereits in anderer Abteilung vergeben".
Die Meldung soll die Eingabe also unmöglich machen.
Vereinfacht bedeutet dies: Wenn in einem Tabellenblatt z. B. in der Spalte C1 ein Wert eingetragen wird, so darf es nicht möglich sein, genau den selben Wert in einem anderen Tabellenblatt in der selben Zelle, also z. B. C1 einzugeben. Gebe ich einen anderen Wert (7stellige Patientennummer) ein oder genau den selben Wert - jedoch in eine andere Zelle (z. B. D1), muss die Eingabe wiederum möglich sein.
Bei der eingesetzten Version handelt es sich um Excel 8.0 - Office97.
Die Lösung ist vielleicht gar nicht so schwierig, meine VBA-Kenntnisse reichen hierfür allerdings bei weitem nicht aus.
Wer möchte sich dieser Herausforderung stellen?
https://www.herber.de/bbs/user/4742.xls
Bin dankbar für jeden Tipp.
player11

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Meldung bei Neueingabe eines bereits ex. Wertes
28.03.2004 20:34:35
Josef Ehrensberger
Hallo Spieler (hier sind Realnames üblich!)
Schaust du mal.
https://www.herber.de/bbs/user/4743.xls

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


AW: Meldung bei Neueingabe eines bereits ex. Wertes
28.03.2004 22:06:27
Hakan
Hallo Sepp,
danke für die prompte Lösung, genau so sollte die Datei funktionieren. Gibt es auch eine Möglichkeit, den Code abzurufen, der sich hinter der eingebauten Funktion verbirgt? Bei der verwendeten Tabelle handelt es sich nämlich nur um eine Beispiel-Tabelle, wenn auch das Prinzip haargenau stimmt. Es werden nämlich weitere Abteilungen benötigt.
Wenn ich z. B. die Tabellenblätter umbenenne o. ein neues Blatt hinzufüge, funktioniert es nicht mehr so wie es sollte.
Nachdem ich die Exceldatei heruntergeladen habe, sind unter Extras/Makros keine Markos aufzurufen, so dass ich keine Möglichkeit der Modifizierung habe. Zwar kenne ich mich mit VBA nicht aus, aber meist erkennt man an den Namen im Code, z. B. "Abteilung1", an welcher Stelle ggf. welche Anpassung gemacht werden muss.
Danke im voraus
Hakan
Anzeige
AW: Meldung bei Neueingabe eines bereits ex. Wertes
28.03.2004 22:16:02
Josef Ehrensberger
Hallo Hakan!
Der Code befindet sich im Modul "DieseArbeitsmappe"!
Ich bin davon ausgegangen, das die Relevanten Blätter immer
mit "AbteilungXX" benannt sind!
Ersetze den Code mit folgendem.


Private Sub Workbook_SheetChange(ByVal Sh As ObjectByVal Target As Range)
Dim wks As Worksheet
If Target.Count = 1 Then
With Target
For Each wks In ThisWorkbook.Sheets
If wks.Name <> Sh.Name And wks.Name <> "Info" And .Value <> "" Then
'hier kannst du die Tabellen angeben in denen der Code nich
'wirksam sein soll.
'Z.B. "And wks.Name <> "Info" And wks.Name <> "WasWeisIch"
If wks.Range(.Address) = .Value Then
MsgBox "Eintrag """ & .Value & """ am " & Cells(1, .Column) & " um " & _
Format(Cells(.Row, 1), "hh:mm") & " in """ & wks.Name & """ schon vorhanden!", _
vbExclamation, "Hinweis"
.ClearContents
.Activate
Exit Sub
End If
End If
Next
End With
End If
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Er wirkt nun in allen Tabellen ausser in "Info"!
Weitere Blätter kannst du einfach ausschliessen(siehe Code)!

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: Meldung bei Neueingabe eines bereits ex. Wertes
29.03.2004 10:32:21
Hakan
Hallo Sepp,
besten Dank für die ausführlichen Infos - klappt wunderbar! Auch nach dem Anpassen der Beispieldatei kann die Funktion wie gewünscht genutzt werden.
Gruß
Hakan
Danke für die Rückmeldung! o.T.
29.03.2004 10:37:47
Josef Ehrensberger
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige