Supportnet / Forum / Tabellenkalkulation
Makro auf mehrere Arbeitsblätter mit gleichem Namen in verschiedenen Dateien eines Ordners anwenden
Frage
Hallo Excel-Freaks,
ich würde gerne ein makro haben, welches die Spalte löscht, wenn in der Zelle der Zeile 2 = 0 ist.
Dies soll für alle Dateien in einem bestimmten Ordner erfolgen, jedoch nur für die Arbeitsblätter mit dem Name "A5".
Ich bin mir sicher ihr könnt mir helfen.
Antwort 1 von coros
Hallo danish_dynamite,
mit nachfolgendem Makro werden alle Dateien in einem Verzeichnis geöffnet, auf das Blatt "A5" hin überprüft und in dem Blatt "A5" alle Spalten gelöscht, in denen in Zeile 2 der Wert 0 steht.
Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Du musst in dem Makro in der Zeile
noch den Pfad, zwischen die Anführungszeichen eintragen, in dem die Dateien geöffnet werden sollen.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit nachfolgendem Makro werden alle Dateien in einem Verzeichnis geöffnet, auf das Blatt "A5" hin überprüft und in dem Blatt "A5" alle Spalten gelöscht, in denen in Zeile 2 der Wert 0 steht.
Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Option Explicit
Sub Löschen()
Dim Pfad As String, Datei As String
Dim iWB As Integer, iCol As Integer
Application.ScreenUpdating = False
Pfad = "C:\Eigene Dateien\"
Datei = Dir(Pfad & "*.xls")
Do While Datei <> ""
Workbooks.Open Filename:=Pfad & Datei
With Workbooks(Datei)
For iWB = 1 To .Sheets.Count
If .Sheets(iWB).Name = "A5" Then
For iCol = 256 To 1 Step -1
If .Sheets(iWB).Cells(2, iCol) <> "" And _
.Sheets(iWB).Cells(2, iCol) = 0 Then _
.Sheets(iWB).Columns(iCol).Delete
Next
End If
Next
.Save
.Close
End With
Datei = Dir()
Loop
End SubDu musst in dem Makro in der Zeile
Pfad = "C:\Eigene Dateien\"noch den Pfad, zwischen die Anführungszeichen eintragen, in dem die Dateien geöffnet werden sollen.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von danish_dynamite
Hallo Oliver,
vielen Dank für deine schnelle Antwort.
Ist echt genau das was ich brauchte und klappt wunderbar.
Gruß
danish_dynamite
vielen Dank für deine schnelle Antwort.
Ist echt genau das was ich brauchte und klappt wunderbar.
Gruß
danish_dynamite

