Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel Mouseover- Verhalten

615 views
Skip to first unread message

Hans Alborg

unread,
Oct 15, 2014, 12:30:07 PM10/15/14
to
Hallo.

<Excel 2007>

Es kommt manchmal vor, da� Excel �hnlich wie bei einem Kommentar, den Inhalt
einer Zelle anzeigt wenn der Cursor dr�bersteht. Was ich gemerkt habe: nur
wenn eine Zelle derselben Spalte selektiert ist passiert das.
Das ist dann aber auch nicht bei jeder Zelle in der Spalte so.

Kann man �ber dieses Verhalten irgendwo was lesen?

Mir ist das aufgefallen, weil in den entsprechenden Zellen addierte Zeiten
angezeigt werden, und Excel mit der Mouseover- Meldung nochmal genau
dasselbe zeigt.
So ein Unsinn! Lieber w�re mir die Anzeige der Summe aus mehreren solcher
Zellen.
Da ich Excel aber als Mouseover- faul kenne, wird sich sowas nicht machen
lassen, oder?

Hans

Claus Busch

unread,
Oct 15, 2014, 12:36:30 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 14:49:32 +0200 schrieb Hans Alborg:


> Es kommt manchmal vor, daß Excel ähnlich wie bei einem Kommentar, den Inhalt
> einer Zelle anzeigt wenn der Cursor drübersteht. Was ich gemerkt habe: nur
> wenn eine Zelle derselben Spalte selektiert ist passiert das.
> Das ist dann aber auch nicht bei jeder Zelle in der Spalte so.

das habe ich noch nie festgestellt. Ich kenne nur die Eingabemeldung der
Datengültigkeit.

> So ein Unsinn! Lieber wäre mir die Anzeige der Summe aus mehreren solcher
> Zellen.

Mache einen Rechtsklick auf die Statusleiste und aktiviere die von dir
gewünschten Rechenoperationen, dann kannst du das Ergebnis der
selektierten Zellen in der Statusleiste auslesen.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Hans Alborg

unread,
Oct 15, 2014, 2:10:05 PM10/15/14
to
Hi Claus,

"Claus Busch" schrieb...

> Hans Alborg:


>> Es kommt manchmal vor, da� Excel �hnlich wie bei einem Kommentar, den
>> Inhalt einer Zelle anzeigt wenn der Cursor dr�bersteht.

> das habe ich noch nie festgestellt. Ich kenne nur die Eingabemeldung der
> Dateng�ltigkeit.

Vielleicht weil Du mit dem Cursor zu fix bist als Profi ;-)
Das dauert so 1/2 Sekunde.

...Hochladen klappt! Jetzt kann ich es mal zeigen:

[img]http://up.picr.de/19825851cj.jpg[/img]

Wie Du siehst, ist doch eine Spalte daneben angew�hlt. Der auf der Zelle
"12:20" stehende Cursor ist im Bild nicht sichtbar (Screenshot, mu� wohl so
sein?).
Diese und umliegende Zellen enthalten keine Formeln (mehr).

Was mir aber noch auffiel: nur Zellen mit 4 Stellen haben diesen Effekt! Bei
"5:40" tut sich nichts.
Die Zellen sind [h]:mm formatiert und gesperrt, und werden mit VBA gef�llt.

> Mache einen Rechtsklick auf die Statusleiste und aktiviere die von dir
> gew�nschten Rechenoperationen, dann kannst du das Ergebnis der
selektierten Zellen in der Statusleiste auslesen.

Statusleiste m�chte ich nicht, da ich soweit wie m�glich Vollbildmodus
laufen lasse. Und es sind nicht immer die gleichen Zellen oder die gleiche
Anzahl.

W�re nur schick, _diese_ Anzeige daf�r einzuspannen :-)

Hans

Hans Alborg

unread,
Oct 15, 2014, 2:24:16 PM10/15/14
to
"Hans Alborg" schrieb...

> [img]http://up.picr.de/19825851cj.jpg[/img]

das [IMG] vorn und hinten mu� weg:

http://up.picr.de/19825851cj.jpg

Sorry.

Hans

Claus Busch

unread,
Oct 15, 2014, 2:29:53 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 20:24:16 +0200 schrieb Hans Alborg:

> das [IMG] vorn und hinten mu� weg:

das habe ich schon bemerkt und es mir angeschaut. Aber obwohl ich am
liebsten mit xl2007 arbeite, kann ich das nicht nachvollziehen. Ich
bekomme es nicht hin.

Aber du k�nntest dir doch eine Textbox ins Blatt machen und sie auf
unsichtbar stellen. Sobald du mehrere Zellen ausw�hlst in einer
bestimmten Spalte, wird die Textbox sichtbar und zeigt dir die Summe der
selektierten Zellen an.

Hier z.B: f�r Spalte B:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
With ActiveSheet.TextBox1
If Target.Count > 1 Then
.Visible = True
.Left = Target.Left + 50
.Top = Target.Top + 80
.Value = Format(WorksheetFunction.Sum(Selection), _
Target.NumberFormat)
Else
.Visible = False
End If
End With
End If
End Sub


Mit freundlichen Gr��en

Hans Alborg

unread,
Oct 15, 2014, 2:53:50 PM10/15/14
to
"Claus Busch" schrieb...

> Aber obwohl ich am liebsten mit xl2007 arbeite, kann ich das nicht
> nachvollziehen. Ich bekomme es nicht hin.

Schade. Ich seh das auch nicht �berall in meinen Mappen. Aber wer wei�?
Vielleicht sind in meinem Windows noch irgendwelche Ballontips oder sowas
aktiv?

> Aber du k�nntest dir doch eine Textbox ins Blatt machen und sie auf
> unsichtbar stellen. Sobald du mehrere Zellen ausw�hlst in einer bestimmten
> Spalte, wird die Textbox sichtbar und zeigt dir die Summe der selektierten
> Zellen an.

> Hier z.B: f�r Spalte B:
> [Code]

Ja mu� ich mal gucken wie sich das handhabt. N�mlich wenn ich nur eine Zelle
anklicke starte ich eine Neuberechnung der Zeiten (genau der Zellen, wo mich
die Summe interessiert �brigens).

Ich mu� also Markieren einer bzw. mehrerer Zellen meistern (nicht VBA,
ich!!!)...

Einklich wollte ich dem Mouseover- Dings ja nur was Sinnvolles beibringen
:-(

Hans

Hans Alborg

unread,
Oct 15, 2014, 3:31:27 PM10/15/14
to
"Hans Alborg" schrieb...

> "Claus Busch" schrieb...

>> [Code]

> Ja mu� ich mal gucken wie sich das handhabt.

Gut geht das. Da meine Codezeilen im Blatt ein Limit haben mu�te ich Deinen
Code in ein Modul verfrachten und ihn mit ActiveCell und
Selection.Cells.Count betreiben. Das klappt soweit gut bis auf die
Formatierung bzw. Berechnung. Da steht nur ":12".
Aber das kl�rt sich auch noch.
Und Visible.False mach' ich evtl. mit einem Timercode, mal sehen.

Allerdings gibt's zum Jahresende ca. 140 solcher Bl�tter. Da sollte ich die
Textboxen -hm.- des letzten Monats? dann l�schen...

Hans

Claus Busch

unread,
Oct 15, 2014, 3:33:26 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 20:53:50 +0200 schrieb Hans Alborg:

> Ja muß ich mal gucken wie sich das handhabt. Nämlich wenn ich nur eine Zelle
> anklicke starte ich eine Neuberechnung der Zeiten (genau der Zellen, wo mich
> die Summe interessiert übrigens).

hier eine Verbesserung (wieder für Spalte B)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With ActiveSheet.TextBox1
If Selection.Column = 2 And Target.Count > 1 Then
.Visible = True
.Left = Target.Left + 50
.Top = Target.Top + 80
.Value = Format(WorksheetFunction.Sum(Selection), _
Target.NumberFormat)
Else
.Visible = False
End If
End With

End Sub


Mit freundlichen Grüßen

Claus Busch

unread,
Oct 15, 2014, 3:36:24 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 21:31:27 +0200 schrieb Hans Alborg:

> Formatierung bzw. Berechnung. Da steht nur ":12".

dann ist es auch nicht mehr Target.NimberFormat sondern
ActiveCell.NumberFormat.
Aber bei Zeiten, die im Blatt hh:mm formatiert sind, solltest du doch
besser f�r die TextBox [h]:mm nehmen, wenn du summierst. Sonst werden
dir ganze Tage nicht angezeigt.
Wenn also die Summe z.B. 26 Stunden ist, bekommst du mit h:mm nur 2
Stunden angezeigt.

Claus Busch

unread,
Oct 15, 2014, 4:05:39 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 21:31:27 +0200 schrieb Hans Alborg:

> Formatierung bzw. Berechnung. Da steht nur ":12".

die TextBox tut sich etwas schwer bei der Zeit.
Da es ja nur eine Kontrolle sein soll (oder willst du damit rechnen?),
mache einen Zwischenschritt und l�se es so:

Res = WorksheetFunction.Sum(Selection) * 24
.Text = Int(Res) & ":" & Format(Int((Res - Int(Res)) * 60), "00")

oder lass dir die Zeit als Dezimalzahl ausgeben:

.Text = Format(WorksheetFunction.Sum(Selection) * 24, "#0.00")

Hans Alborg

unread,
Oct 15, 2014, 4:22:30 PM10/15/14
to
"Claus Busch" schrieb...

> Hans Alborg:

>> Formatierung bzw. Berechnung. Da steht nur ":12".

> dann ist es auch nicht mehr Target.NimberFormat sondern
> ActiveCell.NumberFormat.

Ja...

> Aber bei Zeiten, die im Blatt hh:mm formatiert sind, solltest du doch
> besser f�r die TextBox [h]:mm nehmen

Und da liegt der Hase im Pfeffer!
Textbox will nicht mit [h]:mm!
Als ich h:mm eingesetzt hatte, zeigte die Textbox richtig an (bis 23:59
eben).

�ber so ein Verhalten bin ich schonmal gestolpert. Da mu� wohl die Summe
"[h]:mm" in eine Zelle geschrieben werden und dann als Text in die Textbox
gelockt werden :-(

Was Deine Verbesserung nebenan betrifft: wegen des Zeilenlimits im Blatt
steht der Code ja in einem Modul. Aber im Blatt wurde eh schon Spalte und
Zeilen X-Y ausgesiebt um in den Berechnungscode zu gelangen.
Der hat jetzt nur Deinen Code an den Anfang bekommen:

With ActiveSheet.TextBox1
If Selection.Cells.Count > 1 Then
.Visible = True
.Left = ActiveCell.Left + 50
.Top = ActiveCell.Top + 10
'.Value = Format(WorksheetFunction.Sum(Selection. _
Cells.Value), "h:mm")
.Value = Format(WorksheetFunction.Sum(Selection), _
"h:mm")
'.Value = Format(WorksheetFunction.Sum(Selection), _
"[h]:mm")
'.Value = Format(WorksheetFunction.Sum(Selection), _
ActiveCell.NumberFormat)
Exit Sub
Else
.Value = ""
.Visible = False
End If
End With

Mehr braucht es in diesem Codebereich nicht.
Die Test- Values hab ich mal mitgepostet.

Na wie ich die Textbox �berliste wird sich morgen zeigen!

Gute Nacht!

Hans

Claus Busch

unread,
Oct 15, 2014, 4:49:16 PM10/15/14
to
Hallo Hans,

Am Wed, 15 Oct 2014 22:22:30 +0200 schrieb Hans Alborg:

> Und da liegt der Hase im Pfeffer!
> Textbox will nicht mit [h]:mm!

probiere es auf einem dieser Wege:
dim Res as double
Res = WorksheetFunction.Sum(Selection) * 24
.Text = Int(Res) & ":" & Format(Int((Res - Int(Res)) * 60), "00")

oder lass dir die Zeit als Dezimalzahl ausgeben:

.Text = Format(WorksheetFunction.Sum(Selection) * 24, "#0.00")


Wenn du 140 gleich aufgebaute Bl�tter hast und immer die Summenbildung
in der gleichen Spalte machst, k�nntest du auch mit
Private Sub Workbook_SheetSelectionChange
eine modale UserForm mit einer Textbox oder einem Label f�r die Anzeige
darauf sichtbar machen und bei Klick in einen anderen Bereich Hide
anwenden, um sie zu verstecken. Dann br�uchtest du nicht auf jedem Blatt
eine Textbox.

Hans Alborg

unread,
Oct 16, 2014, 1:44:18 PM10/16/14
to
"Claus Busch" schrieb...

> Hans Alborg:

>> Textbox will nicht mit [h]:mm!

> probiere es auf einem dieser Wege:
> dim Res as double
> Res = WorksheetFunction.Sum(Selection) * 24
> .Text = Int(Res) & ":" & Format(Int((Res - Int(Res)) * 60), "00")

Das ergibt nur glatte Stunden. Ich hab noch die Variable Remi (as Date) dazu
erfunden:

' ...
Res = WorksheetFunction.Sum(Selection) * 24
Remi = Format(WorksheetFunction.Sum(Selection), "h:mm")
.Text = Int(Res) & ":" & Mid(Str(Remi), 5, 2)
' ...

Das funktioniert jetzt prima, ich bin zufrieden.
Mit dem Selbst-Ausblenden nach kurzer Zeit hat's noch nicht geklappt, da der
Code den ich dazu aus dem Netz kenne mit einer Message- Box l嚙線ft:

Sub Msg_box_autom_ausblenden()
' Demo! selbstl嚙編chende Infobox anzeigen
Dim AckTime As Integer, InfoBox As Object
Set InfoBox = CreateObject("WScript.Shell")
AckTime = 5
Select Case InfoBox.PopUp("Vorgang l嚙線ft", _
AckTime, "This is your Message Box", 0)
Case 1, -1
GoTo testend
End Select
testend:
End Sub

-aber ich wollte das ja nur mal versucht haben.

> Wenn du 140 gleich aufgebaute Bl嚙緣ter hast und immer die Summenbildung in
> der gleichen Spalte machst, k嚙緯ntest du auch...

Nene. Ich sehe h嚙箱hstens in den letzten x Bl嚙緣tern nach, daher kann die
Textbox bei den fr嚙篁eren (嚙篁, 嚙締teren?) Bl嚙緣tern gel嚙編cht werden (Speicher
sparen).
Das aktuelle Blatt wird, wenn voll, nach hinten kopiert und ein leeres
erzeugt. So entstehen die ca. 140 Bl嚙緣ter. Dabei werden Formeln,
Datenbereiche, G嚙締tigkeiten, Shapes und vieles andere gel嚙編cht oder in Text/
Zahlen umgewandelt.
Dieses Schicksal soll die Textbox auch ereilen, aber evtl. ab dem 5.
abgelegten Blatt oder einfach dem (vor?)letzten Monat oder so.

> eine modale UserForm mit einer Textbox oder einem Label

Ich find die "Nur"- Textbox toll. Hat auch Bestand wenn eine andere Userform
aufpoppt (z.B. Druckoptionen).
Das lass ich jetzt so!

Danke mal wieder f嚙緝 Deine Hilfe und die tollen Ideen!

Hans

Claus Busch

unread,
Oct 16, 2014, 1:50:03 PM10/16/14
to
Hallo Hans,

Am Thu, 16 Oct 2014 19:44:18 +0200 schrieb Hans Alborg:

> Das ergibt nur glatte Stunden. Ich hab noch die Variable Remi (as Date) dazu
> erfunden:

das kann ich nicht verstehen. Ist doch bei mir getestet.
Schau aber trotzdem mal nach der L�sung mit der UserForm:
https://onedrive.live.com/?cid=9378AAB6121822A3&id=9378AAB6121822A3%21326#cid=9378AAB6121822A3&id=9378AAB6121822A3%21326
Sie ist dort in der Mappe "Hans"
Diese Userform funktioniert auf allen Bl�ttern.

Hans Alborg

unread,
Oct 17, 2014, 9:34:49 AM10/17/14
to
"Claus Busch" schrieb...

> Hans Alborg:

>> Das ergibt nur glatte Stunden.

Grrr. Asche auf mein Haupt! Hatte "Res" als Integer deklariert. Und meine
Kreation hat's dann wieder nicht �ber die 24h- Grenze geschafft.
Jetzt funktioniert die Textbox mit Deinem Code richtig.

Bis auf: 10 min plus 0:00 gibt 9 min in der Textbox, erst 10 min + 0:00 +
0:00 ergibt wieder 10 Minuten.

Schade da� Excel sowas macht. Ist aber �berschaubar, solange die gr��eren
Werte stimmen.

> Schau aber trotzdem mal nach der L�sung mit der UserForm:
> https://onedrive.live.com/?cid=[...] in der Mappe "Hans"
> Diese Userform funktioniert auf allen Bl�ttern.

Die ist nicht so elegant wie die reine Textbox, und wie ich ahnte wird das
�ffnen anderer Userformen verhindert.
Ich �berlege, als Alternative die Textbox jedesmal "frisch" zu erzeugen und
gleich wieder zu l�schen. Mal sehn was das f�r ein Aufwand wird...

Hans

0 new messages