hilfe für hilfe einfach ;-)
28.12.2004 20:14:36
NE
im Rahmen dieses Threads: http://www.excel-center.de/foren/read.php?2,5749
dessen Problematik ich selber sehr intressant fand,
hats mich halt bissel 'gerissen' und ich dacht' mal mögliche Lösungen antesten...
Mein Ansatz:
Hab einfach ein neues Blatt genommen, A1:AE2 einigermassen kenntlich gefüllt
[also 2 Zeilen a' 31 Spalten] und nun mal versucht, das gegebene oldArr [A1:AE2]
in ein newArr umzuschaufeln mit hm, newR Zeilen und Columns_per_pageBreak einfach;-)
Aber sämtliche logischen Geister scheinen mich heute nicht küssen zu wollen,
bin aber der Meinung, das muss doch irgendwie gehen!;-)
Bitte schauts euch mal an, jemand 'ne zündende [evtl. auch ganz andre/bessre] Idee?
lg Nancy
--
Sub devil_inside()
Dim usedC%, usedR&, ColsPerPage%, oldArr
Dim newR&, r&, c%, x&
With ActiveSheet
If .VPageBreaks.Count > 1 Then
'irgendwie versuche ich hier die usedColumns durch die Anzahl
'der vertikalen Zeilenumbruche zu teilen und das Array neu umzuschichten
oldArr = .UsedRange
usedR = .UsedRange.Rows.Count
usedC = .UsedRange.Columns.Count
ColsPerPage = Fix(usedC / .VPageBreaks.Count)
newR = usedR * .VPageBreaks.Count
ReDim newArr(1 To newR + 1, 1 To ColsPerPage)
'ab hier wirds gruselig ;-)
For r = 1 To newR Step usedR
For c = 1 To usedC Step ColsPerPage
newArr(r, c) = oldArr(r, c)
newArr(r + 1, c) = oldArr
Next
Next
End If
'alles was nun folgt is pillepalle;-)
'das bekommt man dann ja hin, wenn man [frau auch]
'das temporäre Array hat ;-)
' Sheets.Add
' .Range(Cells(1, 1), Cells(UBound(newArr(), 1), UBound(newArr(), 2))) = newArr
' .PrintOut
' Application.DisplayAlerts = 0
' .Delete
' Application.DisplayAlerts = 1
End With
End
Sub