Thema Datum  Von Nutzer Rating
Antwort
11.04.2014 14:00:46 Corina
NotSolved
11.04.2014 14:57:30 Gast36725
NotSolved
11.04.2014 14:58:54 Gast78700
NotSolved
11.04.2014 15:23:25 Corina
NotSolved
11.04.2014 18:40:04 Gast68670
*****
NotSolved
14.04.2014 09:04:07 Corina
NotSolved
14.04.2014 12:36:54 Gast4466
NotSolved
14.04.2014 12:58:08 Gast89452
NotSolved
14.04.2014 14:14:59 Corina
NotSolved
14.04.2014 14:31:45 Gast59826
*****
Solved
14.04.2014 16:16:48 Corina
NotSolved
Blau Automatische Checkboxnamen generieren
14.04.2014 16:46:26 Gast59943
NotSolved
15.04.2014 08:42:10 Gast96490
NotSolved

Ansicht des Beitrags:
Von:
Gast59943
Datum:
14.04.2014 16:46:26
Views:
787
Rating: Antwort:
  Ja
Thema:
Automatische Checkboxnamen generieren

1 ) Warum hast Du bei der Deklaration statt "names" nun "rngNames" ?

Die Variablen kannst du benennen wie du möchtest. Es gibt da keine verpflichtenden Regeln. Allerdings hat sich über mittlerweile schon ein bis zwei Jahrzehnte hinweg eine Konvention (stille Übereinkunft) entwickelt ... allgemein wird sie als "ungarische Notation"  bezeichnet (bekannt durch einen Leszynski, hauptsächlich durch MS Access). Für VB/VBA gibt es ganz spezielle Präfixe die man Variablen voranstellt, um anhand des Namens schneller erkennen zu können, mit welchem Datentyp man bei ihr zu rechnen (sie zu interpretieren) hat und man sich so daran im Umgang mit ihr orientieren kann. Das Präfix 'rng' steht z.B. für Range was u.A. ein Objekt von Excel darstellt. Aber wie gesagt, nicht jeder hält sich daran (weil u.a. kein Muss), manche haben auch ihre ganz eigenen Abwandlungen davon. Es gibt auch Leute die sich gänzlich dagegen aussprechen. Ist eine Geschichte für sich. ;o)

 

2) Warum wird bei "names = Array (...)" ohne Set gearbeitet?

Das kannst du dir in der VBA-Hilfe durchlesen. Kurz: Set (deu: "setzen") wird nur in Verbindung mit Objekten verwendet. Arrays sind keine Objekte sondern eine Datenstruktur (im einfachsten Fall eine Liste aus einzelnen Elementen in Reihe).

 

3) Was hätte ich denn bei der Array-Variante angeben müssen?

Bei der Array-Variante hättest du ebenfalls über das Range-Objekt gehen müssen, denn nur darüber kommst du an deine Werte (du hattest lediglich ein Datenfeld mit einem Element des Datentyps String mit dem Wert "I1:I33" erstellt).

names = wks.Range("I1:I33").Value

Hier bekommst du dann ein zweidimensionales Array (Zeile, Spalte => 2 Dimensional) zurück geliefert. Dadurch hätte man das Ansprechen der einzelnen Elemente (in deinem Fall also die Namen / Bezeichnungen) in den nachfolgenden Zeilen etwas verändern müssen.

names(i, 1)

Die Index-Variable i beginnt dabei bei dem Wert 1 bis UBound(names)   ausfürhlicher geschrieben wäre es UBound(names, 1) ... die Eins gibt die Ebene an (1 ist jedoch Standard bei diesem Ausdruck - s. VBA-Hilfe).

 

Wenn noch Fragen offen sind, einfach fragen.

 

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.04.2014 14:00:46 Corina
NotSolved
11.04.2014 14:57:30 Gast36725
NotSolved
11.04.2014 14:58:54 Gast78700
NotSolved
11.04.2014 15:23:25 Corina
NotSolved
11.04.2014 18:40:04 Gast68670
*****
NotSolved
14.04.2014 09:04:07 Corina
NotSolved
14.04.2014 12:36:54 Gast4466
NotSolved
14.04.2014 12:58:08 Gast89452
NotSolved
14.04.2014 14:14:59 Corina
NotSolved
14.04.2014 14:31:45 Gast59826
*****
Solved
14.04.2014 16:16:48 Corina
NotSolved
Blau Automatische Checkboxnamen generieren
14.04.2014 16:46:26 Gast59943
NotSolved
15.04.2014 08:42:10 Gast96490
NotSolved