T
| Problem | Makro |
| Tabellenblätter sortieren (auch Diagramme usw.) |
Sub Tabellen_sortieren() Dim i As Integer, j As Integer For i = 1 To Sheets.Count For j = 1 To Sheets.Count - 1 'aufsteigend If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) 'absteigend 'If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then 'Sheets(j).Move after:=Sheets(j + 1) End If Next j Next i End Sub |
| Von Frank Arendt-Theilen:
Sub BlätterSortieren() |
|
| Tabellenblätter verstecken Info: |
Sub Ausblenden() Worksheets("Tabelle1").Visible = False End Sub 'Das Tabellenblatt kann manuell wieder sichbar gemacht werden und werden beim Ausdruck der gesamten Mappe mit ausgedruckt. Sub Einblenden() |
| Sub Verstecken() Worksheets("Tabelle1").Visible = xlVeryHidden End Sub 'Das Tabellenblatt kann manuell nicht mehr sichbar gemacht werden und werden beim Ausdruck der gesamten Mappe ignoriert. Sub Einblenden() |
|
| alle versteckten Tabellenblätter einblenden | Sub Verstecke_Tab_zeigen() Dim WS As Worksheet For Each WS In Worksheets WS.Visible = True Next WS End Sub |
| Tabellenblätter ohne Warnmeldung löschen | Sub löschen_ohne_Meldung() 'Warnmeldung ausschalten Application.DisplayAlerts = False Worksheets("Tabelle1").Delete 'Warnmeldung unbedingt wieder einschalten Application.DisplayAlerts = True End Sub |
| Texte vergleichen, auch wenn unterschiedliche Groß/Kleinschreibung | VOR das Makro schreiben: Option Compare Text |
| auch verwendbare Funktionen (beidseitig gleich
umwandeln): Wandelt Buchstaben auf verschiedene Arten: StrConv(Wort,Option) Wandelt alles in Großbuchstaben: UCase(Wort) Wandelt alles in Kleinbuchstaben: LCase(Wort) |
|
| Tasten anders belegen als vorgegeben.
Mit dem Makro |
'Es werden hier alle
Makros zu Demonstration gebracht!
Sub TastenAndersSetzen() |
| Textteile ersetzen, auch wenn die eingebaute Ersetzenfunktion mit Fehlermeldung Formel zu lang abbricht | Sub Textteile_im_Bereich_ersetzen() Dim C, Talt, Tneu, x, z Talt = "ö" 'ganze Wörter/Texte möglich Tneu = "oe" z = 0 For Each C In Selection x = "" Suche = Talt 'InStr(Erstes Zeichen, Suchtext, was?) x = InStr(1, C, Suche) If x <> 0 Then C.Value = Left(C, x - 1) & Tneu & Right(C, Len(C) - Len(Talt) - Len(Left(C, x - 1))) z = z + 1 End If Next C MsgBox z & " Einträge wurden geändert" End Sub |