Anzeige
Archiv - Navigation
1476to1480
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

Range in Variable speichern und wiedergeben

Range in Variable speichern und wiedergeben
03.03.2016 07:18:19
Björn
Hallo,
ich möchte in einer "Quelldatei" mehrere Zellinhalte einer Spalte in einer Variablen (Range) speichern, um sie dann in einer "Zieldatei" wieder auszugeben. Leider komme ich hier nicht weiter:
Sub Import()
Dim strSourceFile As String
Dim objWB As Workbook
Dim Datum As Range
Dim Name As Range
Dim Ort As Range
Dim Klasse As Range
'Quelldatei auswählen
ChDir ThisWorkbook.Path
strsource = Application.GetOpenFilename()
'Daten aus Quelldatei in Variablen (Range) speichern
If strsource  CStr(False) Then
Set objWB = Workbooks.Open(Filename:=strsource)
With objWB
With .Sheets("Tabelle1")
Datum = .Cells(4, 2).Value
Name = .Range("i3:i14").Value
Ort = .Range("j3:j14").Value
End With
With .Sheets("Tabelle2")
Klasse = .Range("b8:b500").Value
End With
End With
End If
ActiveWorkbook.Close savechanges:=False
'Werte der Variablen in Zieldatei ausgeben
ThisWorkbook.activate
Worksheets("Tabelle1").activate
Cells(4, 2).Value = Datum
Range("t3:t14").Value = Name
Range("z3:z14").Value = Ort
Worksheets("Tabelle2").activate
Range("a8:a500").Value= Klasse
End Sub

Danke und Gruß
Björn

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range in Variable speichern und wiedergeben
03.03.2016 08:19:11
Steve
Hallo Björn,
dafür gibt mehr als einen Weg. Bei deiner Variante hast du nicht beachtet, dass Range-Variablen mit "Set" Werte zugewiesen bekommen müssen. Zudem besitzt eine Zelle mehr als nur ein Attribut, du musst desshalb hier in der Regel angeben welches du haben möchtest: Werte/Formeln, Formate, ... .
Set Datum = .Cells(4, 2)
Set Name = .Range("T3:T14")
Cells(4, 2) = Datum.Value
Range("T3:T14") = Name.Value
'alternativ
Range("T3").Resize(Name.Rows.Count, Name.Columns.Count) = Name.Value
lg Steve

AW: Range in Variable speichern und wiedergeben
03.03.2016 09:30:27
Björn
Danke für die Antwort.
Mit "Cells" funktioniert es, mit "Range" nicht: Es wird einfach nichts in die Zieldatei eingefügt.
Jetzt weiß ich nicht, ob
1. die Range-Variablen "leer" sind oder
2. das Einfügen der Inhalte der Range-Variablen in die Zieldaten nicht funktioniert?
Gruß
Björn

Anzeige
AW: Range in Variable speichern und wiedergeben
03.03.2016 09:32:57
Björn
Danke für die Antwort.
Mit "Cells" funktioniert es, mit "Range" nicht: Es wird einfach nichts in die Zieldatei eingefügt.
Jetzt weiß ich nicht, ob
1. die Range-Variablen "leer" sind oder
2. das Einfügen der Inhalte der Range-Variablen in die Zieldaten nicht funktioniert?
Gruß
Björn

AW: Range in Variable speichern und wiedergeben
03.03.2016 11:24:55
Rudi
hallo,
so sollte das gehen:
Sub Import()
Dim strSourceFile As String
Dim objWB As Workbook
Dim Datum As Date
Dim vName
Dim vOrt
Dim vKlasse
'Quelldatei auswählen
ChDir ThisWorkbook.Path
strsource = Application.GetOpenFilename()
'Daten aus Quelldatei in Variablen (Range) speichern
If strsource  CStr(False) Then
Set objWB = Workbooks.Open(Filename:=strsource)
With objWB
With .Sheets("Tabelle1")
Datum = .Cells(4, 2).Value
Name = .Range("i3:i14").Value
Ort = .Range("j3:j14").Value
End With
With .Sheets("Tabelle2")
Klasse = .Range("b8:b500").Value
End With
End With
.Close savechanges:=False
End If
'Werte der Variablen in Zieldatei ausgeben
ThisWorkbook.Activate
With Worksheets("Tabelle1")
.Cells(4, 2).Value = Datum
.Range("t3:t14").Value = Name
.Range("z3:z14").Value = Ort
End With
With Worksheets("Tabelle2")
.Range("a8:a500").Value = Klasse
End With
End Sub

Gruß
Rudi

Anzeige
AW: Range in Variable speichern und wiedergeben
03.03.2016 13:51:01
Björn
Hallo Rudi
Danke für die Antwort. Leider funktioniert es bei mir nicht...

Korrektur
03.03.2016 15:25:59
Rudi
jetzt aber.
Sub Import()
Dim strSourceFile As String
Dim objWB As Workbook
Dim Datum As Date
Dim vName
Dim vOrt
Dim vKlasse
'Quelldatei auswählen
ChDir ThisWorkbook.Path
strSourceFile = Application.GetOpenFilename()
'Daten aus Quelldatei in Variablen (Range) speichern
If strSourceFile  CStr(False) Then
Set objWB = Workbooks.Open(Filename:=strSourceFile)
With objWB
With .Sheets("Tabelle1")
Datum = .Cells(4, 2).Value
vName = .Range("i3:i14").Value
vOrt = .Range("j3:j14").Value
End With
With .Sheets("Tabelle2")
vKlasse = .Range("b8:b500").Value
End With
.Close savechanges:=False
End With
End If
'Werte der Variablen in Zieldatei ausgeben
ThisWorkbook.Activate
With Worksheets("Tabelle1")
.Cells(4, 2).Value = Datum
.Range("t3:t14").Value = vName
.Range("z3:z14").Value = vOrt
End With
With Worksheets("Tabelle2")
.Range("a8:a500").Value = vKlasse
End With
End Sub
Gruß
Rudi

Anzeige
AW: Korrektur
03.03.2016 21:12:11
Björn
@ Rudi
Danke es funktioniert, nun muss ich es nur noch implementieren...
Gruß
Björn

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige