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

Zell Koordinaten verwenden in "range- Funktion"

Zell Koordinaten verwenden in "range- Funktion"
28.08.2014 14:07:42
Karsten
Hallo liebe Excel Freunde,
ich suche auf einem Arbeitsblatt nach einem bestimmten Namen im Bereich A1 - A50000. Set SucheQ = Sheets(Blatt7).Range("A1:A50000").Find(What:=Query)
SucheQ.Offset(1, 0).Select
Nun kann man die Zell Koordinaten der selektierten Zelle auslesen mit:
Zeile = ActiveCell.Row
Spalte = ActiveCell.Column
Jetzt kennt EXCEL die Zelladresse der Zelle auf dem Blatt. Aber wie kann man nun diese Adresse (Zeile, Spalte) mit der Range Funktion verwenden um "arNamen" zu füllen, so wie Beispiel mit festgelegter Adresse A5.
arNamen = .Range(.Range("A5"), .Range("A5").End(xlToRight))
Ich habe versucht mit arNamen = .Range.Cells(Zeile, Spalte) das funktiniert aber nicht. Könnt Ihr mir hlefen? Danke im Vorraus!
Gruß Karsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zell Koordinaten verwenden in "range- Funktion"
28.08.2014 14:20:31
yummi
Hallo Karsten,

Function WandleZahlInBuchstaben(ByVal iWert As Integer) As String
Dim Spaltenbuchstabe As String
Spaltenbuchstabe = Right(Columns(iWert).Address, _
Len(Columns(iWert).Address) - _
InStrRev(Columns(iWert).Address, "$"))
WandleZahlInBuchstaben = Spaltenbuchstabe
End Function

Aufruf: Buchstabe = WandleZahlINBuchstaben(Spalte)
Gruß
yummi

Hier ist wohl mal wieder der vorgestellte ...
28.08.2014 15:38:09
Luc:-?
…Lösungsweg zum Problem geworden, Karsten,
und verdeckt das eigentliche Problem! Du hast doch schon ein Range-Objekt (wie Hary ganz richtig bemerkte) mit allen seinen Eigenschaften. Jetzt kannst du entweder gleich den Wert der mit Offset ermittelten FolgeZelle in dein Array übernehmen oder, falls es der ganze Folgebereich sein soll, sein Ende nach rechts ermitteln und dann alles übernehmen:
arNamen = .Range(SucheQ.Offset(1, 0), SucheQ.End(xlToRight))
Warum willst du da erst die Adresse ermitteln? Die braucht das Pgm nicht, denn es hat ja schon eine Referenz des Objekts! Was du vorhast, ist quasi „von hinten durch die Brust geschossen“… ;-]
Gruß, Luc :-?

Anzeige
AW: Zell Koordinaten verwenden in "range- Funktion"
28.08.2014 14:58:29
hary
Moin Karsten
Verstehe nicht ganz was du moechtest.
Mit SucheQ hast du doch ein Rangeobjekt. Da kannst du die Adresse direkt auslesen.
Dim SucheQ As Range
Dim arNamen
Set SucheQ = Sheets("Blatt7").Range("A1:A50000").Find(What:="a")
arNamen = SucheQ.Offset(1, 0).Address

gruss hary

AW: Zell Koordinaten verwenden in "range- Funktion"
30.08.2014 12:22:34
Karsten
Hallo Hary, danke für den Hinweis, ok vielleicht habe ich mich nicht vollständig und gut genug ausgedrückt. Ich möchte mit arNamen nicht nur den Inhalt dieser selektierten Zelle auslesen sondern weitere Zellen rechts von diesem Punkt - deshalb .End(xlToRight). Es kommen nach rechts ca. 20 gefüllte Zellen die alle als Referenz der Spalten Überschriften für MS Access dienen. In MS Access soll dann eine Tabelle gefüllt werden mit all den Werten die unter diesem Bereich kommen. Hier das weitere Marco welches ich reingestellt habe:
https://www.herber.de/bbs/user/92327.txt
Ich hoffe ich habe mich jetzt besser ausgedrückt - sorry. Aber vielleicht mache ich das auch alles viel zu kompliziert und es git eine bessere Idee wie man Daten für variable Bereiche die immer die gleichen Überschriften haben nach MS Access überträgt. ich dachte über die SucheQ wäre das eine passable Lösung.
Gruß Karsten

Anzeige
AW: Zell Koordinaten verwenden in "range- Funktion"
31.08.2014 16:37:30
Karsten
Hallo hary, jetzt habe ich eine Lösung gefunden ist ja eigentlich gar nicht so schwer man muss nur die Zusammenhänge verstehen ;-)
Danke Euch allen die mir bei der Lösung geholfen haben. Gruß Karsten
Sub TEST02_DB_import()
Dim ADOC As ADODB.Connection
Dim DBS As ADODB.Recordset
Dim lngZeile As Long, intIndex As Integer
Dim ZelleA As Variant
Dim ZelleB As Variant
Dim ZeileB As Variant
Dim arNamen As Variant
Dim SucheQ As Variant
On Error GoTo Fehler
Set ADOC = New ADODB.Connection 'ADOC - Provider für Access Verbindung. Notwendigkeit der  _
Aktivierung von ActiveX Dataobject x.y Library unter:
'Extras-> Verweise-> Microsoft ActiveX Dataobject x.y  _
Library. Nimm immer die mit der höchsten Versionsnummer!!!
With ADOC
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open "C:\Users\Karsten\Desktop\Documents\Excel\Beispiele\EMEA_MonthlyReport_HB.mdb"
End With
Set DBS = New ADODB.Recordset
DBS.Open "tbl_raw_data", ADOC, adOpenKeyset, adLockOptimistic
With Sheets("Importliste")
Set SucheQ = Sheets("Importliste").Range("A1:A50000").Find(What:="test") 'Suche der  _
Anfangsposition des Querys auf dem Arbeitsblatt
ZelleA = SucheQ.Offset(1, 0).Address
ZelleB = SucheQ.Offset(2, 0).Address
ZeileB = ActiveCell.Offset(1, 0).Row
arNamen = .Range(.Range(ZelleA), .Range(ZelleA).End(xlToRight))
For lngZeile = ZeileB To .Range(ZelleB).End(xlDown).Row
DBS.AddNew
For intIndex = 1 To UBound(arNamen, 2)
DBS.Fields(arNamen(1, intIndex)) = .Cells(lngZeile, intIndex).Value
Next
DBS.Update
Next
End With
Fehler:
If Err.Number Then MsgBox Err.Description, , Err.Number
Set DBS = Nothing
'DBS.Close
ADOC.Close
Set ADOC = Nothing
End 

Sub

Anzeige
AW: Zell Koordinaten verwenden in "range- Funktion"
28.08.2014 15:44:28
Daniel
Hi
wenn du in VBA eine Einzelzelle ansprechen willst und die Spaltennummer bekannt ist, dann _ funktioniert das direkt mit

Cells(ZeilenNummer, SpaltenNummer)
, ohne Range davor.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige