Thema Datum  Von Nutzer Rating
Antwort
29.04.2008 10:32:33 steve
NotSolved
29.04.2008 21:08:30 steve
NotSolved
Rot Aw:Aw:Bereiche kopieren und einfügen
30.04.2008 16:02:54 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
30.04.2008 16:02:54
Views:
1347
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Bereiche kopieren und einfügen
Hallo steve.
auf den ersten Blick entdecke ich mehrere Problembereiche in deinem Makro. Ich habe etwas daran herumgebastelt, bin mir aber nicht alles gefunden zu haben.
Du musst beim Manipulieren von Strings Variablen und unmittelbare Strings unterscheiden. Datum und Line sind Stringvariablen (nach deiner Dimensionierung), sie dürfen nicht in Anführungszeichen stehen, sonst wird der Text "Datum" usw eingefügt.
Mit Add kannst du nur zu Auflistungen etwas hinzufügen. Die Auflistung, in die ein neues Workbook eingefügt werden soll, heißt Workbooks. Zurückgegeben wird ein spezielles Workbook über den Namen oder den Index.
Sieh auch mal in die Hilfe für Messagebox. Wenn du bestimmte Schaltflächen haben willst, musst du die Box einer Variabeln zuweisen (s=msgbox("...",vbyesno,"..."). Da du nur OK haben willst, brauchst du nichts hizuzufügen.
Ich habe meine Korrekturen nicht getestet. Vielleicht ist noch das eine oder andere zu ändern.

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 & ".xls") Then
Application.ScreenUpdating = False
MsgBox "Datei existiert bereits!"
Else
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="H:\MDE geprüft\2008\Artikellaufzeiten\3.5A\" & Datum & " " & Linie & ".xls"
Workbooks("Überprüfung MDE Abfrage kompl.").ws("PD´s").Range("B1:AF30").Copy _
Destination:=Workbooks(Datum & " " & Linie & ".xls").Sheets(Tabelle1).Range("a1")
Application.CutCopyMode = False
MsgBox "Daten wurden kopiert"
ActiveWorkbook.Sheets("Start").Select
Range("B2").Select
End If
End Sub


steve schrieb am 29.04.2008 21:08:30:

steve schrieb am 29.04.2008 10:32:33:

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, steve



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

Hallo zusammen,
ich habe bereits eine Lösung gefunden. Bis dann mal.... Gruß, Steve

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.04.2008 10:32:33 steve
NotSolved
29.04.2008 21:08:30 steve
NotSolved
Rot Aw:Aw:Bereiche kopieren und einfügen
30.04.2008 16:02:54 Holger
NotSolved