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

Zelladresse aus einer Variable verwenden

Zelladresse aus einer Variable verwenden
12.02.2020 16:41:00
Christoph
Hallo Zusammen,
ich komme mit einem Problem nicht weiter und hoffe ihr könnt mir helfen.
Ich habe eine Tabelle mit drei Spalten. in der ersten sind deutsche Wörter, in der zweiten die englische Übersetzung davon und in der dritten die Adresse in Form von: Tabelle1.Range("P20").Value. Tabellenblätter gibt es 15 Stück und auf jedem gibt es Wörter die zu übersetzen sind.
Ich dachte jetzt, ich kann mit einer Schleife jede Zeile durchgehen, mir die Adresse auf eine Variable schreiben und im nächsten Schritt, trägt er mir das deutsche, oder englische Wort in die richtige Zelle.
Leider passiert genau das nicht... :-(
Anbei mein Code.
Dim Adstr As Range
Call INI 'hier wird geschaut, ob deutsch, oder englisch benötigt wird. (Variable Alsp ist dann Zeile 1 oder 2)
For z = 2 To 15
Set Adstr = Tabelle98.Range("E2").Value 'Auf dem Blatt stehen die Übersetzungen
Adstr = Tabelle98.Cells(z, Alsp).Value
Next z
Für jede Hilfe bin ich dankbar, auch für Anregungen solch eine Übersetzung anders zu realisieren.
Danke im Voraus und viele Grüße
Christoph

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelladresse aus einer Variable verwenden
12.02.2020 17:07:17
ChrisL
Hi Christoph
Ich würde es umgekehrt machen. Auf den 15 Tabellen folgende Formeln verwenden z.B.
=WENN(Tabelle98!E2=1;Tabelle98!A1;Tabelle98!B1)
oder schöner
=INDEX(Tabelle98!A:B;1;Tabelle98!E2)
Tabelle98 entspricht dem internen CodeName. Du müsstest diesen durch Tabellennamen ersetzen.
Die Zeile 1 wäre "hart" in die Formel einzufügen und ist somit nicht dynamisch. Ist etwa gleich viel Arbeit wie eine Bezugstabelle zu pflegen.
Vorteil: Die Formel verschiebt sich mit, wenn eine Zeile gelöscht oder eingefügt wird.
Nachteil: Mit Formeln kannst du keine Textformatierungen einzelner Wörter übergeben.
Den erwähnten Vorteil erzielst du auch, wenn du den zu übersetzenden Zellen einen Namen definierst und die Namen in der Bezugstabelle Spalte C hinterlegst. Zudem kannst du einen CodeName nicht so einfach als Text-String verwenden, weshalb sinnvollerweise die Spalte C sowieso umgestellt wird.
Dim z As Long
With Tabelle98
For z = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
Range(.Cells(z, 3)) = .Cells(z, .Range("E2"))
Next z
End With
Macht die Zeilenzahl dynamisch:
.Cells(Rows.Count, 1).End(xlUp).Row
In Spalte 3 steht der definierte Name als Text-String:
.Cells(z, 3)
Spalten-Index wird aus E2 bezogen:
.Range("E2")
cu
Chris
Anzeige
AW: Zelladresse aus einer Variable verwenden
12.02.2020 17:13:44
ChrisL
Nachtrag: Fällt mir ein, dass Zelle1.Value = Zelle2.Value auch keine Formatierung übergibt :)
Mit Copy/Paste geht es
Dim z As Long
With Tabelle98
For z = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(z, .Range("E2")).Copy Range(.Cells(z, 3))
Next z
End With

AW: Zelladresse aus einer Variable verwenden
13.02.2020 13:03:26
Christoph
Hallo Chri,
danke erst einmal für die Antwort.
Ich will keine Formeln auf den Tabellenblättern verwenden, da diese Vorlage von mehreren verwendet wird und ich dann nicht sicherstellen kann, ob eventuell was gelöscht wird.
Die Idee mit den Zellennamen war aber die Lösung. Die relevanten Zellen habe ich umbenannt und in die Spalte E eingetragen, den Code habe ich dann folgendermaßen angepasst:
Range(Tabelle98.Range("E" & z)) = Tabelle98.Cells(z, Alsp).Value
Jetzt geht die Schleife alle Zeilen durch und überträgt entweder die deutschen oder englischen Wörter.
Danke noch einmal und schönen Tag noch.
Christoph
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige