Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Mehrere Spalten auf Inhalt vergleichen

Betrifft: Mehrere Spalten auf Inhalt vergleichen von: steamriver
Geschrieben am: 29.07.2014 16:22:37

Hallo zusammen,

ich bin auf der Suche nach einer VBA Lösung um Mehrere Spalten auf vorhandene Inhalte zu überprüfen.

Bespiel:
In Spalte A stehen Namen, in Spalte B, G, L usw Uhrzeiten.
In Spalte A kann der gleiche Name in Zeile 42 aber auch in Zeile 369 stehen.
Wenn ich aber in Spalte B oder eben L in Zeile 369 eine Uhrzeit eintrage und Spalte A den gleichen Inhalt hat sehe ich nicht ob in Zeile 42 schon eine drin steht. Wenn dem So ist soll eine MsgBox aufgehen mit dem Hinweis das es schon eine eintragung gibt. Wenn das Feld in Zeile 42 Leer ist soll natürlich in Zeile 369 wo ich was eintrage nichts passieren.

Ähnlich habe ich sowas schon mal hinbekommen aber hier klappt das nicht:

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Column <> 6 Then Exit Sub 
If WorksheetFunction.CountIfs(Range("A:A"), Cells(Target.Row, 1), Range("F:F"), Target) > 1  _
Then 
    MsgBox "schon verbucht", 48 
End If 
End Sub


Kann mir jemand bei dieser komplexen Angelegenheit helfen???
Beste Grüßer
steamriver

  

Betrifft: Gegenfrage von: Oberschlumpf
Geschrieben am: 29.07.2014 16:34:21

Hi ???

Angenommen, in Zeile 42 ist schon ein Datum eingetragen.
Du willst in Zeile 369 ein weiteres eintragen.

Nun würde ja jedes Mal die MsgBox erscheinen, wenn du in Zeile 369 etwas eintragen willst.
Somit kann die Zeile 369 ja nicht mehr "verwendet" werden.

Wäre es dann nicht besser, alle Einträge in Spalte A auf doppelte Einträge zu überprüfen und eben die Zeilen komplett löschen?

Ciao
Thorsten


  

Betrifft: AW: Gegenfrage von: steamriver
Geschrieben am: 29.07.2014 16:51:32

Hi Thorsten,

nene, Also in Spalte A stehen Namen drin (Vorname, Nachname) diese können mehrfach in Spalte A vorkommen.
Spalte B, L usw. sind in Zeile 4 mit Datum benannt. Also sind die Zeilen 5 abwärts in der Matrix Zeiten, Dienstzeiten. Ziel soll es sein wenn ein Name an einem Tag bereits eine Zeit vorgegeben hat (z.B. in Zeile 10) und ich will eine zweite Zeit in (z.b. Zeile 369) eintragen sehe ich dies ja nicht aus Zeile 10. Um doppelungen zu vermeiden soll mir dies einen Hinweis geben.

Grüße Stefan


  

Betrifft: AW: Gegenfrage von: Oberschlumpf
Geschrieben am: 29.07.2014 17:04:05

Hi Stefan,

zeig doch bitte mal ne Bsp-Datei.

Ciao
Thorsten


  

Betrifft: AW: Gegenfrage von: steamriver
Geschrieben am: 29.07.2014 17:18:08

https://www.herber.de/bbs/user/91768.xlsx


  

Betrifft: AW: Gegenfrage von: steamriver
Geschrieben am: 29.07.2014 20:16:39




  

Betrifft: per Gültigkeit von: Rudi Maintaire
Geschrieben am: 29.07.2014 17:10:09

Hallo,

AB
4Name29.07.2014
5a4
6b5
7c6
8d7
9a 
10b 
11c 
12d 

ZelleGültigkeitstypOperatorWert1Wert2
B5Benutzerdefiniert =SUMMEWENN(A:A;A5;B:B)=B5


Fehlermeldung: Doppelter Eintrag! (oder so)

Gruß
Rudi


  

Betrifft: AW: per Gültigkeit von: steamriver
Geschrieben am: 29.07.2014 17:19:06

Hallo Rudi,

Formeln sind leider nicht möglich da in alle Zellen Inhalte eingetragen werden.
Grüße


  

Betrifft: AW: per Gültigkeit von: Oberschlumpf
Geschrieben am: 29.07.2014 22:13:00

Hi

Hmm...hast du denn Rudis Vorschlag verstanden?
Die gezeigte Formel steht NICHT in einer Zelle, sondern ist Bestandteil der von Rudis Idee mit der Gültigkeitsliste.
Probiers doch mal aus.
Ich werds mit der Datei leider heute nich mehr schaffen.

Ciao
Thorsten


  

Betrifft: wer lesen kann... owT von: Rudi Maintaire
Geschrieben am: 29.07.2014 23:58:50




  

Betrifft: AW: per Gültigkeit von: steamriver
Geschrieben am: 29.07.2014 22:27:13

Wahnsinn! Beim Versuchen der Eingaben und dem Tip von Oberschlumpf hats funktioniert.
Danke Danke Danke!!!!!!


 

Beiträge aus den Excel-Beispielen zum Thema "Mehrere Spalten auf Inhalt vergleichen"