Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Select Case Zellnamen

Betrifft: Select Case Zellnamen von: KlausF
Geschrieben am: 21.10.2014 17:32:55

Hallo Forum,
wie kann ich mit Select Case Zellnamen abfragen?

Ich habe z.B. 3 Zellen mit Namen Klaus, Peter und Rolf

Select Case ?????
Case "Klaus", "Peter"
Case "Rolf"
Case Else
End Select

Select Case Target.Name oder ähnliches funktioniert nicht

Gruß
Klaus

  

Betrifft: AW: Select Case Zellnamen von: Hajo_Zi
Geschrieben am: 21.10.2014 17:35:42

Hallo Klaus,

Range("Klaus")

GrußformelHomepage


  

Betrifft: AW: Select Case Zellnamen von: KlausF
Geschrieben am: 21.10.2014 17:46:25

Hallo Hajo,
danke für die Antwort, aber ich brauche die Eingangs-Select Case Abfrage
(dort, wo die Fragezeichen stehen)

Mit Select Case Target.Range("A1").Address(False, False, xlA1) kann ich
z.B. die Festadresse abfragen: Case "B10", "C10" usw
Das klappt aber nicht mit einem Zellnamen ...

Gruß
Klaus


  

Betrifft: AW: Select Case Zellnamen von: hary
Geschrieben am: 21.10.2014 17:53:02

Moin
Nutzt du den Code in Code der Tabelle??
dann: Select Case Target.Name.Name
oder im Makro dann: Select Case ActiveCell.Name.Name

also Name verdoppeln
gruss hary


  

Betrifft: Methode fehlgeschlagen von: KlausF
Geschrieben am: 21.10.2014 18:02:14

Hallo Hary,
Meldung: die Methode Name für das Objekt Range ist fehlgeschlagen.
Ich benutze den Code im Code der Tabelle, also Select Case Target.Name.Name

Gruß
Klaus


  

Betrifft: AW: Methode fehlgeschlagen von: Ewald
Geschrieben am: 21.10.2014 18:43:16

Hallo,

wie wärs so

On Error Resume Next
Select Case Target.Name.Name
Case "Klaus"
MsgBox "Gefunden Klaus"
Case "Peter"
MsgBox "Gefunden Peter"
Case "Rolf"
MsgBox "Gefunden Rolf"
End Select
Gruß Ewald


  

Betrifft: AW: Methode fehlgeschlagen von: Ewald
Geschrieben am: 21.10.2014 19:03:14

Hallo,

zuschnell abgeschickt,

Dies funktioniert aber nur wenn Target genau so groß ist wie der Bereich des Namens.

Name nur eine Zelle, Target auch nur eine Zelle

Name drei Zellen, Target muß auch diese drei Zellen sein.

Wenn du ein Ergebnis haben willst ob eine Zelle in Target zu einem Namen gehört, mußt du Target durchlaufen.

Gruß Ewald


  

Betrifft: AW: Select Case Zellnamen von: {Boris}
Geschrieben am: 21.10.2014 17:55:34

Hi Klaus,

wann soll denn die Abfrage kommen? In einem Ereignismakro? Wenn ja: Welches genau?

Falls es so sein sollte:

Select Case Target.Name.Name

Also 2 mal Name ;-)

VG, Boris


  

Betrifft: AW: Zum besseren Verständnis von: KlausF
Geschrieben am: 21.10.2014 18:18:45

Hallo Boris und Hary,
Name.Name funktioniert leider nicht (??)

Ich habe die Datei von dieser Forums-Frage heruntergeladen
https://www.herber.de/forum/messages/1387690.html
und mir den Code zum Lernen mal angesehen. Dann habe ich die 3 angesprochenen Zellen
mit Namen versehen um flexibel zu sein. Die Worksheet_Change funktioniert aber mit Name.Name nicht.

Wo liegt der Fehler?
Veränderte Datei:

https://www.herber.de/bbs/user/93269.xls

Gruß
Klaus


  

Betrifft: Laufzeitfehler 1004 von: {Boris}
Geschrieben am: 21.10.2014 18:29:01

Hi Klaus,

wenn Target kein benannter Bereich / keine benannte Zelle ist, dann läuft die Abfrage auf einen Fehler.
Da musst Du einen Fehlerabfang einbauen.

VG, Boris


  

Betrifft: Außerdem ist dein Pgm längst nicht fertig, ... von: Luc:-?
Geschrieben am: 21.10.2014 19:33:51

…Klaus,
weshalb man das auch nicht ordentlich testen kann → es passiert nichts! Das heißt aber nicht, dass deine Behauptung stimmt. In solchen Fällen verwendet man besser eine Variable, der man Target.Name.Name zuvor zuweist. Dann kann man auch sehen, dass diese Variable tatsächlich den ZellNamen enthält, wenn man denn eine benannte Zelle angeklickt hat…
Man kann allerdings auch zuvor ein Debug.Print Target.Name.Name einfügen, um das im DirektFenster anzeigen zu lassen.
Gruß, Luc :-?


  

Betrifft: AW: Außerdem ist dein Pgm längst nicht fertig, ... von: KlausF
Geschrieben am: 21.10.2014 19:45:25

Hallo Luc,

das ist nicht mein Programm, siehe hier: https://www.herber.de/forum/messages/1387834.html
Außerdem passiert auch etwas, wenn die Parameter richtig gesetzt sind und ein Name richtig ausgewählt wurde:
der Kommentar wird auf Sheet Comments in die richtige Reihe/Spalte gesetzt ... aber nur ohne Verbundzeile.

Gruß
Klaus


  

Betrifft: AW s.u.! owT von: Luc:-?
Geschrieben am: 21.10.2014 19:50:08

:-?


  

Betrifft: Fehler gefunden. von: KlausF
Geschrieben am: 21.10.2014 19:37:21

Hallo {Boris}, Ewald und Hary,

der Fehler lag an der Verbundzelle A15 mit Namen MyComment.
Nachdem ich den Zellverbund aufgehoben habe funzt es (im Zusammenhang mit On Error).

Danke an Alle, das war sehr lehrreich ...

Gruß
Klaus


  

Betrifft: Soso, das habe ich nicht getan, der entsprd ... von: Luc:-?
Geschrieben am: 21.10.2014 19:49:11

…PgmAbschnitt wurde aber durchlaufen, Klaus;
dann hat das im Prinzip nichts mit Target.Name.Name zu tun, sondern eher mit der korrekten Referenzierung und Behandlung eines mehrzelligen Targets.
Luc :-?


  

Betrifft: genau! ;-) owT von: Matthias L
Geschrieben am: 21.10.2014 19:52:13




  

Betrifft: OT Übrigens ... von: Matthias L
Geschrieben am: 21.10.2014 19:59:25

Hallo Luc

... Lese ich Eure Beiträge (Luc <-> Ewald) immer genau mit.
Denke also nicht das da niemand mitliest ;-)

Gruß Matthias


  

Betrifft: OT-AW: Das habe ich ja auch nicht behauptet, ... von: Luc:-?
Geschrieben am: 21.10.2014 20:06:47

…Matti,
sondern nur, dass außer den von dir genannten niemand sonst (ernsthaft) mitdiskutieren wird, was bisher ja auch stimmt. Daniels „GastAuftritt“ dort kann man wohl vernachlässigen, auch wenn er die Diskussion erst ausgelöst hat… ;-)
Gruß, Luc :-?


  

Betrifft: Und wie mit Verbundzelle? von: KlausF
Geschrieben am: 21.10.2014 20:09:19

Hallo Luc,

das macht mich jetzt aber neugierig. Wie müßte denn der Code aussehen, wenn
das Eingabefeld MyComment eine Verbundzelle ist?
Hier die von mir angepasste letzte Fassung:
https://www.herber.de/bbs/user/93270.xls

Bitte nur Lösungsmöglichkeiten, die Menschen bis IQ 125 nachvollziehen :-)

Gruß
Klaus


  

Betrifft: AW: Und wie mit Verbundzelle? von: Ewald
Geschrieben am: 21.10.2014 22:51:14

Hallo,

das hatte ich doch schon geschrieben, Zellen im Namensbereich und in Target müssen gleich sein.

dies ist bei verbundenen Zellen nicht der Fall.

Im Namensmanager steht die Anfangszelle also eine, wenn du die Zelle markierst, und Target.Count abfragst, bekommst du die Anzahl der verbundenen Zellen,und dies sind minimal 2.

Da aber 1 nicht gleich 2 ist kein Ergebnis.

Du mußt also so formulieren, das wenn eine Zelle von Target im Bereich liegt, dann tu was.

Hier hilft Select Case wenig, besser wäre so

Dim zelle As Range
Dim x
For Each zelle In Target
If Intersect(zelle, Range("Peter")) Is Nothing Then
Else
x = x + 1
End If
Next
If x > 0 Then MsgBox "Gefunden Peter"
Da bei der ersten der verbundenen Zellen eine 1 bekommst, sollte es auch funktionieren.

Gruß Ewald


  

Betrifft: Erledigt von: KlausF
Geschrieben am: 21.10.2014 23:14:21

Hallo Ewald,
danke für Deine Antwort.

[ Hier hilft Select Case wenig ]

Genau. Da meine urspüngliche Frage sich auf Select Case und Zellnamen bezog
gibst Du mir also völlig recht darin, dass Select Case an dieser Stelle nicht sinnvoll ist,
es sei denn, die Verbundzelle wird aufgehoben.

Ich hatte mich nur über Luc's Antwort gewundert, die mir einen unbekannten anderen
Ansatz mit Select Case und Verbundzellen zu suggerieren schien ... aber vielleicht
habe ich ihn auch falsch verstanden.

Fragestellung hat sich damit erledigt.
Nochmals Danke

Gruß
Klaus


  

Betrifft: Meine Bemerkung bezog sich nur darauf, ... von: Luc:-?
Geschrieben am: 22.10.2014 05:09:27

…dass Target.Name.Name durchaus fktioniert, Klaus,
wenn denn die die Prozedur auslösende Zelle (bzw der Bereich) auch einen Namen hat, was aber nicht bei allen änderbaren Zellen der Fall ist, was zu Fehlern führt. Insofern ist das Pgm nicht betriebssicher und damit auch nicht fertig, was schon damit anfängt, dass man beim Laden der Mappe eine FehlerMeldung erhält, was ich besonders liebe… :-/
Wenn man Daten in VerbundZellen schreiben will, geht man auf Nummer Sicher, wenn man die einzige dafür relevante Zelle direkt anspricht und nicht den ganzen Verbund, was auch schon mal schief gehen kann.
Des weiteren weiß ich auch nicht, was alles in der Tabelle angeklickt/geändert wdn darf, das wird vom Pgm nicht vorselektiert. Also noch viel Arbeit…
Ob da nun das Select Case an der richtigen Stelle steht oder überhpt sinnvoll ist, war daher für mich eher sekundär. :-|
Luc :-?


  

Betrifft: AW: Select Case Zellnamen von: Uwe Küstner
Geschrieben am: 22.10.2014 08:10:09

Hallo Klaus,

ich würde es mal mit

Select Case Target.Cells(1).Name.Name

versuchen.


  

Betrifft: Die Lösung ! von: KlausF
Geschrieben am: 22.10.2014 10:00:58

Hallo Uwe,

der Hammer. Damit lässt sich tatsächlich eine Verbundzelle
mit ihrem definierten Namen ansprechen!

Herzlichen Dank für die Lösung. Ist ja vielleicht auch für
den einen oder anderen Profi hier ganz interessant.

Gruß
Klaus


  

Betrifft: Was meinst du wohl, was ich gemacht habe, ... von: Luc:-?
Geschrieben am: 22.10.2014 14:50:25

…Klaus…?
Dein Fehler bestand wohl darin, dass du erst die Zellen verbunden und anschließend den Namen definiert hast. Dadurch bezieht der sich nur auf die 1.Zelle des Verbunds, wird aber natürlich bei allen angezeigt, weil du ja, verbunden wie sie sind, nur alle auswählen kannst. Dass dann auch der Name angezeigt wird, liegt am ZellVerbund. Die „Stunde der Wahrheit“ kommt dann, wenn du diese VerbundZelle als Target verwendest. Für VBA haben diese Zellen (als Gesamtheit) dann nämlich keinen Namen, was ja auch der Realität entspricht, dir von Xl nur nicht angezeigt wird.
Gruß, Luc :-?


  

Betrifft: Es macht keinen Unterschied, ... von: Uwe Küstner
Geschrieben am: 22.10.2014 16:43:03

... Luc,
ob vorher oder hinterher verbunden wurde.

Gruß Uwe


  

Betrifft: Deine Aussage stimmt nur dann, ... von: Luc:-?
Geschrieben am: 22.10.2014 18:00:54

…Uwe,
wenn auch zuvor nur eine Zelle ausgewählt wurde, was Klaus getan haben mag, ich aber niemals tue, weil ich das weiß. ;-)
Gruß, Luc :-?


  

Betrifft: AW: Es macht keinen Unterschied, ... von: Ewald
Geschrieben am: 22.10.2014 18:26:59

Hallo,

das paßt nur wenn nach rechts verbunden wird. B & C verbinden

wird aber A & B verbunden, wird nichts gefunden.(hier müßte der Index 2 sein)

Es paßt also nicht in jedem Fall.

Gruß Ewald


  

Betrifft: Bei mir funzt das von: KlausF
Geschrieben am: 22.10.2014 19:04:29

Hallo Ewald,
die Ausgangszelle ist A15 und heißt MyComment. Danach kannst Du nach rechts oder
unten verbinden wie Du willst. Es funktioniert immer. Jedenfalls bei mir. Ich kann auch
danach wieder entbinden, spielt alles keine Rolle. Anbei noch einmal die letzte Fassung

https://www.herber.de/bbs/user/93297.xls

Gruß
Klaus


  

Betrifft: AW: dann teste mal von: Ewald
Geschrieben am: 23.10.2014 00:03:55

Hallo Klaus,

nach rechts oder nach unten ist kein Problem, weil die erste Zelle ja den Namen hat.

kannst ja mal testen

gebe der Zelle B18 einen Namen, dann A18 und B18 verbinden

oder der Zelle C18 einen Namen geben und dann C17 und C18 verbinden

in die Tabelle dann unter "Private Sub Worksheet_SelectionChange(ByVal Target As Range)"
folgende Zeile eingeben

MsgBox Target.Cells(1).Name.Name
Eigentlich sollte die Msgbox kommen, das geschieht aber nicht.

Solange die erste Zelle im Target den Namen hat,funktioniert es.

Dasselbe gilt aber auch für nicht verbundene Zellen, hat die erste Zelle im Target keinen Namen, bekommst du kein Ergebnis.

Gruß Ewald


  

Betrifft: AW: dann teste mal von: Uwe Küstner
Geschrieben am: 23.10.2014 00:37:03

Hallo Ewald,

Klaus hat die Zellen nun mal von links oben ausgehend erweitert/verbunden!

Dieser ganze inkonsequente Mist von Microsoft mit Verbundenen Zellen
ist hier doch gar nicht gefragt.
Außerdem ist die Befehlsform von geben "gib". ;-)

Gruß Uwe


  

Betrifft: AW: dann teste mal von: Ewald
Geschrieben am: 23.10.2014 01:43:27

Hallo Uwe,

ich sage ja auch nicht das es für diesen Fall nicht paßt.

Ich wollte nur darauf hinweisen, das dies nicht generell so ist.(der Fragesteller kann ja dann selbst entscheiden ob ihm das reicht)

Das Thema "Verbundene Zellen" wird wohl ein Übel bleiben, es wird überall darauf hingewiesen das sie nur Probleme schaffen, trotzdem wird es gemacht.

Gruß Ewald


  

Betrifft: Das ist ja weder Ewalds noch meine Schuld, ... von: Luc:-?
Geschrieben am: 23.10.2014 02:07:12

…Uwe,
wenn MS da (im Ggsatz zu LO/OO) auf halbem Wege stehen geblieben ist, wohl, weil die, die das mal eingeführt haben nur an Gestaltung von TabKöpfen und -Vorspalten dachten, was sich offensichtlich bis dato nicht geändert hat. Und wenn Klaus dieses eigentlich viel mächtigere Tool als MS je bezweckt hat, nun unnötigerweise einsetzt, ist das ja nun allein sein und hier tatsächlich nicht das HauptProblem, sondern nur eine Nebensache, die richtig gestellt wdn sollte… ;-)
Was die „gib/gebe-Problematik“ betrifft, ist Ewald hier (wie übrigens sehr viele) der Zeit (sprich der Sprach­Entwicklung) voraus, denn der Trend zu schwachen VerbFormen ist schon alt, nur bei häufig gebrauchten (noch) nicht allgemein und deshalb auch nicht im Duden angekommen. Ich gehe mal davon aus, dass er höflich sein wollte. Leider gibt's aber bei geben die einfache Möglichkeit Infinitiv-Stamm + Endungs-e (noch) nicht (aber offensichtlich umgangssprachlich)… ;-)
Morrn, Luc :-?


  

Betrifft: ist korrekt von: KlausF
Geschrieben am: 23.10.2014 13:42:22

Hallo Ewald,
ja , da gebe ich Dir recht und das ist auch ein guter Hinweis.
Man sollte also darauf achten, die Namenszelle bei Verbundzellen oben links zu platzieren,
ggf. die Namenzelle vorher ausschneiden und entsprechend platzieren.
Ohne das vorher gewusst zu haben, bin ich bisher sowieso immer in dieser Weise vorgegangen.

Gruß
Klaus

@Luc
Ich empfinde Deine Aussagen hier nicht gerade als sehr einladend.
[ Dein Fehler bestand wohl darin, dass du erst die Zellen verbunden und anschließend den Namen definiert hast ]
[ Und wenn Klaus dieses eigentlich viel mächtigere Tool als MS je bezweckt hat, nun unnötigerweise einsetzt, ist das ja nun
allein sein und hier tatsächlich nicht das HauptProblem, sondern nur eine Nebensache, die richtig gestellt wdn sollte… ]
[ ... was Klaus getan haben mag, ich aber niemals tue, weil ich das weiß. ;-) ]

Ich habe weder einen Fehler begangen noch etwas getan oder etwas unnötigerweise eingesetzt. Ich habe hier eine
Fremddatei herunter geladen und eine Frage gestellt. Das hatte ich Dir an anderer Stelle schon geschrieben. Das immer noch
zu ignorieren und die Art Deiner Schreibe klingt für mich beleidigend. Ich möchte Dich also höflich bitten, meinen Namen hier
nicht weiterhin für Deine Selfie-Antworten zu benutzen.

Meine Eingangsfrage betraf ein paar Fragezeichen hinter Select Case. Die Frage wurde für mich vollständig beantwortet.
Das kann man auch einfach so stehen lassen ...


  

Betrifft: So, so, du hast also auch die VerbundZellen so ... von: Luc:-?
Geschrieben am: 23.10.2014 17:24:03

…übernommen, Klaus;
dann bist du natürlich primär nicht der Verursacher. Aber du schreibst jetzt ja auch, dass du auch immer nur die 1.Zelle eines Verbunds benennst, was es dir dann auch kaum ermöglicht, den diesbzgl Fehler zu erkennen. Also könntest du das auch selbst erstellt haben, es hätte die gleiche Wirkung gehabt… ;-)
Deshalb musst du auch nicht beleidigt sein oder tun, immerhin hast du die fehlerhafte* Datei hier eingestellt. Auch hatte ich dich bisher dahingehend verstanden, dass du nur das Pgm übernommen und angepasst hast.
Ansonsten bestätigst du hiermit leider wieder mal nur meine vorgefasste (und dafür bist ganz allein du verantwortlich!) Meinung… :-<
* Darauf hatte ich bereits hingewiesen! Und so etwas macht man nicht!
Luc :-?


  

Betrifft: AW: So, so, du hast also auch die VerbundZellen so ... von: KlausF
Geschrieben am: 23.10.2014 20:38:53

Meine Güte Luc, was für ein Gebrabbel.
Für die Zukunft wünsche ich mir, dass Du Dich aus meinen Threads ganz raus hälst.


  

Betrifft: Was Intelligenteres fällt dir wohl als AW nicht... von: Luc:-?
Geschrieben am: 28.10.2014 00:35:06

…ein, Klaus;
das bestätigt meine Meinung über dich und deine Fähigkeiten, weshalb ich dir deine Bitte gern erfülle, denn es ist ohnehin zwecklos, dem aus der Folklore bekannten „Bürgermeister von Wesel“ etwas beibringen zu wollen… :->>
Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Select Case Zellnamen"