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

End Funktion, Zeilen zählen

End Funktion, Zeilen zählen
11.06.2009 16:09:53
gröbi
Hallo,
ich rufe aus einer Access Applikation Excel mit Late-Binding auf (CreatObject...) auf.
Ich öffne eine Arbeitsmappe und wähle ein Arbeitsblatt aus. In diesem Arbeitsblatt
will ich nun die letzte Zeile in der Spalte A mit der nachfolgenden Funktion ermitteln
Alle Variablen sind deklariert.
xlWb = das Workbook
xlTabellenende = die gesuchte letzte Zeile in der Spalte A
colMenge = die erste Spalte im Worksheet
In der nachfolgedenden Codezeile entsteht der Laufzeitfehler 1004
(Anwendungs oder objektdefinierter Fehler).
Was ist in dieser Zeile falsch?
xlTabellenende = xlWb.ActiveSheet.Cells(xlWb.ActiveSheet.Rows.Count, colMenge).End(xlUp).Rows

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
XL-Konstante "xlUp" ist nicht bekannt
11.06.2009 16:23:34
NoNet
Hallo Gröbi,
auch wenn Du ansonsten alles korrekt referenziert hast :
Die Excel-Konstante xlUp ist in Access (und anderen Anwendungen) nicht bekannt !
Deklariere sie in Access als Konstante : Const xlUp=-4162
Oder : verwende im Code anstelle xlUp den numerischen Wert -4162 :
xlTabellenende = xlWb.ActiveSheet.Cells(xlWb.ActiveSheet.Rows.Count, colMenge).End(-4162).Rows
Die CONST-Variante ist jedoch sinnvoller - auch für weitere Verwendung im Code !
Gruß, NoNet
AW: XL-Konstante "xlUp" ist nicht bekannt
11.06.2009 16:34:58
gröbi
Danke für den Tipp, funzt prima!
Ich habe vergessen zu erwähnen das ich eine Variable namens xlUp deklariert habe:
Dim xlUp as Long
Habe dieser Variablen aber keinen Wert zugewiesen.
Alleine mit der MSDN wäre ich auf dem Holzweg gewesen...
Gruß, gröbi.
Anzeige
...Richtig, NoNet, vielleicht sollte...
11.06.2009 16:36:57
Luc:-?
...Gröbi aber auch gleich die ganze Enum-Proc nachbauen - mit allen anderen Werten auch...?! Wäre ja auch kein Hit... ;-)
Gruß Luc :-?
OK, Luc, aber wie geht das ?
11.06.2009 16:43:52
NoNet
Hey Luc,
klingt interessant ! Hast Du dafür auch ein passendes Code-Beispiel (z.B. in Deiner "Konservenkiste" ;-) ?
Würde mich interessieren, wie das aussieht, da ich es bislang noch nie benötigt verwendet habe.
Thanks in advance, NoNet
Ist ganz einfach,...
11.06.2009 18:22:22
Luc:-?
...NoNet,
habe ich jetzt schon des Öfteren angewendet. Ein Bsp...

Enum xlTrialState: xlRTrue = -1: xlFalse: xlPTrue: End Enum

Den Typ msoTrialState gibt's ja schon, xlTrialState fehlt bisher (auch in xl12). Ansonsten ist eine mit xl... anfangende Typ- bzw Wertbezeichnung etwas riskant - wer weiß, was sich MS noch einfallen lässt. So erstellte MS wohl auch ursprgl alle zu einem Typ vereinigten Konstantenwerte, denn darum handelt es sich eigentlich. Deshalb darf eine bestimmte Enum-Proc auch nur in einem ("normalen") Modul eines Projekts (auch AddIn) verwendet wdn (VBA warnt anderenfalls).
Die Werte müssen ganzzahlig sein. Erhöhen sie sich stets um 1 (Durchnummerierung) muss nur der 1.Wert angegeben wdn, wenn der nicht =0 ist.
Der Vorteil liegt auf der Hand. Die Namen der Werte wdn im VBE angezeigt, wenn eine Variable mit dem Namen der Enum-Proc deklariert wird, also bspw Dim varxyz As xlTrialState. Schreibst du 'varxyz = ' wird im PopUp xlFalse, xlPTrue und xlRTrue angezeigt (Sortierung nach Name).
Gruß Luc :-?

Anzeige
OK, aber ich hatte mir etwas anderes vorgestellt
11.06.2009 23:03:00
NoNet
'n Abend, Luc,
Danke für deine Antwort.
Ich hatte mir allerdings etwas anderes vorgestellt/erwartet :
Ich dachte, man könne durch diese Methode "ernsthaft" auf die Konstanten der entfernten Application zugreifen, so wie das bei "Early binding" der Fall ist.
Im vorliegenden Fall ist wohl auch ein Enum nicht sinnvoll, da die xlKonstanten der .End()-Methode folgende (nicht zusammenhängende) Werte besitzen :
xldown = -4121 / xltoleft = -4159 / xltoright = -4161 / xlup = -4162
Dennoch Danke :-) , habe wieder etwas dazu gelernt.
Gruß, NoNet
Warum nicht sinnvoll?! In xlVBA ist das ja...
12.06.2009 00:21:23
Luc:-?
...wohl auch so gemacht worden, sonst gäbe es sicher keinen DclTyp (xlDirection) dafür, NoNet.
Ansonsten hängt das ganz vom "Geschmack" des Pgmierers ab. In Xl-VBA gibt's besonders viele derartige Konstt, in Wd-VBA deutlich weniger (vbKonstt), dafür mit längeren Namen. Hinzu kommen dann noch xl... bzw wd... usf sowie msoKonstt, von denen die Meisten auch "enummeriert" sind.
Ansonsten muss im acProjekt halt auf die xlBibliothek verwiesen wdn...
GutNacht, Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige