Hallo Adel,
das waren jetzt wieder zu viel Informationen. Meine Frage zielte vielmehr darauf ab, was wo steht und wohin kopiert werden soll. In deiner Frage wolltest du die Spalten AV und Y kopieren. Dein Makro kopiert nun aber D nach C. Soweit ich sehe, scheint dir damit aber erstmal geholfen. Sollte so funktionieren. Wenns nur noch um den Pfad geht, der Teil ist eigentlich recht einfach (siehe eingerückten Code). Ansonsten hab ich nur winzigste Korrekturen vorgenommen. So ist es jetzt z.B. auch möglich, das Öffnen der Datei abzubrechen.
Sub Saldovortrag()
Dim Ziel As Worksheet
Dim NewDatei As Workbook
Dim Pfad As String
Pfad = "X:\123\dat7-LH\"
ChDrive "X:\" 'wechselt zu Laufwerk X:
ChDir Pfad 'wechselt zum angegebenen Pfad
Set Ziel = ThisWorkbook.ActiveSheet 'für Excel Zwischenspeicherung
If Application.Dialogs(xlDialogOpen).Show = False Then Exit Sub 'öffne Quelldatei
Set NewDatei = Application.ActiveWorkbook 'NewDatei = vorheriger Monat
Worksheets(33).Range("D5:D70").Copy 'kopiere alles zur Zieldatei
Ziel.Activate 'wechselt zur Zieldatei zurück
Ziel.Range("C5:C70").PasteSpecial _
Paste:=xlPasteValues 'setzt Zwischenablage in Datei ein
Application.CutCopyMode = False
NewDatei.Close SaveChanges:=False 'Schließt die alte Datei
Sheets(33).Select 'Aktiviert das 33ste Blatt
Worksheets(33).Range("C5").Select 'zeigt Zieldatei wieder an
End Sub
Für weitere Anpassungen müsstest du in deinen Wünschen schon etwas konkreter werden, was du wo haben willst. Eine Beispieldatei kann dabei natürlich nie schaden. Die kannst du z.B. hier hochladen. Aber es sollten wirklich nur Beispieldaten sein. Keine Original-Daten (wegen des Datenschutzes).
Ansonsten müsstest du den Code (wer auch immer ihn programmiert hat) eigentlich auch ohne Englisch-Kenntnisse verstehen. Sind ja viele Kommentare dran. Der Rest ist logisch. Fall du Fragen zu einer beliebigen Zeile hast, kannst du dich aber gern jederzeit melden.
Gruß Mr. k.
|