95590
Goto Top

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

Content-Key: 156720

Url: https://administrator.de/contentid/156720

Printed on: April 27, 2024 at 04:04 o'clock

Mitglied: 76109
76109 Dec 10, 2010 at 10:09:55 (UTC)
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
Mitglied: 95590
95590 Dec 10, 2010 at 10:28:41 (UTC)
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.
Mitglied: 76109
76109 Dec 10, 2010 at 11:03:20 (UTC)
Goto Top
Hallo FredFesl!

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

Gruß Dieter
Mitglied: 95590
95590 Dec 10, 2010 at 11:42:54 (UTC)
Goto Top
Also habs nun selber gelöst.
Hab nun alles in eine Funktion gepackt. Dann funktioniert es. Warum auch immer.

Vielen Dank Dieter!
Mitglied: 76109
76109 Dec 10, 2010 at 23:53:57 (UTC)
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