Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spaltenbreite beim "Datei zerlegen"

Spaltenbreite beim "Datei zerlegen"
18.11.2013 11:59:40
Zsuzsanna
Hallo,
Ich habe einen Makro (ziemlich lang und komplex). Leider steht hier drin, dass die Spalten- _
Breiten automatisch angepasst werden sollen. (AutoFit) Ich möchte dieses Makro so abändern, dass ich die Spalte C mit einem Fix-Breite versorge (z.B. 51.00) und die restliche Spalten automatisch anpassen lasse. Ich komme aber nicht drauf, wie...
Vielen Dank,
Zsuzsanna

Sub Zerlegen_Speichern()
Pfad = "T:\LLE 2014\"                                 'Speicherort festlegen (Ordner)
Dim wkbOld As Workbook
Dim wkbNew As Workbook
Set wkbOld = ActiveWorkbook
Dim rng As Range, rngCur As Range
Dim lngRow As Long
Application.ScreenUpdating = False
Set rngCur = Range("A1").CurrentRegion
rngCur.Sort _
key1:=Range("A2"), _
order1:=xlAscending, _
Header:=xlYes
lngRow = 2
Do Until IsEmpty(rngCur.Cells(lngRow, 1))
If rngCur.Cells(lngRow, 1)  rngCur.Cells(lngRow - 1, 1) Then
rngCur.AutoFilter _
field:=1, _
Criteria1:=rngCur.Cells(lngRow, 1)
Set rng = rngCur.SpecialCells(xlCellTypeVisible)
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ws = rngCur.Cells(lngRow, 1)
ActiveSheet.Name = ws
rng.Copy Range("A1")
Lieferant = Sheets(5).Name                         'hier wird der Dateiname festgelegt
ActiveSheet.Copy
Columns("A:L").EntireColumn.AutoFit             'Breite setzen
Set wkbNew = ActiveWorkbook
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
wkbOld.Sheets("UL").Cells.Copy
wkbNew.Sheets("Tabelle2").Range("A1").PasteSpecial
wkbNew.Sheets("Tabelle2").Name = wkbOld.Sheets("UL").Name
ActiveSheet.Protect Password:="bd12", UserInterfaceOnly:=True, DrawingObjects:=True, _
_
_
_
_
_
_
Contents:=True, Scenarios:=True
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
wkbOld.Sheets("LETyp").Cells.Copy
wkbNew.Sheets("Tabelle3").Range("A1").PasteSpecial
wkbNew.Sheets("Tabelle3").Name = wkbOld.Sheets("LETyp").Name
ActiveSheet.Protect Password:="bd12", UserInterfaceOnly:=True, DrawingObjects:=True, _
_
_
_
_
_
_
Contents:=True, Scenarios:=True
Worksheets.Move before:=Worksheets("UL")
Range("A:M").AutoFilter
ActiveSheet.Protect Password:="bd12", UserInterfaceOnly:=True, DrawingObjects:=True, _
_
_
_
_
_
_
Contents:=True, Scenarios:=True, AllowFiltering:=True
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.TopMargin = Application.CentimetersToPoints(1.5)
.BottomMargin = Application.CentimetersToPoints(1.5)
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.Zoom = 80
.CenterHorizontally = True
.PrintArea = ActiveSheet.UsedRange.Address
End With
wkbNew.SaveAs Filename:=Pfad & Lieferant   'Datei in Pfad speichern
wkbNew.Close
Application.DisplayAlerts = False
ActiveSheet.Delete                              'Blatt löschen
Application.DisplayAlerts = True
End If
lngRow = lngRow + 1
Loop
Worksheets(1).Select
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = False
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbreite beim "Datei zerlegen"
18.11.2013 12:11:10
JoWE
Hallo Zsuzsanna,
so vllt.?
    Columns("A:B").EntireColumn.AutoFit   ' automatische Breite setzen
Columns("C").ColumnWidth = 52         ' individuelle Breite setzen
Columns("D:L").EntireColumn.AutoFit   ' automatische Breite setzen

Gruß
Jochen

Anzeige
kürzer :-)
18.11.2013 12:34:54
Klaus
Hallo,
eine Zeile kürzer:

Columns("A:L").EntireColumn.AutoFit   ' automatische Breite setzen
Columns("C").ColumnWidth = 52         ' individuelle Breite setzen
Grüße,
Klaus M.vdT.

AW: kürzer :-)
19.11.2013 16:06:28
Zsuzsanna
Hallo ihr Beiden,
vielen Dank für die Hilfe... Haben beide Vorschläge funktioniert!
Jetzt hätte ich eine weitere Frage:
Ich habe in der Sheet1 1 Sverweis drin, der mit der Matrix auf sheet 2 (UL) sich bezieht. Da ich den original Datei zerlege, verliert diese Sverweis sein Bezug und wird nur in der erste Datei mitkopiert, aber nicht richtig berechnet. Gibt es da eine Möglichkeit bereits in der original-Tabelle den Sverweis passend einzugeben oder muss ich das ins VBA erfassen... Aber wenn ja, wie?
Danke jetzt schon!

Anzeige
AW: Spaltenbreite beim "Datei zerlegen"
20.11.2013 09:38:06
Zsuzsanna
Hallo,
ich will nicht draengeln, aber kann mir jemand eine schnelle Antwort geben?
Ich habe in der Sheet1 ein Sverweis in der Spalte J drin, der mit der Matrix auf sheet 2 (UL) sich bezieht. Da ich den original Datei zerlege, verliert diese Sverweis sein Bezug und wird nur in der erste Datei mitkopiert, aber nicht richtig berechnet. Gibt es da eine Möglichkeit bereits in der original-Tabelle den Sverweis passend einzugeben oder muss ich das ins VBA erfassen... Aber wenn ja, wie?
Formel lautet:
=wennfehler(Sverweis(I2;UL!A:D;3;falsch);"")
Danke jetzt schon!
LG,
Zsuzsanna
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige