Mehr brandheiße Inhalte
zur Gruppe
BDSM und Fetisch Treff
132 Mitglieder
zum Thema
Wie funktioniert "entlieben"?250
Mich würde interessieren, wie ihr euch emotional von einer geliebten…
zum Thema
Wie viel Zeit verbringt ihr im JOYclub?80
Ich habe festgestellt, dass der JC mich mittlerweile sehr viel Zeit…
Das Thema ist für dich interessant? Jetzt JOYclub entdecken

excel vba msgbox

*******Herr Mann
5 Beiträge
Themenersteller 
excel vba msgbox
Nabend,

vielleicht kennt sich hier jemand mit vba aus.

Ich habe ein Modul, welches nachdem es gestartet wurde, mehrere Vlookup`s ausführen und die Ergebnisse in einer MsgBox darstellen soll. - Funktioniert, bis man die Application.WorksheetFunktion(..) aktiviert. Es wirft verschiedene Fehler aus, je nachdem was man ändert, meisst ein "Objekt"-Fehler.

Das Modul wird ausgelöst, wenn in der Tabelle in einer beliebigen Zeile (L:L) ein bestimmter Wert ausgegeben wird.
Der Suchbegriff wird über eine Formel in Sheets(1) ausgelöst. Der Code sieht so wüst aus, weil ich verschiedene Dinge probiert habe..

Die Tabelle berechnet sich minütlich neu. Was ich auch nicht rausgefunden habe, ist diese MsgBox nur einmalig nach Auslösen des Events anzeigen zu lassen, aktuell kommt sie jedesmal pro Minute wieder - für jedes Event/Zeile, wo der Wert zutrifft. Und führt zu ziemlich vielen Boxen im Laufe der Zeit.




Sub asd()

Dim LfdNr As Long
Dim Kennzeichen As String
Dim Fahrer As String
Dim Suchbegriff As String

Suchbegriff = "Prüfen!"
Set Status = Range("L8:L1337")
Set Matrix = Range("A8:L1337")

For Each Zelle In Status
If Zelle.Value = Suchbegriff Then
'If Zelle.Value = Suchbegriff And a = False Then
' a = True
Det = Det & Application.WorksheetFunction.VLookup("Prüfen!", Range("A8:L1337"), 1, False)
LfdNr = LfdNr & Application.WorksheetFunction.VLookup(Suchbegriff, Abmeldeliste.Range("A8:L1337"), 1, False)
Det = Det & vbNewLine & "Kennzeichen: " & Application.WorksheetFunction.VLookup(Abmeldeliste.Range("A8:K1337"), 3, False)
Det = Det & vbNewLine & "Fahrer: " & Application.WorksheetFunction.VLookup(Abmeldeliste.Range("A8:K1337"), 5, False)
Det = Det & vbNewLine & "Ort: " & Application.WorksheetFunction.VLookup(Abmeldeliste.Range("A8:K1337"), 8, False)
Det = Det & vbNewLine & "Ankunftszeit: " & Application.WorksheetFunction.VLookup(Abmeldeliste.Range("A8:K1337"), 11, False)

'MsgBox "Laufende Nummer: " & LfdNr & Det, vbOKOnly + vbInformation, "Details zur Fahrt : "
MsgBox "Details zur Fahrt : " & Det, vbOKOnly + vbInformation, "Achtung!"
Exit For
End If
Next
Exit Sub
End Sub

Über Ideen, Anregungen oder gar die Lösung würde ich mich sehr freuen.
*******_OI Frau
33 Beiträge
Moin,

was ... willst Du denn damit machen *g* ?
Ich frage, weil ich vor 10 Jahren mal einen VBA-Kurs ge,acht habe und das damals schon alt war. Nichts gegen pflegeleichte Technik, aber vielleicht gehts ja auch einfacher? Was ist der Grund, weshalb es in eine MessageBox soll?

Viele Grüße
under_w_OI
*******Herr Mann
5 Beiträge
Themenersteller 
Nabend,
die Box soll den Inhalt verschiedener Zellen der jeweiligen Zeile als Text/Nummer anzeigen, in der das Event ausgelöst wurde. Vorzugsweise nur einmal während ausgelöst wurde und nicht minütlich neu. Oder sogar nach 5sek wieder verschwinden.

Die Box erscheint wie erwähnt, vlookup möchte nicht.
*******_OI Frau
33 Beiträge
Aber was ist der Zweck des Ganzen?
*******Herr Mann
5 Beiträge
Themenersteller 
Schnelle Übersicht. Die jeweiligen Zeilen werden mit bedingter Formatierung gefärbt. Das soll einen schnelleren Überblick bieten,welche neu dazugekommen ist. Auch wenn sie nicht direkt auf dem Bildschirm sichtbar ist
*******_OI Frau
33 Beiträge
Puh, ok ... also eine Art Warning? Das nach 5sek verschwinden soll? Oder ist nur die Position in der Tabelle wichtig? Also dass das Neueste zuerst (und anhand der Formatierung) erkannt wird?
*******Herr Mann
5 Beiträge
Themenersteller 
Tja, wenn's einfach wäre..
Ja eine Art Warnung. Sortiert werden soll nichts. Er soll nicht die Zeile anzeigen sondern ähnlich wie ein sverweis den Inhalt bestimmter Zellen der Zeile.
Anmelden und mitreden
Du willst mitdiskutieren?
Werde kostenlos Mitglied, um mit anderen über heiße Themen zu diskutieren oder deine eigene Frage zu stellen.