Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
360to364
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
360to364
360to364
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm / Dateiwechsel beim kopieren

UserForm / Dateiwechsel beim kopieren
11.01.2004 10:26:21
Erich M.
Hallo zusammen,
mit einer UserForm wähle ich Dateien und Tabellen aus,
innerhalb derer von einer Tabelle in eine ander Tabelle
kopiert wird.
Das funktioniert auch, wenn ich mich innerhalb der gleichen
Datei "bewege" mit (Lösung von Hajo); myName1 = Tabelle mit Kopierdaten:
Sheets(myName1).Rows(i).Copy Destination:=Sheets(Zieltabelle).Rows(i)
Wenn sich die "Zieltabelle" aber in einer anderen Datei befindet,
kriege ich es nicht hin; hier der vollständige Code in der UF:

Option Explicit
Private Sub CommandButton2_Click()
Dim LRowA As Integer, LRowG As Integer, i As Integer
Dim rgAnf As String, Zieltabelle As String
Dim myName1 As String, myName2 As String, myDatei As String, Zieldatei As String
Dim Workbooks As String
If ComboBox1.Text = "" Then MsgBox "Bitte Datei 2 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox2.Text = "" Then MsgBox "Bitte Datei 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox3.Text = "" Then MsgBox "Bitte Tabellenblatt auswählen.", 48, "Hinweis": Exit Sub
Zieldatei = ComboBox1.Text      ' Zieldatei
Zieltabelle = ComboBox4.Text    ' Zieltabelle
myDatei = ComboBox2.Text        ' Abfrage-Datei
myName1 = ComboBox3.Text        ' Abfrage-Tabelle
Sheets(myName1).Select
Application.ScreenUpdating = False
LZeile = RealLastCell(Sheets(myName1)).Row
Call initPB
For i = 1 To LZeile
Sheets(myName1).Rows(i).Copy Destination:=Sheets(Zieltabelle).Rows(i)
'    Workbooks(Zieldatei).Activate      ' Fehler: Datenfeld erwartet wenn Zieltabelle
' eine andere Datei
'    Sheets(Zieltabelle).Rows (i)
'    ActiveSheet.Paste
Application.CutCopyMode = False
Call refreshPB
Next i
Unload Me
Unload frmPB
Application.ScreenUpdating = True
Range("B1").Select
Windows(myDatei).Activate
Range("A1").Select
'If ActiveWorkbook.Saved = False Then ActiveWorkbook.Save  ' = speichern
'ActiveWorkbook.Saved = True  ' = nicht speichern
'ActiveWorkbook.Close
Windows(Zieldatei).Activate
ActiveWorkbook.Save
Unload Me
End Sub


Code eingefügt mit: Excel Code Jeanie
Ich habe mal die Musterdatei hochgeladen; beim Aufruf der UF sollten
zwei Dateien geöffnet sein, damit die Auswahlmöglichkeit besteht:
https://www.herber.de/bbs/user/2871.xls
Besten Dank für eine Hilfe!
mfg
Erich

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 10:35:18
Nepumuk
Hallo Erich,
Sheets(myName1).Rows(i).Copy Destination:=Workbooks(Zieldatei).Sheets(Zieltabelle).Rows(i)
Gruß
Nepumuk
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 10:46:28
Erich M.
Hallo Nepumuk,
das war's!!
Ich hatte schon so viele Varianten durchprobiert -
warum bin ich auf die naheliegendste nicht gekommen??

Ich habe noch eine Frage offen:
Kann man den Kopiervorgang auf die spalten A-M einschränken?

Besten Dank!!
Es funzt perfekt!
mfg
Erich
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 11:01:55
Nepumuk
Hallo Erich,
würde ich so machen:

With Workbooks(Zieldatei).Sheets(Zieltabelle)
For i = 1 To LZeile
Sheets(myName1).Range(Cells(1, i), Cells(13, i)).Copy Destination:=.Range(.Cells(1, i), .Cells(13, i))
Call refreshPB
Next i
End With
Application.CutCopyMode = False


Code eingefügt mit: Excel Code Jeanie
Den Zwischenspeicher würde ich erst am Ende des Kopiervorganges löschen, da er sowieso dauern überschrieben wird. Beachte bitte die Punkte vor Range und Cells bei der Angabe des Zielbereiches. Die sind unerlässlich.
Gruß
Nepumuk
Anzeige
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 15:53:39
Erich M.
Hallo Nepumuk,
bin fast am verzweifeln - einmal ist es gelaufen
(ich habe i und 13 verdreht wegen Spalte) und seither
bringt er immer wieder die Fehlermeldung:
Fehler beim Kompilieren
Erwartet: Datenfeld
Wie kann denn das sein?
mfg
Erich
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 15:57:11
Nepumuk
Hallo Erich,
wie sieht jetzt die Zeile aus, in der der Fehler auftaucht?
Gruß
Nepumuk
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 16:26:40
Erich M.
Hallo Nepumuk,
With Workbooks(Zieldatei).Sheets(Zieltabelle)
For i = 1 To LZeile
Sheets(myName1).Range(Cells(i, 1), Cells(i, 13)).Copy Destination:=.Range(.Cells(i, 1), .Cells(i, 13))
Call refreshPB
Next i
End With
Der Fehler wird aber beim Wort Workbooks angezeigt!
mfg
Erich
Anzeige
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 17:57:48
Nepumuk
Hallo Erich,
bei deinen Deklarationen finde ich folgende Zeile: Dim Workbooks As String
das ist tötlich. Du hast ein Schlüsselwort von Excel als eigene Variable verwendet. Da ich nach Workbooks eine Klammer aufmache, meint Excel eine Stringvariable soll als Datenfeld verwendet werden. Daher die Fehlermeldung.
Gruß
Nepumuk
AW: UserForm / Dateiwechsel beim kopieren
11.01.2004 19:23:03
Erich M.
Hallo Nepumuk,
peinlich!
Sorry, aber jetzt funzt es perfekt; insb. die Lösung mit
der Spaltenanzahl hilft mir sehr!!
Besten Dank nochmals für die Geduld!
mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige