Anzeige
Archiv - Navigation
1684to1688
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
MsgBox erst nach For-Next-Schleife
30.03.2019 14:37:38
Martin
Hallo Forum ich bin neu in VBA,
ich möchte den unten stehenden Code so anpassen das die MsgBox erst erscheint wenn die For-Next-Schleife durchgelaufen ist und nicht wie jetzt, nach jedem Abgleich erscheint.
Nur weiss ich nicht wie das gehen soll...
Danke für Eure Hilfe!
Sub DuplicateValuesFromSelection()
ActiveSheet.Range("A2:B14").Select
Dim myRange As Range
Dim i As Integer
Dim j As Integer
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
myCell.Interior.ColorIndex = 2
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 3
MsgBox ("Stopp!")
End If
Next
End Sub

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox erst nach For-Next-Schleife
30.03.2019 14:42:45
Hajo_Zi

Option Explicit
Sub DuplicateValuesFromSelection()
Dim BoWahr As Boolean
ActiveSheet.Range("A2:B14").Select
Dim myRange As Range
Dim i As Integer
Dim j As Integer
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
myCell.Interior.ColorIndex = 2
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 3
BoWahr = True
MsgBox ("Stopp!")
End If
Next
If BoWahr Then
MsgBox ("Stopp!")
End If
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: MsgBox erst nach For-Next-Schleife
30.03.2019 14:45:22
Hajo_Zi
MsgBox ("Stopp!")
nach BoWahr =True löschen.
Gruß Hajo
AW: MsgBox erst nach For-Next-Schleife
30.03.2019 14:51:47
Martin
Super Danke für die schnelle Antwort, nach deiner Korrektur funktionierts super=)))
mal zum Nachdenken ...
30.03.2019 15:15:34
Matthias
Hallo Martin
Zitat
ich möchte den unten stehenden Code so anpassen das die MsgBox erst erscheint wenn die For-Next-Schleife durchgelaufen ist
Jetzt kommst Du nicht selbst auf die Idee die MsGBox hinter das NEXT zu setzen?
Das SELECT ist total überflüssig!
Du kannst ja den Bereich gleich "Setten"
Option Explicit
Sub DuplicateValuesFromRange()
Dim myRange As Range
Dim myCell As Range
Dim i As Integer
Dim j As Integer
Set myRange = Range("A2:B14")
For Each myCell In myRange
myCell.Interior.ColorIndex = 2
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 3
End If
Next
MsgBox ("Stopp!")
End Sub
Und schau Dir mal die Darstellung in eingerückter Form an.
Da ist der Code wesentlich leichter zu lesen als wenn alles linksbündig steht.
Wobei das "Stopp!" ja eigentlich falsch ist. Es müsste ja heißen: "Fertig!"
Userbild
Anzeige
AW: mal zum Nachdenken ...
30.03.2019 15:35:50
Daniel
naja, vermutlich soll die Messagebox anzeigen, dass Duplikate in der Liste vorhanden sind und nicht einfach nur, dass die Schleife vollständig durchgelaufen ist.
Gruß Daniel
wo ist der Unterschied? Frage gelesen?
30.03.2019 15:44:43
Matthias
Du brauchst keinen Gruß senden wenn Du nicht "Hallo" sagen kannst!
Da ich davon ausgehe das es mal wieder der "Daniel Eisert" ist, begreife endlich:
Lass mich in Ruhe !!!
AW: wo ist der Unterschied? Frage gelesen?
30.03.2019 15:59:43
Daniel
Hallo Mattias L
entschuldige, warum soll ich nicht auf deine Beiträge antworten?
wer bist du überhaupt und warum glaubst du mich zu kennen?
warum reagiest du so hart, wenn einfach nur sachlich auf deinen Beitrag antworte?
wenn du so empfindlich bist, und es nicht erträgst, dass man auf deine Beiträge reagiert, dann solltest du vielleicht besser nicht in Foren aktiv sein, denn dort ist so etwas ganz normal und übliches Verhalten in Foren.
Gruß Daniel
Anzeige
meine Frage war: bist Du "Daniel Eisert"
30.03.2019 16:21:49
Matthias
.
hattest du diese Frage gestellt?
30.03.2019 16:41:28
Daniel
ich kann diese Frage in deinem Beitrag nicht finden.
warum ist das für dich so wichtig?
welchen unterschied macht es, ob ein "Daniel Eisert" diesen Beitrag geschrieben hat oder sonst irgendjemand anderes?
wie hättest du reagiert, wenn der Beitrag nicht mit "Daniel" unterschrieben wäre, sondern von jemand danderem?
Gruß Daniel
AW: hattest du diese Frage gestellt?
30.03.2019 16:57:06
Matthias
schon alleine der Satz:
wer bist du überhaupt
lässt vermuten, das Du jemand bist der jeglichen Respekt gegenüber Anderen verloren hat.
Deinen Gruß kannst Du Dir sparen, wenn Du nicht Hallo sagen kannst.
-Ende-
AW: hattest du diese Frage gestellt?
30.03.2019 17:13:43
Daniel
wieviel Respekt muss man gegenüber jedemanden haben, der auf einen sachlichen Beitrag so aggresiv reagiert wie du?
Anzeige
wer war denn aggresiv ? Nur Du !
30.03.2019 17:38:03
Matthias
Was mischst Du Dich ein?
AW: wer war denn aggresiv ? Nur Du !
30.03.2019 20:37:01
Daniel
Hallo?
das ist ein öffentliches Forum und kein privater Chat.
Wer ein Problem damit hat, dass sich andere eine Diskussion einmischen, sollte dieses Medium nicht nutzen.
Was genau an meinem ersten Beitrag hast du denn als Aggressiv empfunden?
Nur das Einmischen alleine oder auch die Inhalte?
Endlos-Diskussion bestätigt DE-Identität! :-] owT
30.03.2019 22:01:22
Luc:-?
:-?
Typischer Luc-Beitrag, von jemanden, der selber
30.03.2019 23:50:22
jemanden,
die Rolle des anonymen Gasts bevorzugt.
Aber eindeutig identifizierbar! owT
31.03.2019 05:21:21
Luc:-?
:-?
Wirklich? owT
31.03.2019 09:34:07
Luc:-?
:-?
HWH löscht solche Typen, wenn man sich beschwert!
31.03.2019 11:13:50
Luc:-?
Luc :-?
Na klar.....owT
31.03.2019 12:56:51
Daniel
AW: mal zum Nachdenken ...
30.03.2019 16:02:59
Martin
Hallo Matthias,
natürlich bin ich auf die Idee gekommen die MsgBox hinter das Next zu setzen, Problem dabei ist das, wenn ich zwei Wertepaare hab die identisch sind muss ich die MsgBox vier mal mit OK bestätigen um diese endültig "wegzudrücken"
MfG
Anzeige
AW: mal zum Nachdenken ...
30.03.2019 16:10:57
Matthias
Hallo Martin
wenn ich zwei Wertepaare hab die identisch sind muss ich die MsgBox vier mal mit OK bestätigen um diese endültig "wegzudrücken"
Wenn die Box hinter der Schleife kommt brauchst Du nicht vier mal mit OK bestätigen,
sondern nur einmal. Außerdem siehst Du es doch an der Hintergrunfarbe der Zellen.
Gruß Matthias
was genau soll dir die Messagebox anzeigen
30.03.2019 16:17:23
Daniel
a) Schleife ist durchgelaufen
b) Achtung, Duplikate vorhanden
ansonsten, das Färben von Duplikaten in einem Zellbereich kannst du auch ohne Makro über die Bedingte Formatierung durchführen.
Seit Excel 2007 ist das möglich.
Gruß Daniel
Anzeige
AW: mal zum Nachdenken ...
30.03.2019 16:06:26
Martin
...stimmt das set ist natürlich die bessere Lösung...
MfG
AW: MsgBox erst nach For-Next-Schleife
31.03.2019 10:46:16
Gerd
Moin Martin!
Sub Duplex_Colors()
Dim C As Range, U As Range
With Range("A2:B14")
.Interior.ColorIndex = 2
For Each C In .Cells
If WorksheetFunction.CountIf(.Cells, C.Value) > 1 Then
If U Is Nothing Then
Set U = C
Else
Set U = Union(U, C)
End If
End If
Next
End With
If U Is Nothing Then
Call MsgBox("nix")
Else
U.Interior.ColorIndex = 3
Set U = Nothing
Call MsgBox("Doppler vorhanden")
End If
End Sub

Gruß Gerd
AW: MsgBox erst nach For-Next-Schleife
31.03.2019 16:00:09
Martin
Hallo Gerd!
Danke für den Lösungsvorschlag!
Das funzt=))
MfG
Martin
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige