Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1792to1796
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

Änderung von Zellbezügen im Code

Änderung von Zellbezügen im Code
27.11.2020 08:47:12
Zellbezügen
Hallo zusammen
ich hatte mein Problem letztens hier schon geschildert (ich muss einen fremden Code bearbeiten, der jede Menge Zellbezüge enthält) und bin zu einer Erkenntnis gelangt.
Ganz allgemeine Frage:
Sollte man eigentlich IMMER bei der Programmierung vermeiden, einen direkten Bezug auf eine Zelle zu wählen?
Egal in welchem Zusammenhang:
-Wert in eine Zelle schreiben oder aus einer Zelle lesen
-Format einer Zelle ändern
-etc pp
Wäre es nicht sinnvoller - gleich in der Programmierung Bezug zu nehmen auf einen im Namensmanager vergebenen Namen?
Dann müsste man sich im Vorfeld nur Gedanken machen, welche Zellen man für den Code eigentlich benötigt und diese von Anfang an im Namensmanager verhackstücken.
Das hätte zumindest für mein jetziges Problem gerade den Vorteil, dass ich die im Code verwendeten Zellbezüge nicht ändern muss, weil sich ja über den Namen der Zelle im Code gleich alles mit ändert wenn ich die Zelle verschieben muss.
Das hätte also im Grunde den gleichen Effekt wie bei der Anpassung einer Formel. Wenn der Zellbezug in meiner Formel stimmt, dann kann ich die Zelle verschieben wohin ich will, die Formel rechnet trotzdem richtig.
Ist der Gedankengang so richtig oder übersehe ich was bei diesem Ansatz?
Läuft der code auch mit Verwendung des Namensmanager genauso flüssig?
Danke für's Feedback!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Änderung von Zellbezügen im Code
27.11.2020 18:08:14
Zellbezügen
Hi
Im Grundsatz würde ich alles mit ja beantworten.
Ich würde es allerdings nicht übertreiben. Ich empfinde die Namensvergabe doch als kleiner Mehraufwand und wenn die Tabelle kaum je ändert, kann ich mir die Mühe sparen. Zugegeben, meine Faulheit hat mich auch schon öfters eingeholt, aber damit macht man sich unentbehrlich ;-)
Ausgehend z.B. von einem VBA Fehler, kann ein Name auch hinderlich sein (im Code den Namen identifizieren, dann erst im Namensmanager nachschauen wo sich die Zelle befindet, um die Zelle im Tabellenblatt zu finden).
Falls es sehr viele einzelne Zellbezüge gibt, müsste man sich auch fragen warum resp. ob es nicht andere Strukturen/Lösungsansätze gibt.
Die Dynamik erhöhst du übrigens auch mittels Codename. Der Tabellenname kann beliebig geändert werden ohne dass der Code angepasst werden muss:
x = Tabelle1.Range("A1")
vs.
x = Worksheets("Tabelle1").Range("A1")
cu
Chris
Anzeige
AW: Änderung von Zellbezügen im Code
28.11.2020 13:43:15
Zellbezügen
Danke Chris für daa Feedback
Weitere Erkenntnis:
Ich lerne unaufhaltsam dazu;)
Verständnisfrage i.s. codename:
Version 1 bedeutet das Blatt muss Tabelle1 heißen
Version 2 bedeutet Name egal, es muss lediglich das erste Blatt im Code sein
Korrekt?
AW: Änderung von Zellbezügen im Code
28.11.2020 16:09:48
Zellbezügen
Hi
Umgekehrt...
Mal im VBA-Editor links die Bezeichnungen anschauen. Der änderbare Tabellenname steht in Klammer hinter dem Codename.
cu
Chris
AW: Änderung von Zellbezügen im Code
27.11.2020 18:26:53
Zellbezügen
Hallo EasyD,
ja, deine Ansatz ist richtig. Ein Zellbezug ist im Coding problematisch, weil es setzt voraus, dass keine Zeile oder Spalte dazwischen hinzugefügt wird.
Benannte Zellen/Bereich ist ein gute Mittel dagegen. Man muss nicht dogmatisch IMMER so machen. Quick & Dirty ist für manche Aufgaben ausreichend.
Andere Frage ist, warum diese Einzelbezüge notwendig sind. Das sollte man vermeiden.
Die Daten sollten so organisiert sein, dass man durch deren Definition (Datenmodell) zugreifen kann. Modell-View-Controller heisst es. Also Trennung der Datenhaltung (Definiert durch ihre Struktur/Datenmodell, Lesen/Schreiben nur Datensatzweise) vom Präsentation (View, u.a. Zellformatierung) und wiederum von Behandlung getrennt(Controller, was nicht nur VBA ist).
Es sollte zuerst das Datenmodell festgelegt. Die Auswertungen (View) sollten Daten-unabhängig, aber Datenstruktur verbunden sein (u.a. Pivottabelle). Controller kann die Brücke sein, sollte aber generisch bleiben. Ein Coding, dass bei Präsentationsänderung angepasst werden muss, ist ein Warnsignal. Ist aber nicht immer vermeidbar, ein Zusammenhang muss es irgendwo geben.
Aus Fehler wird man nicht schlau, sondern erfahren. Du bist auf dem guten Weg.
Viel Erfolg
Yal
Anzeige
AW: Änderung von Zellbezügen im Code
28.11.2020 13:48:09
Zellbezügen
Hallo yal
Danke fürs Feedback!
Quick & dirty hätte hier nicht wirklich geholfen, denn die zellbezüge an sich hätten sich nicht vermeiden lassen in diesem speziellen Fall.
Es handelt sich um so eine Art Formular zur Datenerfassung (Namen, Adressen usw). Nach abgeschlossener Eingabe wird ein pdf gespeichert.
Mein aktuelles Problem ist, dass ich in diesem Formular weitere Zellen dazwischen schieben muss...
Also wäre die Lösung mit namensmanager schon die beste....
Dank euch!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige