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

Kopieren von Active in ThisWorkbook

Kopieren von Active in ThisWorkbook
23.10.2005 19:02:17
Active
Hallo,
ich habe schon nach einem ähnlichen Problem gefragt und trotzdem stehe ich erneut vor dem Problem.

Sub Daten_importieren()
Dim wksAusw As Worksheet, wksK As Worksheet, wksE As Worksheet, wksT1 As Worksheet, _
wksT2 As Worksheet, wksT3 As Worksheet
Dim wbBA As Worksheet, wbBK As Worksheet, wbBT1 As Worksheet, wbBT2 As Worksheet, _
wbBT3 As Worksheet
Dim strPfad As String, strFileName As String, a, b
Dim wbA As Workbook, wbB As Workbook
Dim lLetzteAusw As Long, lLetzteAK As Long, lLetzteAT1 As Long, lLetzteAT2 As Long, _
lLetzteAT3 As Long
Dim lLetzteBAusw As Long, lLetzteBK As Long, lLetzteBT1 As Long, lLetzteBT2 As Long, _
lLetzteBT3 As Long
Set wbA = ThisWorkbook
Set wksAusw = wbA.Worksheets("Auswertung")
Set wksK = wbA.Worksheets("Kontrolle")
Set wksE = wbA.Worksheets("Einlesen")
Set wksT1 = wbA.Worksheets("Textablage1")
Set wksT2 = wbA.Worksheets("Textablage2")
Set wksT3 = wbA.Worksheets("Textablage3")
a = wksE.Range("J1")
b = wksE.Range("O44")
If a <> b Then
MsgBox "Für diese Ausführung muß das Passwort eingegeben werden    "
Exit Sub
Else
Application.ScreenUpdating = False   ' aktuelle Bildschirmeinstellung bleibt
strPfad = wksE.Range("K40")
ChDrive Left$(strPfad, 1)
ChDir strPfad
strFileName = Application.GetOpenFilename(FileFilter:="Exceldateien (*.xls), *.xls")
If strFileName = "Falsch" Then Exit Sub
Set wbB = Workbooks.Open(strFileName)
Set wbBA = wbB.Worksheets("Auswertung")
Set wbBK = wbB.Worksheets("Kontrolle")
Set wbBT1 = wbB.Worksheets("Textablage1")
Set wbBT2 = wbB.Worksheets("Textablage2")
Set wbBT3 = wbB.Worksheets("Textablage3")
On Error GoTo zu
'prüfen ob Kreiskürzel bereits vorhanden ist
If WorksheetFunction.CountIf(wksK.Range("E2:E65536"), wbBK.Range("E2").Value) > 0 Then
wbB.Close
MsgBox "Der Name ist breits vorhanden" & vbLf & vbLf & _
"Das Einlesen wird abgebrochen!" & vbLf
Exit Sub
Else
lLetzteBAusw = IIf(wbBA.Range("A65536") <> "", 65536, wbBA.Range("A65536").End(xlUp).Row)
lLetzteAusw = IIf(wksAusw.Range("A65536") <> "", 65536, wksAusw.Range("A65536").End(xlUp).Row)
wbBA.Range("A3:BI" & lLetzteBAusw).Copy
wksAusw.Range("A" & lLetzteAusw + 1).PasteSpecial Paste:=xlValues
lLetzteBK = IIf(wbBK.Range("A65536") <> "", 65536, wbBK.Range("A65536").End(xlUp).Row)
lLetzteAK = IIf(wksK.Range("A65536") <> "", 65536, wksK.Range("A65536").End(xlUp).Row)
wbBK.Range("A2:E" & lLetzteBK).Copy
wksK.Range("A" & lLetzteAK + 1).PasteSpecial Paste:=xlValues
lLetzteBT1 = IIf(wbBT1.Range("A65536") <> "", 65536, wbBT1.Range("A65536").End(xlUp).Row)
lLetzteAT1 = IIf(wksT1.Range("A65536") <> "", 65536, wksT1.Range("A65536").End(xlUp).Row)
wbBT1.Range("A2" & lLetzteBT1).Copy
wksT1.Range("A" & lLetzteAT1 + 1).PasteSpecial Paste:=xlValues
lLetzteBT2 = IIf(wbBT2.Range("A65536") <> "", 65536, wbBT2.Range("A65536").End(xlUp).Row)
lLetzteAT2 = IIf(wksT2.Range("A65536") <> "", 65536, wksT2.Range("A65536").End(xlUp).Row)
wbBT2.Range("A2" & lLetzteBT2).Copy
wksT2.Range("A" & lLetzteAT2 + 1).PasteSpecial Paste:=xlValues
lLetzteBT3 = IIf(wbBT3.Range("A65536") <> "", 65536, wbBT3.Range("A65536").End(xlUp).Row)
lLetzteAT3 = IIf(wksT3.Range("A65536") <> "", 65536, wksT3.Range("A65536").End(xlUp).Row)
wbBT3.Range("A2" & lLetzteBT3).Copy
wksT3.Range("A" & lLetzteAT3 + 1).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False 'entfernt die Zwischenspeicherung
wbB.Close
wksE.Select
Application.ScreenUpdating = True
MsgBox "Die Daten wurden erfolgreich importiert!     "
End If
End If
Exit Sub
zu:
MsgBox "Es sind nicht alle Tabellenblätter zum importieren vorhanden !   " & vbLf & vbLf & _
"                      Bitte den Eingang prüfen                  "
wbB.Close
End Sub

Es werden in diesem Code nur die ersten beiden Tabellenblätter kopiert, mit den restlichen 3 Tabellenblättern passiert nichts.
Ich habe auch schon die ersten beiden Kopiervorgaänge ausgeklammert und trotzdem werden die letzten drei nicht kopiert.
Was ist falsch an meinem Code?
Kann da bitte jemand helfen?
Gruß Korl

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Active in ThisWorkbook
23.10.2005 19:37:35
Active
Hallo Korl,
das liegt glaube ich an:
wbBT1.Range("A2" & lLetzteBT1).Copy
wbBT2.Range("A2" & lLetzteBT2).Copy
wbBT3.Range("A2" & lLetzteBT3).Copy
fehlt hinter A2 möglicherweise ein :E?
Viele Grüße
Björn
AW: Kopieren von Active in ThisWorkbook
23.10.2005 20:11:42
Active
Hallo Björn,
ich Danke Dir für Deine Tip.Du hattest Recht mit Deinem Tip.
Ich habe dann Spalte "B" dazu genommen, obwohl ich eigentlich nur jeweils die Spalte "A" kopieren möchte.
Was ist am meinen Syntax falsch, dass es nicht mit alleiniger Spalte "A" funktioniert?
Gruß Korl

AW: Kopieren von Active in ThisWorkbook
23.10.2005 20:15:57
Active
Hallo Korl,
wenn du nur die Zellen aus Spalte A kopieren willst, dann musst du "A2:A" schreiben.
Viele Grüße
Björn
Anzeige
AW: Kopieren von Active in ThisWorkbook
23.10.2005 20:38:10
Active
Hallo Björn,
nochmal Danke für Deine Mühe.
Ich habs so probiert "wbBT1.Range("A2:A").Copy", da meldet sich der Debugger
und sagt:"Die Methode Range für das Objekt Worksheet ist fehlgeschlagen"
Weist Du nochmal Rat?
Gruß Korl
AW: Kopieren von Active in ThisWorkbook
23.10.2005 20:51:47
Active
Hallo Korl,
probier's mal mit
wbBT1.Range("A2:A" & lLetzteBT1).Copy
Viele Grüße
Björn
AW: Kopieren von Active in ThisWorkbook
23.10.2005 21:03:56
Active
Hallo Björn,
Treffer, jetzt hat es geklappt, Danke Dir.
Das ich damit immer noch so meine Probleme habe? :-((
Schönen Abend noch.
Gruß Korl
gern geschehen + danke für die Rückmeldung - o.T.
23.10.2005 21:07:42
Björn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige