S
| Problem | Makro |
| Nach Begriff in einer Spalte suchen | Sub BegriffSuchen() Dim gZelle As Range Dim Msg1$, Msg2$, Msg3$, sBegriff$ Msg1 = "Bitte Suchbegriff eingeben:" Msg2 = "Suchbegriff wurde nicht gefunden!" Msg3 = "Suchbegriff befindet sich in Zelle " sBegriff = InputBox(Msg1) If sBegriff = "" Then Exit Sub Set gZelle = Worksheets(1).Columns(1) _ .Find(sBegriff, lookat:=xlWhole) 'Tabelle1, Spalte 1 If gZelle Is Nothing Then MsgBox Msg2 Else MsgBox Msg3 & gZelle.Address(False, False) End If End Sub |
| Nach Begriff in mehreren Spalten suchen
- Sucht in 2 Spalten (frei definierbar) |
Option Compare Text 'Anweisung
Groß-/Kleinschreibung egal Sub SuchenIn2Spalten() Dim Sp1, Sp2, lZeile2, Such, Frage Sp1 = 1 '1.Suchspalte Sp2 = 4 '2.Suchspalte 'Ermittlung der absoluten letzten Zeile lZeile2 = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row Such = InputBox("Bitte geben Sie den Suchbegriff ein", "Suche") If Such = "" Then Exit Sub If IsNumeric(Such) Then Such = Such * 1 For i = lZeile2 To 1 Step -1 'Vorwärts: For i = 1 to lZeile2 If Cells(i, Sp1) = Such Then Cells(i, Sp1).Select Frage = MsgBox("Ist dies der gesuchte Eintrag?", vbYesNo) If Frage = vbYes Then Exit Sub End If If Cells(i, Sp2) = Such Then Cells(i, Sp2).Select Frage = MsgBox("Ist dies der gesuchte Eintrag?", vbYesNo) If Frage = vbYes Then Exit Sub End If Next i MsgBox "Der gesuchte Eintrag wurde nicht gefunden" End Sub |
| Speichern Unter mit Pfadvorgabe und vorgegebenem Dateinamen mit aktuellem Datum | Sub SpeichernUnterDatum() Dim DName, Dateiname, Pfad Pfad = "C:\Temp" DName = "Beispiel " Dateiname = Pfad & "\" & DName & Format(Now, "YYYY.MM.DD") & ".xls" 'Tagesdatum als "Jahr.Monat.Tag" wegen Exploreransicht! ThisWorkbook.SaveAs FileName:=Dateiname End Sub |
| Speichern Unter mit Pfadauswahl und vorgegebenem Dateinamen | Sub SpeichernUnterMitvoreingestelltemDateinamen() ChDir ("C:\temp") Application.Dialogs(xlDialogSaveAs).Show "C:\temp\test.xls" End Sub |
| Speichernabfrage bei schließen mit Makro verhindern | Workbooks(name.xls).Close SaveChanges:=False |
| Sonderzeichen | Siehe Extraseite |
| Schriftarten auflisten | von http://home.bip.net/kent.schederin/
(schwedisch)
Sub Schriftartenliste() |
| Von mir eingedeutscht und erweitert:
' Makro erzeugt in Tabelle mit Liste aller Schriftarten und der Hier gibt es eine komplette Mustermappe mit Aktualisierung bei jeden Öffnen |
|
| aktive Spalte hervorheben (keine sonstigen farbige Zellen möglich außer der bedingten Formatierung) |
'Makro im VBA-Editor in die betreffende Tabelle schreiben! Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) 'Alle Farben in Tabelle löschen Cells.Interior.ColorIndex = xlNone 'neue Zeile einfärben Columns(Target.Column).Interior.ColorIndex = 34 End Sub |
| Spaltenbreite
in Zentimeter festlegen
|
von Frank Arendt-Theilen: Sub SpaltenbreiteInCm() Dim sBreite As Single Dim sAktuell As Single Dim strText As String Dim strAntwort As String sAktuell = (Selection.ColumnWidth + 0.71) / 5.1425 strText = "Aktuelle Spaltenbreite: " & _ Format(sAktuell, "###0.00 cm") & Chr(13) _ & "Geben Sie die gewünschte Spaltenbreite für die " & _ "aktuelle Spalte oder Markierung in cm ein:" strAntwort = InputBox(strText, "Neue Spaltenbreite festlegen", _ Format(sAktuell, "###0.00")) If strAntwort <> "" Then sBreite = CSng(strAntwort) Selection.ColumnWidth = -0.71 + 5.1425 * sBreite End If End Sub |