Posts

Es werden Posts vom Januar, 2011 angezeigt.

Zelle - Blinken - Font- - Hintergrundfarbe!

Auch immer wieder ein Thema in den Excelforen - blinkende Zellen. Je nach Wert soll eine Zelle blinken. Entweder der Hintergrund, oder die Schrift. Auch ein Kriterium: Die Änderung kann entweder über Eingabe in diese Zelle erfolgen oder über eine Formel. Man sieht in dem Beispiel auch, wie das "Worksheet_Change-Ereignis" über das "Worksheet_Calculate-Ereignis" aufgerufen wird.

Zelle - Blinken - Font- - Hintergrundfarbe...[ZIP, 80 KB]

Folgender Code gehört in "DieseArbeitsmappe":

Option Explicit
PrivateSub Workbook_Deactivate()
OnErrorResumeNext
Call Ende
Call Ende_1
Call Ende_2
Call Ende_3
EndSub


Folgender Code gehört in ein Modul mit Namen "Blinken_2":

Option Explicit
Public varZeit2 AsVariant
PublicSub Farbe_Eins_2()
ThisWorkbook.Worksheets("Beispiel_3")_
.Range("A1").Font.ColorIndex =3
varZeit2 =Now+TimeValue("00:00:01")
Application.OnTime varZeit2,"Farbe_Zwei_2"
EndSub
PublicSub Farbe_Zwei_2()
ThisWorkbook.…

API - UserForm - Excelfenster!

Frage aus Office-Loesung: Wie kann man bei einer ungebunden geladenen UserForm (UserForm1.Show 0) nach Klick auf z. B. einen CommandButton ohne mit der Maus in das Tabellenblatt zu klicken gleich im Tabellenblatt mit der Tabtaste navigieren? Realisiert über die API-Funktionen "FindWindow" und "BringWindowToTop":

API - UserForm - Excelfenster...[ZIP, 50 KB]

Code gehört in Modul1:

Option Explicit
Sub UF_Show()
UserForm1.Show 0
EndSub


Code gehört in das Klassenmodul UserForm:

Option Explicit
Private Declare Function FindWindow Lib "user32"_
Alias "FindWindowA"(ByVal lpClassName AsString,_
ByVal lpWindowName AsString)AsLong
Private Declare Function BringWindowToTop Lib "user32.dll"_
(ByVal hwnd AsLong)AsLong
PrivateSub CommandButton1_Click()
Dim lngTMP AsLong
lngTMP = FindWindow("XLMAIN", vbNullString)
BringWindowToTop lngTMP
EndSub

Geschlossene Dateien - UserForm - InputBox!

Es ist ein weit verbreitetes, aber auch interessantes Thema: Geschlossene Dateien auslesen. Im Folgenden mit einer UserForm bzw. einer InputBox. Hier werden die Abfragen nach Bereich, Tabelle und Unterordner geregelt.

Geschlossene Dateien - Range oder Zelle - UserForm - InputBox...[ZIP, 260 KB]

Der folgende Code gehört in "DieseArbeitsmappe":

Option Explicit
PrivateSub Workbook_Deactivate()
Unload UserForm1
EndSub



Der folgende Code gehört in "UserForm1":

Option Explicit
PrivateSub UserForm_Activate()
CheckBox1.Value =False
CheckBox2.Value =False
TextBox2.Text ="A1:C30"
TextBox3.Text ="Tabelle1"
Me.Tag =""
EndSub
PrivateSub TextBox1_DblClick(ByVal Cancel As_
MSForms.ReturnBoolean)
Dim strTMP AsString
TextBox1.Text = funcDirectory(strTMP)
EndSub
PrivateFunction funcDirectory(strDirectory AsString)AsString
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName ="C:\"
.Title ="Directory"
.ButtonName …

Bild - Position - auf allen Tabellenblättern gleich!

Die Position eines Bildes soll auf allen Tabellenblättern immer gleich sein, egal auf welchem Tabellanblatt ich es verschiebe.

Bild - Position - auf allen Tabellenblättern gleich...[ZIP, 100 KB]

Code gehört in "DieseArbeitsmappe":

Option Explicit
Const strShape AsString="Auto"' Anpassen !!!
PrivateSub Workbook_SheetActivate(ByVal Sh AsObject)
OnErrorResumeNext
Application.ScreenUpdating =False
With Sh
.Shapes(strShape).Delete
.Paste
.Shapes(strShape).Top = lngRow
.Shapes(strShape).Left= lngColumn
EndWith
OnErrorGoTo Fin
Fin:
With Application
.Goto Sh.Range("A1"),True
.ScreenUpdating =True
.CutCopyMode =False
EndWith
EndSub
PrivateSub Workbook_SheetDeactivate(ByVal Sh AsObject)
OnErrorResumeNext
lngRow = Sh.Shapes(strShape).Top
lngColumn = Sh.Shapes(strShape).Left
Sh.Shapes(strShape).Copy
EndSub


Code gehört in ein "Modul":

Option Explicit
Public lngColumn AsLong
Public lngRow AsLong

Geschlossene Datei - Zelle auslesen!

Im Herber Forum gefragt: Eine Exceldatei gleichen Aufbaus ist in verschiedenen Ordnern abgelegt. Alle aber unter einem "Oberordner". Nun soll nach Eingabe des Ordners in Zelle A2 der Inhalt von z. B. D10 aus der jeweiligen Datei ausgelesen werden. Diese soll dabei geschlossen bleiben. Also:

In die Zelle A2 entweder "Test1", "Test2", "Test3" oder "Test4" schreiben!
Klein- Großschreibung ist egal.
Test1-4 sind Ordner - alle unter "Thisworkbook.Path" - in denen jeweils dieselbe Datei ist.
Aus dieser Datei wird eine bestimmte Zelle ausgelesen und in A3 angezeigt
Bei Eingabe eines nicht vorhandenen Ordners erscheint der Datei-Öffnen-Dialog.

Erklärungen auch im Download.

Geschlossene Datei - Zelle auslesen - WorkSheet_Change...[ZIP, 70 KB]

Option Explicit
Const strSheet AsString="Tabelle1"' Anpassen!!!
Const strFile AsString="Rapport.xls"' Anpassen!!!
Const strCell AsString="D10"' Anpassen!!!
'C…