Winfried,
Ich bin kein Makroexperte (um zu untertreiben). Verstehe ich richtig,
dass das Makro mit der Zeile Sub sortTabellen anfängt und mit dem
zweiten EndSub aufhört ?
Dann eine Frage an die Winfired und Hohe Behörde: könnte dieses Makro
nicht der Allgemeinheit zur Verfügung gestellt werden, auf der Webseite ?
MfG
F. Thomas
Winfried Rohr wrote:
Ist eine alphabetische Sortierung möglich? Wenn ja - wie?
Automatisch nur mit einem Makro. Ansonsten kannst Du die
Kleine Übung für den Abend?
@Rebecca: ausschneiden, in eine Standard-Bibliothek kopieren (Achtung
wg. der Zeilenumbrüche/-enden beim Kopieren), aufrufen.
HTH
Winfried
=================
Sub sortTabellen
'
oDok = ThisComponent
If Not oDok.supportsService(_
"com.sun.star.sheet.SpreadsheetDocument" ) Then
MsgBox _
"Makro wurde nicht von einem Calc-Dokument aufgerufen." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Dieses Makro sortiert die Tabellen eines Calc-Dokuments
so," _
& CHR(10) & "dass die Blätter nach ihrem Namen alphabetisch geordnet
werden." _
& CHR(10) _
& CHR(10) & "Makro """ & Trim(sModulName) & """ wird nun beendet." _
, 48 , sModulName & sModulVersion ' 48: Achtung Symbol
Exit Sub
End If
' get array of table names
oTabellenNamen = oDok.getSheets().getElementNames()
' call routine to sort names
ShellSort( oTabellenNamen )
' arrange sheets
for i = LBound( oTabellenNamen ) to UBound ( oTabellenNamen ) - 1
oDok.getSheets().moveByName( oTabellenNamen(i), i )
next i
End Sub
' ===================================================================
REM B Marcelly 2005-06-04
REM http://www.oooforum.org/forum/viewtopic.phtml?t=20783
Sub ShellSort(myList())
Dim k1 As Long, k2 As Long, listSize As Long
Dim x1 As Long, isSorted As Boolean
Dim swapping
listSize = UBound(myList()) +1 -LBound(myList())
k1 = Fix(listSize /2)
do while k1 > 0
k2 = UBound(myList()) - k1
isSorted = true
for x1 = LBound(myList()) to k2
if StrComp(myList(x1), myList(x1 +k1), 0) = 1 then
swapping = myList(x1)
myList(x1) = myList(x1 +k1)
myList(x1 +k1) = swapping
isSorted = false
end if
next
if isSorted then
k1 = Fix(k1 /2)
end if
loop
End Sub
--
....................................................................
Dr. Frank Thomas
FTR Internet Research
93110 Rosny-sous-Bois
France
<A HREF="CALLTO://Frank_Thomas"><IMG>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]