Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Lupo am Oktober 22, 2016, 16:57:15 Nachmittag

Titel: Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 22, 2016, 16:57:15 Nachmittag
Hallo,

ich habe 3 Arbeitsblätter in einer Excel-Datei. Blatt 1 heißt "Helfer", Blatt 2 heißt "Normal" und Blatt 3 "Erfassung". In Blatt 1 sind im Bereich A5-A28 Zahlen eingegeben die jeweils einer Person zugeordnet sind. In Blatt 2 sind im Bereich A5-A50 ebenfalls Zahlen eingegeben die jeweils einer Person zugeordnet sind.

Nun muss ich in Blatt 3 im Bereich A6 nach unten fortlaufend in willkürlicher Reihenfolge diese Zahlen aus Blatt 1 und 2 auflisten. In den Zellen danaben werden mir bestimmte Sachen berechnet und diese Ergebnisse dann den entsprechenden Personen zugeordnet. Funktioniert alles prima!.

Jetzt meine Frage: Es passiert mir leider öfter mal, dass ich in Blatt 3 A6 fortlaufend, eine Zahl eingebe, die nicht in Blatt 1 oder 2 aufgenommen ist. Ist es möglich ein Makro oder so zu erstellen, dass sofort nach Eingabe prüft ob es die Zahl überhaupt gibt und mir wenn nicht eine Fehlermeldung anzeigt?

Das wäre ein absoluter Traum wenn das geht!

LG Lupo
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: gmg-cc am Oktober 22, 2016, 17:11:48 Nachmittag
Ja, das geht.
Ob nun per Eingabe oder DropDown-Auswahl, wie du s gerne hättest.
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 22, 2016, 17:27:46 Nachmittag
Mir würde es reichen, wenn sich einfach ein Fenster öffnet, welches mich darauf hinweist, dass es diese Zahl nicht gibt. Wenn das Fenster dann mit einem Button "Ja, ich kontrolliere" geschlossen werden könnte, wäre das Top!

Vielen Dank
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: gmg-cc am Oktober 22, 2016, 17:56:21 Nachmittag
Da wird sich gewiss jemand finden, ich habe im Moment nicht die Zeit dafür ... (muss Geld verdienen, auch am Wochenende).
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 22, 2016, 20:35:50 Nachmittag
Ja, das wäre echt spitze. Bin sehr gespannt...

Schöne Grüße
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 24, 2016, 15:09:58 Nachmittag
Hallo nochmal :)
Ich möchte mein Anliegen nochmal ansprechen und hoffe ich nerve damit nicht.
Würde mir jemand so etwas zaubern? Das wäre richtig toll.

Liebe Grüße Lupo
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: maninweb am Oktober 24, 2016, 15:55:31 Nachmittag
Hallo,

Du könntest, wenn möglich, statt eines Popups eine Formel verwenden, z.B. in B6...

=WENN(WENNFEHLER(VERGLEICH(A6;Helfer!$A$5:$A$28;0);0)+WENNFEHLER(VERGLEICH(A6;Normal!$A$5:$A$50;0);0)>0;"Ok";"Bitte prüfen")

Dann brauchst Du auch kein Makro oder ähnliches.

Gruß
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 24, 2016, 16:19:28 Nachmittag
Hallo, ja das stimmt und so in der Art hatte ich es auch bisher. Das Problem ist aber, ich kann frühestens in Spalte K   diese Prüfung durchführen. Da liegt es aber nicht mehr im Sichtbereich meines Bildschirms. Da ich ausschließlich in Spalten A,B,C arbeite. Deswegen würde mir ein Popup wirklich sehr helfen, dann bräuchte ich nicht nach jeder Eingabe nach rechts wandern um nachzusehen.

Grüße
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: maninweb am Oktober 24, 2016, 16:54:35 Nachmittag
Hallo,

dann versuche mal folgendes Makro. Das Makro muss in das Codemodul der Tabelle Erfassung
und sollte nicht bereits existieren. Ansonsten musst Du nur den Code der Sub übernehmen.

Code: Visual Basic
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.  
  3.   Dim strValues As String
  4.  
  5. ' Spalte...
  6.  
  7.   If Target.Column = 1 And Target.Row > 5 Then
  8.    
  9. '   Zusammenführen...
  10.    
  11.     strValues = Join(Application.Transpose( _
  12.                 ThisWorkbook.Worksheets("Helfer") _
  13.                .Range("A5:A28").Value), "#") & "#" & _
  14.                 Join(Application.Transpose( _
  15.                 ThisWorkbook.Worksheets("Normal") _
  16.                .Range("A5:A50").Value), "#") & "#"
  17.    
  18. '   Prüfen...
  19.    
  20.     If InStr(1, strValues, Target.Value & "#") < 1 Then
  21.      
  22.       MsgBox "Bitte den Wert in Zelle " & Replace(Target.Address, "$", "") & " überprüfen.", _
  23.               vbOKOnly + vbExclamation
  24.      
  25.     End If
  26.    
  27.   End If
  28.  
  29. End Sub

Gruß
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 24, 2016, 17:15:41 Nachmittag
Ähm... da brauche ich etwas mehr Hilfe. Ich habe eine Bildschirmkopie gemacht. Wo und wie muss ich den Code eintragen ? Ich habe da bereits einen Code drin.

Grüße
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 24, 2016, 19:57:46 Nachmittag
Hallo nochmal...

Wenn ich den Code allein reinsetze funktioniert es super super spitze, jedoch bekomme ich beide Codes nicht zusammen  :(

Wie geht das ?
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 25, 2016, 08:29:19 Vormittag
Guten Morgen, weiß jemand einen Vorschlag wie ich das zusammenfügen muß ?

Ich fürde mich sehr freuen. Vielen Dank
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: maninweb am Oktober 25, 2016, 11:21:03 Vormittag
Hallo,

anbei eine zusammengeführte Version. Ersetze somit die gesamte Prozedur durch die neue.

Code: Visual Basic
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.  
  3.   Dim strValues As String
  4.  
  5. ' Unprotect...
  6.  
  7.   ActiveSheet.Unprotect
  8.  
  9. ' Select...
  10.  
  11.   Select Case Target.Column
  12.    
  13.     Case 1
  14.      
  15.       If Target.Row > 5 Then
  16.        
  17. '       Zusammenführen...
  18.        
  19.         strValues = Join(Application.Transpose( _
  20.                     ThisWorkbook.Worksheets("Helfer") _
  21.                    .Range("A5:A28").Value), "#") & "#" & _
  22.                     Join(Application.Transpose( _
  23.                     ThisWorkbook.Worksheets("Normal") _
  24.                    .Range("A5:A50").Value), "#") & "#"
  25.        
  26. '       Prüfen...
  27.        
  28.         If InStr(1, strValues, Target.Value & "#") < 1 Then
  29.          
  30.           MsgBox "Bitte den Wert in Zelle " & Replace(Target.Address, "$", "") & " überprüfen.", _
  31.                   vbOKOnly + vbExclamation
  32.          
  33.         End If
  34.        
  35.       End If
  36.      
  37.     Case 3
  38.      
  39. '     Select...
  40.      
  41.       Select Case LCase(Trim(Target.Value))
  42.      
  43.         Case "x"
  44.          
  45.           Target.Offset(0, 5) = Time
  46.          
  47.         Case ""
  48.          
  49.           Target.Offset(0, 5) = 0
  50.          
  51.         Case Else
  52.          
  53.           Target.Offset(0, 5) = ""
  54.          
  55.       End Select
  56.      
  57.     Case Else
  58.    
  59.   End Select
  60.  
  61. ' Protect...
  62.  
  63.   ActiveSheet.Protect
  64.  
  65. End Sub

Tipp: beim nächsten Mal, poste bitte den Code und nicht ein Bild vom Code. Abtippen kostet Zeit.

Gruß
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: Lupo am Oktober 25, 2016, 11:39:20 Vormittag
 :D :D :D Ein Traum wurde war !!! Vielen vielen Dank ! Das ist absolut genial.

Entschuldigung wegen dem Bild vom Code. Ich werde beim nächsten mal daran denken.

Schöne Grüße und nochmals vielen Dank
Lupo
Titel: Antw:Office 2007: Prüfen/Vergleichen
Beitrag von: maninweb am Oktober 25, 2016, 15:24:47 Nachmittag
Hallo,

gerne :-)

Gruß