Hallo zusammen,
ich stehe vor folgendem Problem:
In meiner Datei gibt es mehrere Tabellen, die alle nach dem gleichen Muster, bzw. der gleichen Ursprungstabelle aufgebaut sind. Die Tabellen bstehen aus mehreren Spalten, in denen verschiedene Werte, Text und Zahlen eingetragen werden. Spielt aber für die Funktion keine entscheidende Rolle, dient jetzt nur zur Erläuterung. Neben diesen Spalten ist ein Diagramm, welches sich auf die eingetragenen Werte aus den Spalten bezieht.
Nun möchte ich ein Makro machen, welches automatisch die letzte Zeile findet und diese formatiert. Soweit so gut, das habe ich noch geschafft, woran es jetzt scheitert, ist die Verbindung dieses Makros mit einem anderen, welches überflüssige Zeilen ausschneidet und das Diagramm entsprechend neu formatiert.
Hier der Code für das Anpassen des Diagramms und der Seite:
Sub Dia_anpassen()
Rows(„304:“ & Cells(Rows.Count, 2).End(xlUp).Row).Delete
AD = Range(„C5:C5“)
ED = Range(„F5:F5“)
ActiveSheet.ChartObjects(„Diagramm 6“).Activate
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = AD
.MaximumScale = ED
.MinorUnit = 1
.MajorUnit = 5
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
Range(„A1:A1“).Select
ActiveSheet.ChartObjects(„Diagramm 6“).Activate
ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.AutoScaleFont = True
With Selection.TickLabels.Font
.Name = „Verdana“
.FontStyle = „Standard“
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.Background = xlAutomatic
End With
ActiveChart.Axes(xlValue).Select
Selection.TickLabels.AutoScaleFont = True
With Selection.TickLabels.Font
.Name = „Verdana“
.FontStyle = „Standard“
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.Background = xlAutomatic
End With
End Sub
Das alleine funktioniert wunderbar.
Hier der Code für das Formatieren der letzten Zeile:
Sub Seite_anpassen()
LZ = Cells(Rows.Count, 2).End(xlUp).Row + 1
Rows(„0“ & LZ).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
End Sub
Das alleine wiederum funktioniert auch. Wenn ich nun jedoch beide zusammenfügen möchte, kommt immer eine Fehlermeldung. Überlegt hätte ich mir schon, dass es mit dem Bildschirmupdate zusammenhängt und hab es deswegen schon so probiert:
Sub Tabelle_anpassen()
Application.ScreenUpdating = False
Call Dia_anpassen
Call Seite_anpassen
Application.ScreenUpdating = True
End Sub
Das blieb jedoch erfolglos. Ich hoffe, ihr könnt mir hierbei helfen
Vielen Dank schon im Voraus =)
Viele Grüße