Supportnet / Forum / Tabellenkalkulation
Druckbereich richtig auslesen
Frage
Moin,
ich habe das folgende Problem:
Ich will eine Tabelle drucken. Die Größe der Tabelle variiert! nun habe ich folgenden code
[code]Sub persönlichDrucken()
Dim i As Integer
Dim B As Integer
Dim Druckbereich As String
B = ActiveSheet.ChartObjects.Count
For i = 1 To B
ActiveSheet.ChartObjects(i).Activate
ActiveChart.PrintOut
Next i
Druckbereich = ActiveSheet.UsedRange.Address
If Druckbereich = "$A$1" Then
Exit Sub
End If
ActiveSheet.PageSetup.PrintArea = Druckbereich
´ActiveSheet.Range(Druckbereich).PrintOut
End Sub[/code]
doch der Druckbereich ist immer von A1:D65000
Was sieht exel alles als UsedRange an? Auch wenn eine Zelle mit einer Füllfarbe belegt ist? wenn ja wie könnte ich den code so anpassen dass er nur die beschriebenen Zellen druckt?
Bin dankbar für jede Hilfe
Gruß
Hansen
Antwort 1 von piano
Hallo
Folgender Makro liefert die tatsächliche Belegung:
Die Zähler kannst du natürlich auf die Maximalgröße reduzieren, falls es zu lange dauert.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
Folgender Makro liefert die tatsächliche Belegung:
Sub DruckBereichErmitteln()
Dim Zeilen As Double
Dim Spalten As Integer
For i = 1 To 65536
s = Cells(i, 256).End(xlToLeft).Column
If Spalten < s Then
Spalten = s
End If
Next i
For i = 1 To 256
z = Cells(65536, i).End(xlUp).Row
If Zeilen < z Then
Zeilen = z
End If
Next i
Range(Cells(1, 1), Cells(Zeilen, Spalten)).Select
DruckBereich = Selection.Address
End Sub
Die Zähler kannst du natürlich auf die Maximalgröße reduzieren, falls es zu lange dauert.
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -

