Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

relativer Zellbezug

relativer Zellbezug
21.01.2005 09:50:41
Thomas
Hallo da draußen,
ich erbitte Hilfe, die ich in der Hilfeeinrichtung von Excel und VBA nicht finden konnte.
Mein Ziel: Kopieren eines Tabellenbereichs aus jeweils mehreren Dateien in eine Ergebnisdatei .
Dieser Tabellenbereich ist zwar gleich groß, aber in jeder der Quelldateien an einer anderen Stelle (Zeile).
Ein gleiches Merkmal in der vorangehenden Zeile habe ich gefunden, so daß ich per Makro in diese Zelle springen kann - soweit ist es noch ok.
Mein Problem: Ich möchte (per Makro) in die nächste Zelle (Zeile) springen und dann den gesuchten Tabellenbereich markieren. Theoretisch soll das ja kein Problem sein, da es ja relative Zellbezüge im Sinne von R1C1-Angaben gibt.
Aber wie formuliere ich das im Makro? Meine Versuche wie Range("R2C1").Select oder ähnlich werden nicht akzeptiert.
Per Makrorekorder bekomme ich einen absoluten Zellbezug - der nützt mir jedoch nichts.
Ich hoffe auf eine Idee und bedanke mich schon jetzt für Eure Mühe.
Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: relativer Zellbezug
21.01.2005 10:00:04
Alexander
Ich weiß nicht mehr genau wie's ging, aber da gab's ne Möglichkeit, die in etwa so geht:
Range("A1").Select
ActiveCell.Offset(rows, columns) = value
ActiveCell.Offset(0, 0) ist die aktivierte Zelle (hier A1), der Rest ist dann einfach.
Ich hoff, das hilft dir weiter
AW: relativer Zellbezug
21.01.2005 10:22:54
Thomas
Hallo Alexander, vielen Dank für die Idee.
Leider macht mein Makro nicht mit. Ich vermute, daß das wiederum an der Range-Anforderung liegt. In Deinem Beispiel ist das ein absoluter Bezug, in meinem ist es etwas Gesuchtes mit der (über MakroRecorder erstellten) Anweisung:
Windows("Test.xls").Activate
Cells.Find(What:="(SUM)", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
Ich vermute weiter, daß hieraus irgendwie etwas Festes wie eine absolute Adresse oder ein Range-Objekt werden muß, bevor es weitergehen kann.
Gibt es dazu noch Ideen?
Danke schon einmal
Thomas
Anzeige
AW: relativer Zellbezug
Kurt
Set gefunden = Cells.Find(What:="(SUM)", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
reihe = gefunden.Row
spalte = gefunden.Column
adresse = gefunden.Address
...und man muss auch beim Kopieren nichts selektieren (zumindest bei vba=gut)
...und Tschüss Kurt
AW: relativer Zellbezug
Thomas
Hallo Kurt und Alexander,
die von Kurt vorgeschlagene Methode hat bei mir nicht gewirkt.
Dafür habe ich im Sinne von Alexander noch weiter in der Hilfe gesucht und ganz versteckt bei "Range-Objekt" unter der"Offset-Eigenschaft" eine Zeile gefunden:
Selection.Offset(3, 1).Range("A1").Select
Die an meine Suchfunktion gekoppelt und es gab einen Zellen- bzw. Zeilensprung!
Mit der Range-Anweisung läßt sich dann auch statt "A1" ein Bereich wie "A1:D20" eingeben, der markiert wird. Damit läßt sich dann weitermachen.
Danke für die Hilfe und die Denkanstöße! Geteilte Ideen sind halt doppelt wertvoll - oder so ähnlich ... ;-)
Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige