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

Bereich kopieren und einfügen

Bereich kopieren und einfügen
29.04.2008 09:04:26
Stephan
Hallo zusammen,
ich habe ein großes Problem: Im Tabellenblatt ("PD`s") stehen im Bereich B1:AF20 Daten. Im gleichen Tabellenblatt Zelle A37 steht ein Datum (28.04.2008) und in Zelle A39 eine Linienbezeichnung ("3.5A").
Das Makro soll zunächst prüfen, ob eine Datei mit dem Namen "28.04.2008 3.5A" im Ordner "H:\MDE geprüft\2008\Artikellaufzeiten\3.5A" schon existiert. Falls nicht, soll eine neue Datei mit dieser Bezeichnung erstellt werden und der Bereich B1:AF20 kopiert und dort in Tabelle1, Zelle A1 eingefügt werden. Ich habe mich zwar schon an einem Ansatz versucht, aber das funktioniert leider nicht.... Vielleicht kann mir da jemand helfen. Vielen Dank schon mal im Voraus! Grüße, Stephan

Sub Speichern()
Dim Fso
Dim wb As Workbook
Dim ws As Worksheets
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As String
Dim Linie, Datum As String
Datum = wb("Überprüfung MDE Abfrage kompl.").ws("PD`s").Range("A37")
Linie = wb("Überprüfung MDE Abfrage kompl.").ws("PD`s").Range("A39")
If Fso.FileExists("H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\Datum " & " Linie") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Workbook.Add Filename:="H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\Datum " & " Linie"
wb("Überprüfung MDE Abfrage kompl.").ws("PD´s").Range("B1:AF30").Copy Destination:="H:\ _
MDE geprüft\2008\Artikellaufzeiten\3.5A\wb.(Datum " & " Linie)ws.(Tabelle1).Range(A1)"
Application.CutCopyMode = False
MsgBox "Daten wurden kopiert" & vbOKOnly
ActiveWorkbook.Sheets("Start").Select
Range("B2").Select
End If
End 

Sub

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

Betreff
Datum
Anwender
Anzeige
@Beverly!?
29.04.2008 11:58:00
Stephan
Kann mir vielleicht jemand zumindest einen Ansatz liefern, da ich mich leider nicht so gut mit VBA auskenne. Ist wirklich wichtig! Vielen Dank! Gruß, Stephan

AW: @Beverly!?
29.04.2008 13:26:35
Stephan
o.W.T.

Arbeitsmappe erstellen, vorhanden prüfen
29.04.2008 15:01:08
Beverly
Hi Stephan,
so sollte es gehen

Sub Speichern()
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As String
Dim Linie, Datum As String
Datum = ThisWorkbook.Worksheets("PD`s").Range("A37")
Linie = ThisWorkbook.Worksheets("PD`s").Range("A39")
If Fso.FileExists("H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\" & Datum & " " & Linie) Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Workbooks.Add
ThisWorkbook.Worksheets("PD´s").Range("B1:AF30").Copy Destination:=ActiveWorkbook. _
Worksheets("Tabelle1").Range("A1")
ActiveWorkbook.SaveAs "H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\" & Datum & " " &  _
Linie
ActiveWorkbook.Close
Application.CutCopyMode = False
MsgBox "Daten wurden kopiert" & vbOKOnly
'        ActiveWorkbook.Sheets("Start").Select
'        Range("B2").Select
End If
End Sub




Anzeige
AW: Arbeitsmappe erstellen, vorhanden prüfen
29.04.2008 20:55:14
manS
Hi Beverly,
vielen Dank für Deine Antwort! Ich habe es ausprobiert und er wirft mir die Fehlermeldung "Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs" aus und markiert dabei die Zeile
ThisWorkbook.Worksheets("PD´s").Range("B1:AF30").Copy Destination:=ActiveWorkbook.Worksheets("Tabelle1").Range("A1")

Sub Speichern()
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Range As String
Dim Linie, Datum As String
Datum = ThisWorkbook.Worksheets("PD`s").Range("A37")
Linie = ThisWorkbook.Worksheets("PD`s").Range("A39")
If Fso.FileExists("H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\" & Datum & " " & Linie) Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!" & vbOKOnly
Else
Workbooks.Add
ThisWorkbook.Worksheets("PD´s").Range("B1:AF30").Copy_ Destination:=ActiveWorkbook. _
Worksheets("Tabelle1").Range("A1")
ActiveWorkbook.SaveAs "C:\MDE geprüft\2008\Artikellaufzeiten\3.5A\" & Datum & " " &  _
Linie
ActiveWorkbook.Close
Application.CutCopyMode = False
MsgBox "Daten wurden kopiert" & vbOKOnly
'ActiveWorkbook.Sheets("Start").Select
'Range("B2").Select
End If
End Sub


Anzeige
AW: Arbeitsmappe erstellen, vorhanden prüfen
29.04.2008 21:16:12
Beverly
Hi Stephan,
ich kann den Fehler nicht nachvollziehen, bei mir funktioniert der Code fehlerfrei. Es kann jedoch sein, dass beim Kopieren aus dem Forum der Apostroph in PD's nicht richtig übernommen wurde. Ändere mal den Tabellennamen, indem du ihn direkt aus dem Tabellenreiter übernimmst. Ein Laufzeitfehler der angibt, dass der Index außerhalb des gültigen Bereichs liegt, hängt meist mit einer falschen Benennung zusammen.


AW: Arbeitsmappe erstellen, vorhanden prüfen
29.04.2008 21:28:34
manS
Hi Beverly,
wie immer hattest du mal wieder recht!! Das Apostroph bei PD`s war verkehrt herum. Ich glaube, ich sitze schon wieder zu lange davor;-) Es funktioniert einwandfrei!! Ein riesengroßes Dankeschön!!!!! Hast mir mal wieder aus der Patsche geholfen!!! Bis zum nächsten Mal..... Grüße, Stephan

Anzeige
AW: Arbeitsmappe erstellen, vorhanden prüfen
29.04.2008 21:29:46
Stephan
Hi Beverly,
wie immer hattest du mal wieder recht!! Das Apostroph bei PD`s war verkehrt herum. Ich glaube, ich sitze schon wieder zu lange davor;-) Es funktioniert einwandfrei!! Ein riesengroßes Dankeschön!!!!! Hast mir mal wieder aus der Patsche geholfen!!! Bis zum nächsten Mal..... Grüße, Stephan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige