95590
Dec 10, 2010, updated at 07:07:29 (UTC)
4999
5
0
VBA Datei Kopieren und Zeilen löschen
Hi!
Hab folgendes vor: Habe ein Excel-Dokument, dass möchte ich in ein neues Dokument kopieren und dieses dann bearbeiten und abspeichern.
Jetzt hab ich das Problem, dass er mir nie das neuerstellte dokument bearbeitet sondern immer das Orginal. Und er löscht auch nicht alle Zeilen sondern immer nur eine.
Hier ist mein Code. Vielen Dank!
Private Sub CommandButton2_Click()
Dim hilf As Integer
hilf = 0
Arbeitsblatt1 = ActiveWorkbook.Name
Workbooks.Add
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="(*.xls), *.xls")
Arbeitsblatt2 = ActiveWorkbook.Name
Windows(Arbeitsblatt1).Activate
Cells.Select
Selection.Copy
Windows(Arbeitsblatt2).Activate
ActiveSheet.Paste
For y = 1 To 300
If hilf = 0 Then
Adresse = Range("A" & y)
Adresse = Left(Adresse, 9)
If Adresse = "(* Analog" Then
Rows(y).Delete
hilf = 1
Else
End If
Else
Rows(y).Delete
End If
Next y
If fileSaveName <> False Then
ActiveWorkbook.SaveAs fileSaveName
End If
MsgBox "Datei gespeichert unter " & fileSaveName
End Sub
Hab folgendes vor: Habe ein Excel-Dokument, dass möchte ich in ein neues Dokument kopieren und dieses dann bearbeiten und abspeichern.
Jetzt hab ich das Problem, dass er mir nie das neuerstellte dokument bearbeitet sondern immer das Orginal. Und er löscht auch nicht alle Zeilen sondern immer nur eine.
Hier ist mein Code. Vielen Dank!
Private Sub CommandButton2_Click()
Dim hilf As Integer
hilf = 0
Arbeitsblatt1 = ActiveWorkbook.Name
Workbooks.Add
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="(*.xls), *.xls")
Arbeitsblatt2 = ActiveWorkbook.Name
Windows(Arbeitsblatt1).Activate
Cells.Select
Selection.Copy
Windows(Arbeitsblatt2).Activate
ActiveSheet.Paste
For y = 1 To 300
If hilf = 0 Then
Adresse = Range("A" & y)
Adresse = Left(Adresse, 9)
If Adresse = "(* Analog" Then
Rows(y).Delete
hilf = 1
Else
End If
Else
Rows(y).Delete
End If
Next y
If fileSaveName <> False Then
ActiveWorkbook.SaveAs fileSaveName
End If
MsgBox "Datei gespeichert unter " & fileSaveName
End Sub
Please also mark the comments that contributed to the solution of the article
Content-Key: 156720
Url: https://administrator.de/contentid/156720
Printed on: April 27, 2024 at 04:04 o'clock
5 Comments
Latest comment
Hallo FredFesl !
Versuchs mal so:
Gruß Dieter
Versuchs mal so:
Option Compare Text
Private Sub CommandButton2_Click()
Dim FileSaveName As Variant, EndLine As Long, i As Long
FileSaveName = Application.GetSaveAsFilename(fileFilter:="(*.xls), *.xls")
If FileSaveName = False Then Exit Sub
Cells.Copy
Workbooks.Add: ActiveSheet.Paste
Application.CutCopyMode = False
EndLine = 300
For i = 1 To EndLine
If i > EndLine Then Exit For
If Cells(i, "A") Like "(* Analog*" Then
Rows(i).Delete: i = i - 1: EndLine = EndLine - 1
End If
Next
Range("A1").Select
ActiveWorkbook.SaveAs FileSaveName
MsgBox "Datei gespeichert unter " & FileSaveName
End Sub
Gruß Dieter
Hallo FredFesl!
Ich vermute mal, das Du beim FileSaveAS-Dialog keinen neuen Namen angibst?
Gruß Dieter
Ich vermute mal, das Du beim FileSaveAS-Dialog keinen neuen Namen angibst?
Gruß Dieter
Hallo FredFesl!
Freut mich, dass Du es selbst lösen konntest.
Habe wohl etwas geschlafen und das Steuerelement im Sheet der Original-Datei vollkommen ignoriert. Getestet hatte ich den Code leider nur in einem Modul ohne Steuerelement:
Gruß Dieter
Freut mich, dass Du es selbst lösen konntest.
Habe wohl etwas geschlafen und das Steuerelement im Sheet der Original-Datei vollkommen ignoriert. Getestet hatte ich den Code leider nur in einem Modul ohne Steuerelement:
Gruß Dieter