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

Zwei Variabeln verküpfen?

Zwei Variabeln verküpfen?
19.11.2008 20:56:00
Hans
Hallo Freunde,
irgendwie bekomme ich den Syntax nicht auf die Reihe.
Bei mir haben bestimmte Zellen Namen.
Sie heißen, Zelle1, Zelle2, Zelle3 ... usw.
Nun möchte ich mit Selection.Offset(0, 1), Selection.Offset(0, 2) ... Daten reinschreiben.
Das mache ich dann mit
Zelle 1 = Selection.Offset(0, 1)
Zelle 2 = Selection.Offset(0, 2)
....
Das ganze möchte ich jetzt in einer Schleife machen
For i = 1 to 100
Zelle i = Selection.Offset(0, i)
Next i
Nur das mit Zelle i geht nicht :o
Da wird ein Fehler beim Komelieren gezeigt.
Kann mir jemand weiterhelfen?
Gruß
Hans

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

Betreff
Datum
Anwender
Anzeige
AW: Zwei Variabeln verküpfen?
19.11.2008 20:58:00
Hajo_Zi
Hallo Hans,
Zellennamen dürfen keine Leerstellen haben, wie hast Du das hinbekommen?
Ich hätte eine Zelle auch mit Range angesprochen.

AW: Zwei Variabeln verküpfen?
19.11.2008 21:05:00
Hans
Ach sorry.
Das das habe ich hier falsch geschrieben.
Natürlich heißen die Zellen Zelle1, Zelle2 usw.
Ich muss den Fund in eine Variable zwischenspeichern da der Fund in einer anderen Tabelle steht.
Range("Zelle" & i) = Selection.Offset(0, i)
würde also nicht gehen.
Deswegen möchte ich es in die Variable Zelle1 bis Zelle100 zwischenspeichern
AW: Zwei Variabeln verküpfen?
19.11.2008 21:26:57
Herby
Hallo Hans,
und wenn du ein Datenfeld als Variable verwendest:
Option Explicit
Option Base 1

Sub test()
Dim i As Integer
Dim Zelle(100) as String
For i = 1 To 100
Zelle(i) = Cells(i, 1)
Next i
For i = 1 To 100
Cells(i, 2) = Zelle(i)
Next i
End Sub


Viele Grüße
Herby

Anzeige
AW: Zwei Variabeln verküpfen?
20.11.2008 10:24:01
Hans
Ich habe das ganze mal als Datei hochgeladen.
Vlt. kann sich das mal jemand anschauen.
Da es letztensendes mehr als die 5 Zellen werden wollte ich das als eine Schleife machen.
Aber ich bekomme das leider nicht hin.
https://www.herber.de/bbs/user/56976.zip
AW: Zwei Variabeln verküpfen?
20.11.2008 11:51:10
Jürgen
Hallo Hans,
die Zwischenspeicherung ist überflüssig, denn Du kannst jederzeit in jeder geöffneten Datei Werte auslesen oder hineinschreiben, indem Du bei der Angabe der betreffenden Zelle die Datei und das Blatt mit nennst, z.B.:
Workbooks("Eingabe.xls").Sheets(1).range("a1").value = Workbooks("Kunden.xls").Sheets(2).range("b15").value
Für Deinen Fall wäre auch eine Lösung wie folgt skizziert denkbar (inkl. tauschen von Spalten zu Zeilen, ungetestet):
Dim ZielAnker as range
Dim StartZelleQuelle as Range
Dim n as long
Set Zielanker = Workbooks("Eingabe.xls").sheets(1).range("b3")
Set StartZelleQuelle = Workbooks("Kunden.xls").sheets(1).range("b15")
For n = 0 to 99
Zielanker.offset(n,0).value = StartZelleQuelle.offset(0,n)
next
Die Kunst bleibt noch, die Zellen und die Anzahl der Schleifendurchläufe zu bestimmen bzw. diese von einer Bedingung abhängig zumachen.
Wenn es um eine Zeile der Kundendatei geht, die Du "gedreht", also transponiert in die Eingabedatei übernehmen möchtest, und diese finden kannst, ginge es auch so:
Dim AnzahlSpalten as integer
AnzahlSpalten = 100
Workbooks("Eingabe.xls").sheets(1).range("b3").resize(AnzahlSpalten, 1) = application.worksheetfunctions.transpose(Workbooks("Kunden.xls").sheets(1).range("b15").resize(1, Anzahlspalten))
Statt Workbooks("Kunden.xls").sheets(1).range("b15") müsste natürlich die gewünschte / zu suchende Zelle ersetzt werden.
Ich hoffe, das hilft Dir etwas weiter.
Herzlichen Gruß
Jürgen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige