Microsoft Excel

Herbers Excel/VBA-Archiv

CELLS(): Adressierung in anderem Tabellenblatt

Betrifft: CELLS(): Adressierung in anderem Tabellenblatt von: KlausD
Geschrieben am: 25.08.2014 12:50:42

Hallo,
mit CELLSS(Zeile,Spalte) lässt sich ja eine bestimmte Zelle ansprechen - aber jeweils nur in dem Tabellenblatt, das gerade selektiert ist.
Kann ich mit CELLS auch Zellen in einem nicht zuvor selektierten Tabellenblatt ansprechen? Im Moment gelingt mir das nur auf dem Umweg, das jeweilige Tabellenblatt zuvor zu selektieren und dann die Zelle ganz normal mit CELLS(Zeile, Spalte) anzusprechen. Danach muss ich dann wieder zurück ins Ausgangsblatt - mir kommt das sehr umständlich vor, aber einen direkten Weg habe ich bisher noch nicht gefunden.
Vielen Dank schon mal für alle sachdienlichen Hinweise.
Klaus

  

Betrifft: AW: CELLS(): Adressierung in anderem Tabellenblatt von: Daniel
Geschrieben am: 25.08.2014 12:53:28

Hi

du kannst Zellen auf nicht selektierten Tabellenblättern ansprechen, wenn du den Tabellenblattnamen davorsetzt:

Sheets("Tabelle1").Cells(1, 1)

wichtig hierbei ist, dass du dann die Zellen nicht selektierst, sondern die Befehle direkt auf diese Zelle anwendest.

Gruß Daniel


  

Betrifft: AW: CELLS(): Adressierung in anderem Tabellenblatt von: Luschi
Geschrieben am: 25.08.2014 13:44:13

Hallo Daniel,

auch Deine Lösung ist nur die halbe Wahrheit. 'Sheets' repräsentiert alle Blätter, die auf der Excel-Oberfläche darstellbar sind.
Einige von denen besitzen aber kein Zell-Raster. Deshalb sollte man die Zellraster-Tabellenblätter auch so ansprechen:
Workheets("Tabelle1").Cells(1, 1)

Wer hier meint, das ist doch pingelig, dann erinnert Euch an die Katastrophe der ersten Ariadne5-Rakete: http://www.deutschlandfunk.de/der-absturz-der-ariane-5.676.de.html?dram:article_id=25637
Auch hier hat etwas Belanglosen in die Katastrophe geführt!

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: CELLS(): Adressierung in anderem Tabellenblatt von: Daniel
Geschrieben am: 25.08.2014 13:53:59

Solange du die Sheets über den Namen ansprichst, kann da nichts passieren, weil auch die Diagramme nur Namen bekommen dürfen, die in der Gesamtliste eindeutigt sind, damit sind dann Verwechslungen ausgeschlossen (dh es ist nicht möglich, gleichzeitig ein Blatt "xxx" und ein Chart "xxx" zu erstellen)
Der angesprochene Fehler (Überlauf) kommt wahrscheinlich daher, dass mal wieder jemand Speicherplatz sparen wollte und eine Variable zu knapp dimensioniert hat (Integer statt Long, so wie hier ja auch gerne für Zeilenummern)

die Untrerscheidung zwischen Sheet und Worksheet ist dann notwendig, wenn man mit einer For-Each-Schleife arbeitet (um dann bzw die Charts automatisch auszuschließen) oder wenn die Blätter über die Indexnummer angesprochen werden.

Gruß Daniel


  

Betrifft: AW: CELLS(): Adressierung in anderem Tabellenblatt von: Luschi
Geschrieben am: 25.08.2014 14:18:11

Hallo Daniel,

was für den allgemeinen Nutzer machbar ist, das tut er auch. Damit ist das 1. Gesetz von
Murphy (siehe http://de.wikipedia.org/wiki/Murphys_Gesetz ) erfüllt!, nämlich:
„Alles, was schiefgehen kann, wird auch schiefgehen.“
Wer sagt Dir denn, daß nicht zuerst die Workscheets-Tabelle umbenannt wird (Chef-Anweisung)
und dann die Chart-Tabelle (persönliche Geschmachssache).
Ich kann es einfach nicht verstehen, warum Faulheit in der Tipparbeit von Vba-Code immer noch _ solch hohen Stellenwert hat.

Untrerscheidung zwischen Sheet und Worksheet ist dann notwendig,..
ist totaler Blödsinn, denn wer nicht bereit ist, sauber zu arbeiten, wird auch dann, wenn es darauf ankommt, - einfach versagen.

Gruß von Luschi
aus klein-Paris


  

Betrifft: ...Weshalb ich auch dann, wenn mal mit ... von: Luc:-?
Geschrieben am: 25.08.2014 16:43:54

…einer Selection gearbeitet wdn kann bzw muss, bei Bereichen auch stets die .RangeSelection-Eigenschaft des jeweiligen Fensters und zumeist ActiveWorkbook statt ThisWorkbook (oder redigierte Intern­Namen) verwende, Luschi;
Sheets/Worksheets unterscheide ich allerdings auch noch zu selten… ;-)
Gruß, Luc :-?


  

Betrifft: AW: CELLS(): Adressierung in anderem Tabellenblatt von: KlausD
Geschrieben am: 25.08.2014 22:01:33

Hallo, Luschi und Daniel,
vielen Dank für Eure prompten Hilfestellungen. Ich muss gestehen, die Feinheiten zwischen Sheets und Worksheets habe ich noch nicht ganz nachvollziehen können, aber auf jeden Fall ist mir bei meinem Problem schon jetzt geholfen.
Grüße,
Klaus


 

Beiträge aus den Excel-Beispielen zum Thema "CELLS(): Adressierung in anderem Tabellenblatt"