Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
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
Inhaltsverzeichnis

Bei vorhandenem Wert PopUp-Fenster

Bei vorhandenem Wert PopUp-Fenster
08.03.2022 15:32:25
OzziT
Hallo ich habe ein kleines Problem, was ich einfach nicht lösen konnte, weil mir die VBA Kenntnisse dazu fehlen.
Ich habe zwei Tabellenblätter.
-In Tabellenblatt 1 "Personen" soll in Spalte B was reingeschrieben werden.
-Tabellenblatt 2 "Zahlen" Spalte A soll überprüft werden, ob Wert schon vorhanden ist.
-Falls ja: "Wert da, bitte überprüfen" als PopUp.
Datenüberprüfung hat nicht funktioniert und trifft auch nicht genau das Ziel, weil es mich sonst ja nicht den Wert eintragen lassen würde.
Um eine MsgBox in VBA zu erstellen bin ich nicht erfahren genug.
Kann mir jemand da helfen? =)

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei vorhandenem Wert PopUp-Fenster
08.03.2022 17:19:54
ChrisL
Hi

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target  "" Then
If WorksheetFunction.CountIf(Worksheets("Zahlen").Columns(1), Target) Then _
MsgBox "Wert da, bitte überprüfen"
End If
End Sub
Alt+F11, links Doppelklick auf Tabelle "Personen", Code einfügen.
Der Code ist nicht auf die Änderung mehrere Zellen gleichzeitig (Copy/Paste) ausgerichtet.
cu
Chris
AW: Bei vorhandenem Wert PopUp-Fenster
09.03.2022 08:09:55
OzziT
Danke.. Manchmal kann es so einfach sein
AW: Bei vorhandenem Wert PopUp-Fenster
09.03.2022 08:47:09
OzziT
Und wie kriege ich als Zusatz noch hin, dass er mir die Nachbarzellen in die MsgBox mit einbaut?
Quasi ich gebe was in Spalte A ein. Spalte B4 (zB) wird der Wert gefunden und jetzt soll er mir in der MsgBox so etwas wie: "Wert vorhanden, Preis (Wert C4) in Währung (Wert D4)" ausspucken.
Danke erneut!
Anzeige
AW: Bei vorhandenem Wert PopUp-Fenster
09.03.2022 09:18:05
hary
Moin

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Treffer As Variant
If Target.CountLarge > 1 Then Exit Sub
If Target.Column = 1 And Target  "" Then '--Eingabe SpalteA und nicht leer
With Worksheets("Zahlen")
Treffer = Application.Match(Target, Worksheets("Zahlen").Columns(1), 0)
If IsNumeric(Treffer) Then
MsgBox "Wert vorhanden, Preis " & .Cells(Treffer, 4) & " in Währung " & .Cells(Treffer, 3)
Else
MsgBox "Eingabe nicht vorhanden"
End If
End With
End If
End Sub
gruss hary
korrektur
09.03.2022 09:38:05
hary
Moin
Du moechtest ja in SpalteB den Wert finden.
ersetz mal

Worksheets("Zahlen").Columns(1)
durch

Worksheets("Zahlen").Columns(2)
gruss hary
Anzeige
AW: Bei vorhandenem Wert PopUp-Fenster
09.03.2022 09:22:47
Pierre
Hallo Ozzi,
einfach deine Zeile MsgBox so umbauen:

MsgBox "Wert da, Preis " & Target.Offset(1, 0) & " in Währung " & Target.Offset(2, 0)
Gruß Pierre
AW: Bei vorhandenem Wert PopUp-Fenster
09.03.2022 13:11:07
OzziT
Die MsgBox taucht auf. Baut aber die gesuchten Werte nicht in die MsgBox mit rein
bei mir schon (owT) (bsp-Mappe!?)
09.03.2022 13:17:57
Pierre
AW: bei mir schon (owT) (bsp-Mappe!?)
09.03.2022 13:25:27
OzziT
Oh vllt habe ich mich falsch ausgedrückt. Mit deinem Code werden die Werte in die MsgBox eingetragen die beschriftet und nach der gesucht wird.
Es sollen aber die Werte neben dem gefundenen Wert also im Blatt "Zahlen" einsetzt werden =)
AW: bei mir schon (owT) (bsp-Mappe!?)
09.03.2022 13:35:47
Pierre
Möglicherweise habe ich was durcheinander gebracht, versuch doch mal harys Vorschlag.
Gruß Pierre
Anzeige
AW: bei mir schon (owT) (bsp-Mappe!?)
09.03.2022 13:42:46
OzziT
Habe es tatsächlich so hinbekommen wie ich es wollte. Harrys Vorschlag ist ziemlich gut gewesen. Danke trotzdem. Nur aus reiner Neugier. Der Code funktioniert ja nicht wenn mehrere Zellen kopiert und eingefügt werden. Ist das technisch überhaupt möglich das bei Einfügen mehrerer Zeilen suchen zu lassen?
AW: auch mehrere Zellen
10.03.2022 07:52:05
hary
Moin
Dann so.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Treffer As Variant
Dim Zelle As Range
Dim strText As String
For Each Zelle In Intersect(Target, Columns(1))
If Zelle  "" Then  '--Zelle nicht leer
With Worksheets("Zahlen")
Treffer = Application.Match(Zelle, .Columns(2), 0)
If IsNumeric(Treffer) Then
strText = strText & Zelle & " , Preis " & .Cells(Treffer, 4) & " in Währung " & .Cells(Treffer, 3) & Chr(13)
End If
End With
End If
Next
If strText  "" Then MsgBox strText, , "vorhandene Werte"
End Sub
gruss hary
Anzeige
AW: sry, Codezeile vergessen jetzt aber
10.03.2022 08:10:07
hary
Moin nochemal
So ist es richtig.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Treffer As Variant
Dim Zelle As Range
Dim strText As String
If Target.Column  1 Then Exit Sub
For Each Zelle In Intersect(Target, Columns(1))
If Zelle  "" Then  '--Zelle nicht leer
With Worksheets("Zahlen")
Treffer = Application.Match(Zelle, .Columns(2), 0)
If IsNumeric(Treffer) Then
strText = strText & Zelle & " , Preis " & .Cells(Treffer, 4) & " in Währung " & .Cells(Treffer, 3) & Chr(13)
End If
End With
End If
Next
If strText  "" Then MsgBox strText, , "vorhandene Werte"
End Sub
gruss hary
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige