Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

RefersTo für Eintrag in Namensmanager
#1
Hallo an alle,   :32:

habe endlich mal wieder etwas Zeit, für mich privat mal was zu machen, und dann das:

Ich habe per Hand, einen Eintrag erzeugt und aufgezeichnet: Dieses Ergebnis kam dabei raus:

    ActiveWorkbook.Names.Add Name:="tblVeranstaltungTerminZeileErste", _
        RefersToR1C1:="='P-Basis'!R6C5"
    ActiveWorkbook.Names("tblVeranstaltungTerminZeileErste").Comment = _
        "Erste Zeile des benutzten Bereiches in Tabelle VeranstaltungAdresse"

Da ich ja schon öfter, darauf reingefallen bin, was die Aufzeichnung fabriziert, habe ich gleich den Eintrag wieder gelöscht und das Makro unverändert laufen lassen.

Ergebnis:

Statt 'P-Basis'!R6C5 steht 'P-Basis'!'R6C5' im Namensmanager, und egal wie ich den String zusammensetze, mit oder ohne Apostrophe, die beiden hinter dem Ausrufezeichen bleiben.

Wenn ich sie manuell im Namensmanager entferne, ist alles i.O., aber das kannst ja nicht sein.

Ist das sooo schwer, oder verstehe ich da nur irgendwas nicht?

Habt Ihr 'ne Idee?

Danke ;)

LG Michael

P.S. Ich habe Windows 10 und Excel 2016 und arbeite grundsätzlich mit der Z1S1-Bezugsart. ;)
Antworten Top
#2
Hallo

weil mich dies Sache selbst interessiert hat habe ich es mir mal angesehen.  Deer 2. Teil klappt bei mir auch nicht!  Man kann die Adresse auch normal eingeben, muss aber $$ verwenden, z.B. $C$8, sonst klappt es nicht!!   Den Kommentar konnte ich nur über Add.Comment in die Zelle schreiben.  
Auf Range().Add.Comment kann m.E. nicht verzichtet werden.  Bitte selbst ausprobieren

mfg  Gast 123

Code:
Sub Test()
'   ActiveWorkbook.Names.Add Name:="tblVeranstaltungTerminZeileErste", _
       RefersToR1C1:="='P-Basis'!R6C5"
  ActiveWorkbook.Names.Add Name:="tblVeranstaltungZweite", _
       RefersToLocal:="='P-Basis'!$C$8"

'Comments in Zelle einfügen
With Worksheets("P-Basis")
   Range("E6").AddComment "Erste Zeile des benutzten Bereiches in Tabelle VeranstaltungAdresse"
   Range("E6").Comment.Visible = False
End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • zmichael27
Antworten Top
#3
Danke Gast 123,

der Kommentar ist nicht das Problem, der kommt 100%ig rüber. Es geht nur um den Bezug, wo nicht nur, links neben dem Ausrufezeichen, die Tabelle in Apostrophe gesetzt wird, das ist ja kein Problem, sondern auch rechts die Zelle, die ich angebe. Vielleicht schaffe ich es, morgen, da nochmal ran zu gehen.

Schönen Abend Euch allen.

Gruß aus Hannover

Michael
Antworten Top
#4
Es gibt (mindestens) 4 Möglichkeiten der Formeleingabe in Excel (lassen wir Solver, WasWäreWenn und Pivot und andere mal weg):

- die Zellformeln selbst
- benutzerdefinierte Datenüberprüfungen (idealerweise so, dass sie boolesch formuliert oder durch Excel umdeutbar sind)
- bedingte Formatierungen (idealerweise so, dass sie boolesch formuliert oder durch Excel umdeutbar sind)
- formeldefinierte Namen

Nicht bei allen (außer den Zellformeln) funktioniert die R1C1-Bezugsverwendung. Oder, vermutlich genauer: Nicht bei allen klappen zu jeder Zeit (also ohne Umschaltung in den Excel-Optionen) alle Bezugsarten-Eingaben.

Bei den definierten Namen werden die R1C1-Bezüge ja bei relativer A1-Bezugseingabe sowieso verwendet. In Zelle C4 definiertes =B3 bedeutet, dass in Zelle B2 dann =A1 gerechnet wird, weil es wie =R[-1]C[-1] funktioniert. Anders als bei normalem relativen Bezug bleibt bei Einfügen einer Spalte auf B:B dieses A1 nicht stehen, sondern wird wie ein Vektor angepasst auf =B1.

Da zu 99% das hinzugefügte Blatt bei den defN nicht beabsichtigt ist und durch Excel ergänzt wird (auch bei nur einem vorhandenen Blatt!), lasse ich es einfach bei der Definition durch VBA weg. Es gibt übrigens (lokale) Blatt- und (globale) Mappennamen!

.Names.Comment flexe ich immer einfach weg. Das klappt auch bisher immer (hier: xl2010).

Bei Datenüberprüfungen klappt direkt nur die A1-Bezugsverwendung (meine ich, kann mich aber irren, und schaue das gerade nicht nach), bzw. nicht die Funktionalität von R1C1. Wenn man dort genauso "vektoriell" (also nicht relativ zu der bezogenen Zelle, sondern relativ vom Ziel aus, wie eben oben beschrieben) arbeiten möchte, muss ich das gewünschte =R[-1]C[-1] entweder mit defN erzeugen und in der DÜ eingeben, oder ich verwende (wenn nur Spalten eingefügt werden können, aber keine Zeilen) die Krücke C4: =INDEX(3:3;SPALTE(C4)-1). Oder, wenn auch Zeilen eingefügt werden können: =INDEX($A:$Z;ZEILE(C4)-1;SPALTE(C4)-1). Oder irgendwas mit ADRESSE oder BEREICH.VERSCHIEBEN.

Ein spannendes Thema!
[-] Folgende(r) 1 Nutzer sagt Danke an lupo1 für diesen Beitrag:
  • zmichael27
Antworten Top
#5
versuch mal:


Code:
sheets("P_basis").cells(6,5).name="tblVeranstaltungTerminZeileErste"
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • zmichael27
Antworten Top
#6
Hallo an alle, schönen Sonntag.   :19: 

jetzt habe ich endlich mal wieder Zeit, und all meine Versuche, eine Lösung zu finden, sind fehlgeschlagen.

Aber ich kann erstmal damit leben, dass ich nach dem automatischen Erstellen, im Namensmanager, per Hand die Apostrophe entferne.

Vielleicht kommt ja irgendwann doch noch die Erleuchtung. Ich schließe den Thread, und dankeschön an diejenigen, die versucht haben, das Problem zu lösen. ;)

Gruß aus Hannover

Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste