Anzeige
Archiv - Navigation
536to540
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
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

geöffnetes workbook als variable speichern

geöffnetes workbook als variable speichern
24.12.2004 10:34:44
Martin
Hey,
Hab eine leichte Frage für euch Profis. Habe ein Workbook von dem aus der User ein Makro aufrufen kann um Daten aus einem anderen Workbook zu kopieren. Hab folgenden Code:
Set nwb = ActiveWorkbook 'Geöffnetes Workbook
Application.Dialogs(xlDialogOpen).Show 'User wird aufgefordert die Datei zu öffnen in der die Daten vorhanden sind
Set owb = ? 'Die gewählte Datei wird als owb gespeichert
Den dritten Schritt schaffe ich nicht. Wie kann ich Excel sagen dass owb das Workbook sein soll welches der User gerade ausgewählt hat?
Danke für jede Hilfe, und Frohes Fest :)

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

Betreff
Datum
Anwender
Anzeige
AW: geöffnetes workbook als variable speichern
24.12.2004 10:40:36
Hajo_Zi
Hallo Martin,
nach dem öffnen ist owb die Aktive Datei.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


noch eine kurze Frage über Workbooks
24.12.2004 11:08:40
Martin
Danke für deine Antwort. Hatte eigentlich genau das probiert, aber war dennoch auf einen Fehler gestoßen. Jetzt merk ich dass mein Fehler anderswo liegt, und zwar ein wenig weiter unten im Code als wenn ich die Daten zu kopieren versuche.
Kann es sein dass man nicht von einem Workbook in ein anderes durch COPY to Destination:= arbeiten darf? Hab folgenden code:
For Each r In owb.Worksheets("Bilanz").Range("G18:G116").SpecialCells(xlCellTypeConstants)
Select Case jd
Case 1 '2 Jahre importieren
owb.Worksheets("Bilanz").Range(r, r.Offset(0, 1)).Copy _
Destination:=nwb.Worksheets("Bilanz").Range(Cells(r.Row, r.Column + 1), Cells(r.Row, r.Column + 2))
....
Bekomme hier immer einen Laufzeitfehler
nochmals danke
Anzeige
AW: noch eine kurze Frage über Workbooks
24.12.2004 11:18:46
Hajo_Zi
Hallo Martin,
ich würde Zielzelle nur eine Zelle angeben.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: noch eine kurze Frage über Workbooks
24.12.2004 11:32:01
Martin
meinst du:
owb.Worksheets("Bilanz").Range(r, r.Offset(0, 1)).Copy _
Destination:=nwb.Worksheets("Bilanz").Range(Cells(r.Row, r.Column + 1))
funkt leider nicht. Funktioniert auch nicht mit:
owb.Worksheets("Bilanz").Range(r, r.Offset(0, 1)).Copy
nwb.Worksheets("Bilanz").Range(Cells(r.Row, r.Column + 1), Cells(r.Row, r.Column + 2)).Paste
Hmmm...
Anzeige
AW: noch eine kurze Frage über Workbooks
24.12.2004 11:48:04
Hajo_Zi
Hallo Martin,
ich habe jetzt keine Lust und Zeit das nachzubauen. Darum habe ich mal in merin Archiv geschaut. Folgende Code gingen da.

Sub Werte_Format()
'   Formeln ersetzen durch Werte mit Formate
Workbooks("Datei1.xls").Worksheets("Tabelle1").Range(Sheets("Tabelle1").UsedRange.Address).Copy
With Workbooks("Datei2.xls").Worksheets("Tabelle1").Range("A1")
.PasteSpecial Paste:=xlValues           ' Werte
.PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False
End Sub
Sub Werte_Werte()
Workbooks("Datei1.xls").Worksheets("Type").Range("E17:E30").Copy _
Destination:=Workbooks("Datei2.xls").Worksheets("massiv").Range("b65536").End(xlUp).Offset(1, 0)
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
Habs gelöst!
24.12.2004 12:17:23
Martin
Habs gelöst! Fürs Archiv:
owb.Worksheets("Bilanz").Range(r, r.Offset(0, 1)).Copy _
Destination:=nwb.Worksheets("Bilanz").Range(nwb.Worksheets("Bilanz").Cells(r.Row, r.Column + 1), nwb.Worksheets("Bilanz").Cells(r.Row, r.Column + 2))
Also was gefehlt hat war "nwb.worksheets("Bilanz")." for Cells.
Nochmals danke Hajo. Frohe Weihnachten!
AW: Habs gelöst!
24.12.2004 12:26:34
Hajo_Zi
Hallo Martin,
vielleicht ist es noch ein wenig übersichtlicher, wenn Du mehr mit Objekten arbeitest

Sub t()
With nwb.Worksheets("Bilanz")
owb.Worksheets("Bilanz").Range(r, r.Offset(0, 1)).Copy _
Destination:=.Range(.Cells(r.Row, r.Column + 1), .Cells(r.Row, r.Column + 2))
End With
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige