Supportnet Computer
Planet of Tech

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:
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 -

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: