Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spaltenbreite festlegen
#1
Hallo mal wieder,

Ich hab mir ein Makro geschrieben, das mir auf einer Tabelle einen Filter setzt, die entspr. Daten in ein neues Datenblatt übernimmt und zu guter Letzt die neue Tabelle noch kurz durchformatiert.

Und gerade beim letzten Punkt habe ich einen Fehler. Und zwar in dem Absatz, wo die Spaltenbreite festgelegt wird. Die Spalte C ist nur dann richtig, wenn ich die Spalte D nicht formatiere. Ansonsten ist sie nicht genauso breit wie Spalte D. Huh 

Wer kann mir helfen?


Code:
Sub Makro1()
Dim i As Long
Dim Tabelle1 As Worksheet

i = 0
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

Sheets("MFormula").Range("A7:M500").Clear

'Daten mit Autofilter filtern
  Range("F6").Select
   Selection.AutoFilter
   Selection.AutoFilter Field:=6, Criteria1:="MF"
   
'gefilterte Daten kopieren
   With ActiveSheet.AutoFilter.Range.Offset(-3)
       .Cells(7, 4).Resize(.Rows.Count).Offset(, -3). _
        Resize(, 4).SpecialCells(xlCellTypeVisible).Copy
   End With
   
'gefilterte Daten einfügen
   
   Range("A7").Select
   With Worksheets("MFormula")
       .Paste Destination:=.Cells(.Rows.Count, 1).End(xlUp).Offset(1) 'Leerzeilen
   End With
 
 'Autofilter zurücksetzen
   With Worksheets("Cosmos")
       If .FilterMode Then
           .ShowAllData
           Selection.AutoFilter
       End If
   End With
Call Format
Application.CutCopyMode = False

Range("A7").Select
End Sub

Public Sub Format()
Dim i As Long

'Spaltenbreite kopierte Daten
   Sheets("MFormula").Select
   Columns("A:A").Select
   Selection.ColumnWidth = 5
   Columns("B:C").Select
   Selection.ColumnWidth = 10
   Columns("D:D").Select
   Selection.ColumnWidth = 25
     
'Überschriftenzeile
Worksheets("Cosmos").Range("A6:D6").Copy Destination:=Worksheets("MFormula").Range("A6:D6")

Sheets("MFormula").Select
   Rows("6:6").Select
   With Selection.Interior
       .ColorIndex = 49
       .PatternColorIndex = xlAutomatic
   End With
   
   Rows("5:5").Select
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = 49
   End With

 'Zeilen zweifarbig
   For i = 7 To ActiveSheet.UsedRange.Rows.Count
     If i Mod 2 = 1 Then
       Rows(i).Interior.ColorIndex = 2
     Else
       Rows(i).Interior.ColorIndex = 24
     End If
   Next i
   
End Sub
Antwortento top
#2
Hallo,

Zitat:Und gerade beim letzten Punkt habe ich einen Fehler. Und zwar in dem Absatz, wo die Spaltenbreite festgelegt wird. Die Spalte C ist nur
dann richtig, wenn ich die Spalte D nicht formatiere. Ansonsten ist sie nicht genauso breit wie Spalte D. 
[Bild: huh.gif] 

liest sich wie die Umschreibung für ... ich benutze verbundene Zellen.
Ist das so?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

[Bild: schulbild3.jpg]
[-] Folgende(r) 1 Benutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Rabe
Antwortento top
#3
Hallo,

du brauchst nicht selektieren

PHP-Code:
'Spaltenbreite kopierte Daten
   With Worksheets("MFormula")
      .Columns("A:A").ColumnWidth = 5
      .Columns("B:C").ColumnWidth = 10
      .Columns("D:D").ColumnWidth = 25
   End With 
Gruß Stefan
Win 7 / Office 2007
Antwortento top
#4
Da waren allerdings noch ein paar Verbundene Zellen über der Tabelle.
Danke!
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste