Mrz 13
ezHelpers
ACCESS BEISPIELE
Hier finden Sie kleine Beispiele mit durchaus großer Wirkung.
Beispiel 1: Ein Suchformular, welches die Daten direkt bei der Eingabe von Zeichen in der Datenanzeige filtert. Ich nenne diese Funktionalität ezIntelli_Search. Um sich in Datenbeständen zurecht zufinden, bedarf es einer Suche. Viele Access-Entwickler erstellen dafür Suchmasken, in denen man zu jedem zu filternden Feld auch ein Eingabe-Feld hat - mit Klick auf den Suchbutton erfolgt die Suche. Folgendes Beispiel zeigt, wie man es erreichen kann, das ein Suchfeld, den Datenbestand bei Eingabe filtert. D.h. suche ich nach ”Mustermann” in einem Datenbestand, der Kontaktdaten zu verschiedenen Personen hält, dann werde ich schon bei der Eingabe von “m” einige passende Treffer erhalten. Mit dem nächsten Buchstaben “u”, im Suchfeld steht dann “mu”, wird die Trefferliste entsprechend kleiner.
EXCEL FUNKTIONALITÄTEN
Hier finden Sie kleine Helferlein zu den kleinen verflixten Problemen bei der täglichen Arbeit. Wenn Sie einige dieser Prozeduren auf Schaltflächen einer eigens erstellten Symbolleiste setzen, dann können Sie so Ihr persönliches Add-In für die Arbeit an Excel-Projekten aufbauen.
Wie kann man Zahlenwerte in Spaltenwerte (Buchstaben) wandeln?
Bei der Erstellung von Excel-Makros kommt man immer wieder an den Punkt, an dem man gerne mit Schleifen durchlaufene Spaltenwerte von Zahl nach Buchstaben wandeln möchte. Manchmal benötigt man dieses um beispielsweise die Anzahl der Spalten zu erhalten. Will man dann diesen ermittelten Integer-Wert wieder in die Spaltenbezeichnung wandeln, dann hilft folgenden Function:
Function Index2Cell(intIndex) As String
‘ Umrechnung eines Indexwerts in eine Zellenausdruck
‘ Beispiel: Index2Cell(30) -> “AD”
Dim intRest As IntegerIf intIndex > 26 Then
intRest = intIndex Mod 26
If intRest = 0 Then
intRest = 26
Index2Cell = Chr((Int(intIndex / 26) - 1) + 64) & Chr((intRest) + 64)
Else
Index2Cell = Chr((Int(intIndex / 26)) + 64) & Chr((intRest) + 64)
End If
Else
Index2Cell = Chr(intIndex + 64)
End IfEnd Function
Wie kann ich den Zahlenwert einer Spaltenbezeichnung ermitteln?
Will man die Spaltenbezeichnung (Buchstabe) in einen Zahlenwert wandeln, bzw. die Indexwert einer Spalte erhalten, dann kann man folgende Function verwenden:
Function Cell2Index(ByVal strCelle As String) As Integer
‘ Umrechnung eines Zellenausdruck in einen Indexwerts
‘ Beispiel: Cell2Index(”R”) -> 18strCelle = Trim(UCase(strCelle))
If Len(strCelle) = 1 Then
Cell2Index = Asc(strCelle) - 64
Else
Cell2Index = (Asc(Mid(strCelle, 1, 1)) - 64) * 26 + Asc(Mid(strCelle, 2, 1)) - 64
End IfEnd Function
Wie kann ich CSV-Dateien direkt in Spalten öffnen?
Oft kommen sie in den Genuss mit CSV-Dateien arbeiten zu können. Doch wenn Sie diese in Excel öffnen möchten werden ihnen die Spalten Semikolon-Seppariert in einer Spalte angezeigt. Es können somit keine Spalten direkt bearbeitet werden. Nachfolgen eine kleine VBA Prozedur, die ihnen eine auszuwählende CSV-Datei öffnet und die Daten in Spalten seppariert darstellt:
Sub OPEN_CSV_FILE()
On Error Resume Next
Dim strCSVFile As StringstrCSVFile = Application.GetOpenFilename
Workbooks.Open strCSVFileEnd Sub
Wie kann ich per Click eine geöffnete CSV-Datei in Spalten wandeln?
Wenn Sie eine geöffnete CSV-Datei über einen Button direkt in die vorhandenen Spalten sepparieren möchten, dann können sie folgende Prozedur verwenden:
Sub TRANSFORM_CSV_FILE()
On Error Resume Next
ActiveSheet.Range(”A:A”).Select
Application.DisplayAlerts = FalseSelection.TextToColumns Destination:=Range(”A1″), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False
End Sub
Wie kann ich alle Tabellenblätter per Click mit einem Blattschutz versehen?
Sie arbeiten in ihren Excel-Projekten mit Blattschutz? Dann kennen sie sicher den Aufwand den es bereitet, um jedes einzelne Arbeitsblatt manuell mit einem Blattschutz zu versehen. Folgende Prozedur erledigt diese Handarbeit:
Sub SET_SHEET_PROTECTION()
‘Setzt den Blattschutz auf allen Tabellenblättern der aktiven ArbeitsmappeDim wbCurrent As Workbook
Dim wbSheet As WorksheetSet wbCurrent = ActiveWorkbook
For Each wbSheet In wbCurrent.Sheets
wbSheet.Protect
Next
Set wbCurrent = Nothing
End Sub
Wie kann ich alle Tabellenblätter per Click von einem Blattschutz befreien?
Um den Blattschutz aller Tabellenblätter einer Arbeitsmappe per Click zu entfernen, nutzen sie einfach folgenden Code:
Sub DELETE_SHEET_PROTECTION()
‘Entfernt den Blattschutz auf allen Tabellenblättern der aktiven ArbeitsmappeDim wbCurrent As Workbook
Dim wbSheet As WorksheetSet wbCurrent = ActiveWorkbook
For Each wbSheet In wbCurrent.Sheets
wbSheet.Unprotect
NextSet wbCurrent = Nothing
End Sub
Wie kann ich automatisiert, eine Excel-Datei im Vollbildmodus öffnen?
Wenn sie folgenden Code in das Event/Ereignis Worbook_Open() einfügen, wird ihnen beim Start der Datei, selbige im Vollbildmodus angezeigt. Sehr hiflreich bei der Erstellung von Anwendungen auf Excel-Basis:
Sub SHOW_COMPLETE_DISPLAY()
‘Zeigt Ganzen Bildschirm an
Application.DisplayFullScreen = True
End Sub
Und so läßt sich dieser auch wieder ausschalten:
Sub SHOW_NORMAL_DISPLAY()
‘zeigt normalen Bildschirm
Application.DisplayFullScreen = FalseEnd Sub
Wie kann ich automatisiert, die Spalten- bzw. Zeilenangaben ein-/ausschalten?
Sub SHOW_NO_ROWS_COLUMNS()
ActiveWindow.DisplayHeadings = False
End Sub
Und um die Zeilen- und Spaltenangaben wieder anzuzeigen:
Sub SHOW_ROWS_COLUMNS()
ActiveWindow.DisplayHeadings = True
End Sub
Wie kann ich automatisiert, die Gitternetzlinien ein-/ausschalten?
Sub SHOW_NO_GRIDLINES()
ActiveWindow.DisplayGridlines = False
End Sub
Und um die Gitternetzlinien wieder anzuzeigen:
Sub SHOW_GRIDLINES()
ActiveWindow.DisplayGridlines = True
End Sub

Mai 22nd, 2009 at 10:58
Interessantes Posting! Gruss aus Berlin