95590

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 156720

Url: https://administrator.de/forum/vba-datei-kopieren-und-zeilen-loeschen-156720.html

Ausgedruckt am: 04.06.2025 um 17:06 Uhr

76109
76109 10.12.2010 um 11:09:55 Uhr
Goto Top
Hallo FredFesl !

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
95590
95590 10.12.2010 um 11:28:41 Uhr
Goto Top
O.K. das klappt schon mal. Jetzt hab ioch nur noch das Problem, dass er es nicht im neu erstellten löscht sondern im Orginal. Ich versteh des net. Komisch.
76109
76109 10.12.2010 um 12:03:20 Uhr
Goto Top
Hallo FredFesl!

Ich vermute mal, das Du beim FileSaveAS-Dialog keinen neuen Namen angibst?

Gruß Dieter
95590
95590 10.12.2010 um 12:42:54 Uhr
Goto Top
Also habs nun selber gelöst.
Hab nun alles in eine Funktion gepackt. Dann funktioniert es. Warum auch immer.

Vielen Dank Dieter!
76109
76109 11.12.2010 um 00:53:57 Uhr
Goto Top
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:face-sad

Gruß Dieter