Gesucht VBA-Pendant zu Zelle()

Bild

Betrifft: Gesucht VBA-Pendant zu Zelle() von: Eugenie
Geschrieben am: 04.02.2005 08:58:36

Hallo,

habe jetzt die halbe Nacht gesucht - entweder gibt es dazu nichts im Netz (die Hilfe läßt einen auch hier zuverlässig im Stich) oder ich habe ungünstige Stichworte benutzt - aber ich kann zu folgender Frage keine Antwort finden:

Wie lautet die VBA-Variante zum Excelbefehl Zelle()?



MfG

Eugenie

Bild


Betrifft: Schwierig! "Cell" ;-)) o.T. von: Josef Ehrensberger
Geschrieben am: 04.02.2005 09:05:44

Gruß Sepp


Bild


Betrifft: AW: Gesucht VBA-Pendant zu Zelle() von: Margarete
Geschrieben am: 04.02.2005 09:07:45

Hallo Eugenie,

ich hoffe ich verstehe Dich richtig: cells().
Wenn Du sagst "cells(1,1).Select", dann ist das Zelle A1. Zuerst kommt die Reihe und nach dem Komma die Spalte. cells(2,1) wäre also A2.

Ich hoffe ich konnte helfen.

Nette Grüße
Margarete


Bild


Betrifft: AW: Hier besser beschrieben .... von: Eugenie
Geschrieben am: 04.02.2005 09:17:33

Sorry an Josef und Magarete!

Da habe ich mich ja mal wieder sehr doof ausgedrückt :-(

Was ich wirklich meinte: ich suche die VBA-Version von 'ZELLE(Infotyp;Bezug)'

Ich hoffe, dies ist jetzt eindeutiger :-)



MfG

Eugenie


Bild


Betrifft: AW: Hier besser beschrieben .... von: Galenzo
Geschrieben am: 04.02.2005 09:28:21

schreib mal
cells(1,1)
und drücke STRG+LEER
dann siehst du alle Eigenschaften der Zelle, die du abfragen kannst.
welche Eigenschaft suchst du denn?


Bild


Betrifft: AW: Hier besser beschrieben .... von: Eugenie
Geschrieben am: 04.02.2005 09:37:01

Hallo Galenzo,

unter Excel direkt kann ich ja z.B. mit Zelle("Row";Bereichsname) die Zeile ermitteln, in der der Bereich beginnt.

Und ich möchte diese Abfrage unter VBA durchführen - möglichst mit der Bandbreite vom Infotyp, die mit 'ZELLE(Infotyp;Bezug)' möglich sind ....

Der Befehl 'cells(1 1) gibt da ja nicht viel her, um das oben beschriebene zu erreichen, fürchte ich ....



MfG

Eugenie


Bild


Betrifft: AW: Hier besser beschrieben .... von: Galenzo
Geschrieben am: 04.02.2005 09:50:10

Range("B5:K23").Cells(1, 1)
oder auch kurz
Range("B5:K23")(1, 1)

ist die 1. zelle des Bereiches B5:K23

Ich kann mir immernoch keine Vorstellung davon machen, was du eigentlich erreichen willst


Bild


Betrifft: AW: Hier besser beschrieben .... von: Eugenie
Geschrieben am: 04.02.2005 11:02:19

Hallo Galenzo,

oder auch kurz
Range("B5:K23")(1, 1)

ist die 1. zelle des Bereiches B5:K23


Funtkioniert so weit auch - nur daß ich den Inhalt der Zelle bekomme, nicht die Zeilennummer! Während Zelle("Zeile",Bereichsname) mir ja die Zeilen*nummer* liefert.



Ich kann mir immernoch keine Vorstellung davon machen, was du eigentlich erreichen willst

Ist eigentlich ganz einfach - solange ich es in meine Kopf habe und nicht erklären muß *g* :
Mit dem Befehl Zelle("Infotyp", Bereich) kann ich ja diverse Informationen abrufen, sei es Zeilennummer, Adresse, Typ, Formatierung usw.

Und (mehr oder weniger) genau solch eine Prozedur/Funktion suche ich für VBA.

Hintergrund: Peter W. hatte mir freundlicherweise einen VBA-Code auf meine erste Anfrage hier zur Verfügung gestellt, den ich etwas verallgemeinern möchte, da sich die gesamte Mappe noch im Aufbau befindet und die benamsten Bereiche sich ständig verschieben. Weil Peter selbst geschrieben hat, daß sein Code nur für meine Beispieltabelle läuft (wegen fester Zellenangabe) und ich nicht nach jeder Änderung in der Arbeitsmappe sämtliche in Frage kommenden Stellen im Code ändern möchte (wäre ja eine Fehlerquelle, wie sie im Buche steht), möchte ich die relevanten Zellen/Zeilen von der Routine selbst herausfinden lassen.

Hier ein konkreteres Beispiel:

eine Codezeile lautet

For lgRow = 10 To .Cells(Rows.Count, bLand * 2 + bSprache + 5).End(xlUp).Row

Da der Anfangswert der For-Schleife sich noch 100 mal ändern kann, hatte ich mir folgendes gedacht (Achtung!! VBA/Excel-Mischmasch!!)


Ermittle erste Zeile vom Arbeitsbereich mit
Zelle("Zeile", Bereichsname)

Setze diesen gefundenen Wert an die Stelle der 10
For lgRow =
ermittelte Zeile To .Cells(Rows.Count, bLand * 2 + bSprache + 5).End(xlUp).Row

Da der Excel-Befehl Zelle("Zeile", Bereichsname) - oder allgemeiner 'Zelle("Infotyp", Bereich) - aber bekanntermaßen unter VBA nicht einsetzbar ist, suche ich eben was Äquivalentes :-)



MfG

Eugenie


Bild


Betrifft: AW: Hier besser beschrieben .... von: Galenzo
Geschrieben am: 04.02.2005 11:30:35

na das ist doch mal 'ne ausführliche Info :-)
Nachdem wir nun nach langem Weg auf den Punkt gekommen sind, ist die Lösung eigentlich ganz kurz:
[Bereich].Row
uff...

Oder ausführlich Range("Bereich").Row

Ich hoffe damit kannst du nun was anfangen !


Bild


Betrifft: AW: Hier besser beschrieben .... von: Eugenie
Geschrieben am: 04.02.2005 11:53:32

Hallo Galenzo,

na das ist doch mal 'ne ausführliche Info :-)

Ich neige zur Weitschweifigkeit, ich weiß ;-)


Nachdem wir nun nach langem Weg auf den Punkt gekommen sind, ist die Lösung eigentlich ganz kurz:
[Bereich].Row
uff...

Oder ausführlich Range("Bereich").Row

Ich hoffe damit kannst du nun was anfangen !


BINGO - die Frage kann ich schon mal abhaken. Mal eruieren, welche Möglichkeiten sich mir mit dem Range-Befehl noch so bieten :-)

Vielen Dank für Deine Hilfe :-)



MfG

Eugenie


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Gesucht VBA-Pendant zu Zelle()"