Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1272to1276
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: mehrere workbooks & -sheets

VBA: mehrere workbooks & -sheets
Dani
Hallo Excel- Koryphäen,
Habe folgendes Problem, wo ich keinen passenden code im Archiv finden konnte.
Habe 17 xls-files mit je 2 worksheets.
Der Tabellen-Aufbau ist immer identisch und ich möchte nun für all diese 17 workbooks & deren 2 worksheets die Spaltenbreite anpassen und einige Spalten löschen. Ich habe den folgenden – sehr umständlichen – code gebastelt, und diesen eben 18x kopiert (mit dem entsprechenden Namen der xls-Datei) ….
HILFE – was muss ich tun?
Workbooks("BAAP.xls").Worksheets("check").Activate
Rows("1:1").Insert Shift:=xlDown
Workbooks("Master.xls").Worksheets("Master").Range("A2:o2").Copy Destination:=Workbooks("BAAP.xls").Sheets("check").Range("A1:o1")
Columns(1).ColumnWidth = 15.14
Columns(2).ColumnWidth = 55.43
Columns(3).ColumnWidth = 13.5
Columns(6).ColumnWidth = 22
Columns(4).Delete Shift:=xlToLeft
Range("F:G").Delete Shift:=xlToLeft
Cells.Select
Cells.EntireRow.AutoFit
Sheets("to do").Select
Rows("1:1").Insert Shift:=xlDown
Workbooks("Master.xls").Worksheets("Master").Range("A2:o2").Copy Destination:=Workbooks("BAAP.xls").Sheets("to do").Range("A1:o1")
Columns(1).ColumnWidth = 15.14
Columns(2).ColumnWidth = 55.43
Columns(3).ColumnWidth = 13.5
Columns(6).ColumnWidth = 22
Columns(4).Delete Shift:=xlToLeft
Range("F:G").Delete Shift:=xlToLeft
Range("A1:L1").AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="BAAP"
ActiveSheet.UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete Shift:=xlUp
ActiveSheet.ShowAllData
Cells.Select
Cells.EntireRow.AutoFit
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Ordner\BAAP" & "_" & Format(Date, "YYYY-MM-DD") & ".xls"
ActiveWorkbook.Close
p.s. den autofilter mach ich immer im worksheet „to do“, denn da sind doppelte Einträge aus dem worksheet „check“ drin sind. Wenn Ihr wisst, wie ich das auch schön lösen kann, bin ich Euch auf EWIG dankbar!
Viele Grüße
Dani

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: mehrere workbooks & -sheets
02.08.2012 16:02:38
Helmut
Hallo,
hier ein Beispiel für den äußeren Rahmen. X- Beliebige Workbooks öffnen und in jedem jedes Sheet bearbeiten.
Im inneren Ramen (markiert) musst Du Deine BEarbeitungsschrite für das Sheet hineinbringen
Option Explicit
Sub xxx()
'   1.0 Variable deklarieren
Dim wbNamen As Variant, wbName As Variant, Wb As Workbook, Sh As Worksheet
'   1.3 Exportsheets auswählen
wbNamen = Application.GetOpenFilename(, , "Wählen Sie die Kundendateien aus", , True)
If Not IsArray(wbNamen) Then Exit Sub
'   -------------------------------------------------------------------------------------------- _
'   2.0 Mengengerüst in "Mengen" laden
'   2.1 Schleife über alle Workbooks
For Each wbName In wbNamen
'   2.2 Datei öffnen
Set Wb = Workbooks.Open(wbName)
For Each Sh In Wb.Sheets
' Hier kommt die Bearbeitung für jedes Worksheet hinein.
' Beispiel
Sh.Columns(1).ColumnWidth = 15.14
Next Sh
Wb.Close (False)
Next wbName
End Sub

Gruß
Helmut
Anzeige
AW: VBA: mehrere workbooks & -sheets
02.08.2012 16:06:01
Helmut
Hallo,
gerade noch einen kleinen Fehler gesehen
Es muss am Schluss heißen: Wb.Close (True)

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige