Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
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

MsgBox

MsgBox
23.01.2009 18:08:25
Werner
Hallo,
ich schon wieder :-)
Zuerst mal Danke für die Lösungsvorschläge, die ich immer wieder erhalte den in diesen Forum wurde mir schon sehrviel geholfen. Zu meinem letzen Problem ist mir eine einfachere Lösung eingefallen, aber auch hier habe ich Probleme:

Private Sub geez()
If ActiveCell.Range("E15:G18") Then
MsgBox ("soll die Zelle & ActiveCell & wirklich geändert werden")
End If
End Sub


Ich möchte folgendes erreichen: wenn der Zellzeiger auf den Bereich kommt (nicht erst bei Aktivierung) soll die Meldung schon erscheinen (deshalb habe ich es mit ActiveCell versucht), so das der Zellbereich wenn schon was trinn steht auch nicht gelöscht werden können ohne die vorherige Abfrage.Die MsgBox soll die Auswahl JA/NEIN haben.Wenn ich JA klicke soll die Zelle verändert werden können, wenn NEIN soll der alte Zellwert erhalten bleiben.Auch ein Löschen soll ohne die Abfrage nicht möglich sein.Ich hoffe das mein Vorhaben nachzuvollziehen ist, den mein obiger Ansatz ist etwas bescheiden und funktioniert so nicht.
Gruß Werner

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox
23.01.2009 18:15:00
Gerd
Hi,
"...wenn der Zellzeiger auf den Bereich kommt (nicht erst bei Aktivierung) ..."
Das geht in Tabellen gar nicht! Nur bei klick auf eine Zelle, dann tritt das Selection_Change-
Ereignis auf, das du verwerten kannst.
mfg Gerd
SelectionChange...
23.01.2009 18:22:00
RS
Hi Werner,
der Zellzeiger auf den Bereich kommt (nicht erst bei Aktivierung)
was ist da der Unterschied, bitte?
Vielleicht meinst du es etwas so (Code gehört in das Tabellenblatt!)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, ActiveSheet.Range("E15:G18")) Is Nothing Then Exit Sub
MsgBox "Zelle(n) " & Target.Address(0, 0) & " wirklich ändern?", vbExclamation + vbOKOnly
End Sub


Grüsse RS

Anzeige
Falsch platziert...
23.01.2009 19:10:00
Gerd
Hi,
wie wärs, wenn du das Werner mitteilst?
mfg Gerd
AW: SelectionChange...
23.01.2009 19:13:09
Werner
Hallo Gerd, hallo RS
natürlich muß die Zelle Aktiviert werden (war mein Denkfehler :-) ).
Der obige Code funktioniert genauso wie ich mir das vorgestellt habe. Nochmals Danke an Euch, ich habe wieder viel gelernt.
Gruß Werner
AW: SelectionChange...
23.01.2009 20:47:00
Werner
Hallo nochmal,
ich möchte den Meldetext noch etwas verlängern und dadurch benödige ich einen Zeilenumbruch. Wie kann ich den einbauen?
Gruß Werner
AW: SelectionChange...
23.01.2009 21:08:04
Gerd
Hi,
Msgbox "Diese Meldung" & Chr(10) & _
"geht jetzt" & Chr(10) & _
"über drei Zeilen", 64, "Hinweis"
mfg Gerd
Anzeige
AW: SelectionChange...
23.01.2009 21:26:00
Werner
Hallo Gerd,
hier das Makro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, ActiveSheet.Range("E15:G18")) Is Nothing Then Exit Sub
MsgBox "Zelle(n) " & Target.Address(0, 0) & " wirklich ändern?" & Chr(10) & _
"dies hätte Auswirkungen auf....", vbExclamation + vbOKOnly
End Sub


Ich bekomme jedesmal die Fehlermeldung:Fehler beim Kompilieren!!
Wo hab ich da einen Fehler?
Gruß Werner

AW: SelectionChange...
23.01.2009 21:56:56
Gerd
Hi,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("E15:G18")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
MsgBox "Zelle " & Target.Address(0, 0) & " wirklich ändern?" & Chr(10) & _
"dies hätte Auswirkungen auf....", vbExclamation + vbOKOnly
End Sub


mfg Gerd

Anzeige
AW: SelectionChange...
23.01.2009 22:20:00
Werner
Hallo Gerd,
das Problem ist leider nicht gelöst.Wahrscheinlich liegt es an meiner ungenauen Beschreibung, den ich habe den Code genauso übernommen und es kommt die gleiche Fehlermeldung :
Fehler beim Kompilieren:
Projekt oder Bibliothek nicht gefunden
Sorry, dass war mein Fehler das ich Dir nicht die komplette Fehlermeldung geschrieben habe, kannst Du damit mehr Anfangen?
Gruß Werner
AW: SelectionChange...
23.01.2009 22:26:31
Gerd
Hi,
schau mal im Editor unter extras, Verweise nach, da muss was als ungültig(oder ähnlich) markiert sein.
mfg Gerd
AW: SelectionChange...
23.01.2009 22:57:00
werner
Hallo Gerd,
ich komme leider nicht weiter, es wird der Text:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'gelb hinterlegt und der Text:
Chr 'wird blau hiterlegt. Ich komme da einfach nicht weiter.
Gruß Werner
Anzeige
AW: SelectionChange...
23.01.2009 23:02:41
Gerd
Hi,
das deute darauf hin, dass ein Verweis ungültig ist.
Hast du denn meinen Tipp der letzten Antwort umgesetzt?
mfg Gerd
AW: SelectionChange...
23.01.2009 23:23:46
werner
Hallo Gerd,
es muss mit dem Zeilenumbruch zusammenhängen, denn ich habe nochmals das erste Makro getestet und das funktioniert. Ansonsten komme ich auch mit Deinen Tip nicht weiter.
Gruß Werner
AW: SelectionChange...
23.01.2009 23:34:00
Gerd
Hi,
"...Ansonsten komme ich auch mit Deinen Tip nicht weiter..."
Ja, wenn du nicht in der Lage bist, die Verweise zu prüfen, musst du mit dem Makel leben.
Als workaround, was aber keine richtige Lösung für das generelle Problem ist, kannst
du es so schreiben:
VBA.Chr(10)
Über kurz oder lang wird es weiter Probleme mit der Mappe geben, versprochen.
mfg Gerd
Anzeige
AW: SelectionChange...
23.01.2009 23:59:00
werner
Hallo Gerd,
Ich werde weiter Suchen, den ich möchte das Problem ja schließlich Lösen :-)
ich werde es mir zu Herzen nehmen, nochmals Danke
Gruß Werner
probier mal mit vblf
24.01.2009 02:59:00
Matthias
Hallo
vorab: bei mir funktionieren die Beispiele
Vielleicht hast Du auch den vom Forum erzeugten Zeilenumbruch mitübernommen (der Unterstrich _ ) in den vorherigen Beiträgen,
Deshalb habe ich jetzt mal verhindert, das die Forumsoftware den Umbruch erzeugt.





Private Sub Worksheet_SelectionChange(ByVal Target As Range)



If Not Intersect(Target, Range("E15:G18")) Is NothingThen



MsgBox "Zelle (" & Target.Address(0, 0) & ")" & " wirklich ändern?" & vbLf & "dies hätte Auswirkungen auf....", vbExclamation + vbOKOnly



End If



End Sub




Gruß Matthias
Anzeige
Nachtrag
24.01.2009 09:12:00
Matthias
Hallo
In meinem Beispiel (2.Codezeile) habe ich versehentlich:
NothingThen
zusammen geschrieben.
Da muss natürlich ein Leerzeichen dazwischen:
Nothing Then
Gruß Matthias
AW: SelectionChange...
24.01.2009 09:23:00
Oberschlumpf
Hallo ihr!
Ich möchte auch mal (wenn meine "Einmischung" unerwünscht, dann einfach ignorieren.
Werner, versuch es mal so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, ActiveSheet.Range("E15:G18")) Is Nothing Then Exit Sub
MsgBox "Zelle(n) " & Target.Address(0, 0) & " wirklich ändern?" & vbCrLf & _
"dies hätte Auswirkungen auf....", vbExclamation + vbOKOnly
End Sub


Der Zeilenumbruch mit vbCrLf funzte bei mir bisher immer.
Nun bin ich neugierig, obs auch bei dir funzt, Werner.
Ciao
Thorsten

Anzeige
AW: SelectionChange...
25.01.2009 12:25:00
Werner
Hallo Matthias, hallo Oberschlumpf,
herzlichen Dank für eure Antworten, es funktionieren beide Vorschläge.
Ihr seid Super :-) :-)
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige