Posts

Es werden Posts vom November, 2012 angezeigt.

DAO - Accessdatenbank Anzahl aus allen Auswahlabfragen ausgeben...

Frage: In meinen Accessdatenbanken (.mdb und .accdb) habe ich einige Abfragen. Die Anzahl der Datensätze aller Auswahlabfragen möchte ich aus Excel herraus wissen. Wie geht das?

Hier noch eine Beispieldatei: DAO Accessdatenbank Anzahl aus allen Auswahlabfragen ausgeben...

Hinweis: Um diesen Code zu testen und das gleiche Ergebnis wie in der Beispieldatei zu erhalten werden die Beispieldatenbanken "nwind.mdb" und "nwind.accdb" von Microsoft benötigt!

OptionExplicit'----------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 28.11.2012 ' Purpose : DAO Accessdatenbank Anzahl aus allen Auswahlabfragen ausgeben... '----------------------------------------------------------------------------- ' Erstellt UND getestet in Excel 2010 - Access ist NICHT installiert ' http://msdn.microsoft.com/de-de/library/office/ff965871%28v=offi…

Summe aus unbestimmter Anzahl Tabellenblätter...

Frage: Aus einer unbekannten Anzahl Tabellenblätter (die Anzahl kann auch mehr werden - die Startposition ist aber immer das dritte Tabellenblatt), soll die Summe aus Spalte C in einem Tabellenblatt "Auswertung" gezogen werden. Die Namen der Tabellenblätter sollen automatisch in Spalte A gelistet sein die Summen in Spalte B. Wie geht das?

Hier noch eine Beispieldatei: Summe aus unbestimmter Anzahl Tabellenblätter...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 27.11.2012 ' Purpose : Summe aus unbestimmter Anzahl Tabellenblätter... '-------------------------------------------------------------------------- Sub Main() ' Dimensionieren der Variablen Dim wksSheet As Worksheet Dim lngLastRow AsLong' Wenn ein Fehler auftritt gehe zu der angegebenen Sprungmarke OnErrorGoTo Fin ' Der Code bezieht…

Aktuelles Datum finden - Ausgabe mehrerer Zellen...

Frage: In Spalte A in Tabelle 1 steht das Datum im Format z. B. "10.12.2012". In den Spalten B - D stehen dazugehörige Informationen. Nun soll das heutige Datum gesucht werden und die zugehörigen Informationen in einer MsgBox ausgegeben werden. Wie geht das?

Da es ja nicht unerhebliche Unterschiede in den Office / VBAVersionen gibt hier der Hinweis - erstellt und getestet in Excel 2010 / VBA7. Hier funktioniert das Suchen nach einem Datum (auch wenn es über eine Formel generiert wurde) wie unten gezeigt. In "älteren" Versioen muss gegebenenfalls angepasst werden (siehe Code).

Hier noch eine Beispieldatei: Aktuelles Datum finden - Ausgabe mehrerer Zellen...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 23.11.2012 ' Purpose : Termin "Heute" finden Zellen daneben ausgeben Einzeln... '------------…

Aktives Control in UserForm andere Farbe - API - Timer...

Frage: In meiner UserForm sind einige TextBoxen bzw. ComboBoxen. Die gerade aktive soll eine andere Farbe erhalten. CommandButton sollen die Farbe nicht ändern. Ich möchte nun nicht jedes Enter- bzw. Exitereignis einzeln für jedes Control angeben. Wie geht das?

Bemerkung: Über Klassen geht das nicht, da nicht alle Ereignisse zur Verfügung stehen (unter anderem auch das Enter- bzw. Exitereignis).

Hier noch eine Beispieldatei: Aktives Control in UserForm andere Farbe - API - Timer...

Code gehört in ein allgemeines Modul (Modul1):

OptionExplicitOptionPrivateModulePrivateDeclareFunction KillTimer Lib"user32.dll" _ (ByVal hWnd AsLong, ByVal nIDEvent AsLong) AsLongPrivateDeclareFunction SetTimer Lib"user32.dll" _ (ByVal hWnd AsLong, ByVal nIDEvent AsLong, _ ByVal uElapse AsLong, ByVal lpTimerFunc AsLong) AsLongPrivateDeclareFunction FindWindow Lib"user32.dll" _ Alias"FindWindowA" (ByVal lpClassName AsString, _ ByVal lpWindowName AsSt…

Parameter - Variable nach Word an ein Makro übergeben...

Frage: Immer wieder taucht die Frage auf, wie man Parameter bzw. eine Variable aus einem Makro in Excel an einen Code in einer Worddatei mitgeben kann, damit mit den Werten weitergerechnet bzw. Texte übernommen werden können.

Hier noch eine Beispieldatei: Parameter - Variable nach Word an ein Makro übergeben... - Zip-Datei mit der Excel- und Worddatei.

Hinweise, wie man Fenster in den Vordergrund holen kann:
Fenster in den Vordergrund...

OptionExplicitPrivateDeclareFunction FindWindow Lib"user32"Alias"FindWindowA" _ (ByVal lpClassName AsString, ByVal lpWindowName AsString) AsLongPrivateDeclareFunction SetForegroundWindow Lib"user32" _ (ByVal hWnd AsLong) AsLongPrivateDeclareFunction GetWindowThreadProcessId Lib"user32.dll" _ (ByVal hWnd AsLong, ByRef lpdwProcessId AsLong) AsLongPrivateDeclareFunction AllowSetForegroundWindow Lib"user32.dll" _ (ByVal dwProcessId AsLong) AsLongPrivateDeclareFunction ShowWindow Lib"user…

Druckbereich als PDF - Alle und Einzeln...

Frage: In meiner Datei habe ich mehrere Tabellen mit Druckbereichen. Diese möchte ich alle in einer Datei haben. Erschwerend kommt hinzu, dass das Format (inklusive Zeilenhöhe) mit übernommen werden soll. Dann möchte ich die Druckbereiche noch jeweils in einer extra Datei. Wie geht das?

Hier noch eine Beispieldatei: Druckbereich als PDF - Alle und Einzeln... Dies ist eine "XLSB-Datei" - also mit rechter Maustaste anklicken und dann "Ziel speichern unter..." wählen.

Weitere Stolperfallen:
Auch noch zu beachten...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 06.11.2012 ' Purpose : Druckbereich als PDF... '-------------------------------------------------------------------------- Sub Main() Dim wkbBook As Workbook Dim varSheet AsVariantDim intTMP AsIntegerDim blnTMP AsBooleanDim lngCalc AsLongOnErrorGo…

Eingabe einsortieren...

Frage: In Spalte A gebe ich Namen ein. Diese sollen sofort bei der Eingabe alphabetisch sortiert werden. Dann soll diese Eingabe ausgewählt und die Spaltebnbreite wieder automatisch angepasst werden. Wie geht das?

Hier noch eine Beispieldatei: Eingabe einsortieren...

Code gehört in den Codebereich des entsprechenden Tabellenblattes:
OptionExplicit'-------------------------------------------------------------------------- ' Module : Tabelle1 ' Procedure : Worksheet_Change ' Author : Case (Ralf Stolzenburg) ' Date : 06.11.2012 ' Purpose : Eingabe einsortieren - zu Eingabe springen... '-------------------------------------------------------------------------- PublicSub Worksheet_Change(ByVal Target As Range) OnErrorGoTo Fin IfNot Target.Count > 1ThenIf Target.Column = 1And Cells(Target.Row, Target.Column) <> ""ThenCall Sortieren(Me, Target.Value) EndIfEndIf Me.Columns("A").AutoFit Fin: If Err.Nu…