Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kleiner Nachtrag zu Gestern

Kleiner Nachtrag zu Gestern
02.04.2015 05:14:10
Luc:-?
Habe hier was ganz Spezielles zum Ausprobieren, Folks;
probiert mal, viell hört ja einer was. Fehlt allerdings noch 'ne Kleinigkeit (aus dem Archiv oder selbst­verfasst), besonders, wenn das idealerweise per UDF in'ner ZellFml fktionieren soll… ;-] Private Function Talk2Me(ByVal Text$) As Boolean Const txStandd$ = "lirpa,fo ts1" On Error GoTo ex If Text = "" Then Text = StrReverse(txStandd) Application.Speech.Speak Text Talk2Me = True ex: Rem b.Fehler False End Function Und weil's so schön ist auch gleich noch die Lösung für die abundzu gestellte Frage, wie kann ich mit WENN die Hintergrundfarbe einer beliebigen Zelle ändern? Wohlgemerkt, ohne BedingtFormatierung (ggf auch mit Ansage)!
Rem Fkt färbt ZellHGrd, -Muster, -Text, -Rahmen direkt;
'   in ZFmln (Xl12/14) unter best Umständen einsetzbar!
'   Vs1.0 -LSr -cd:20150331 -1pub:nie -lupd:2010401n
Function ColorMe(Optional Bezug, Optional ByVal Farbe, Optional ByVal FarbBezug, _
Optional ByVal mBezWt As Boolean, Optional ByVal mAns As Boolean)
Const stFarbe As Long = rgbCornsilk
Dim isDone As Boolean, isMe As Boolean, ber As Range, aWb As Workbook
On Error GoTo ex: isMe = IsMissing(Bezug)
If TypeName(Bezug) = "Range" Then
Set ber = Bezug
Else: Set ber = Application.ThisCell
End If
Set aWb = ber.Parent.Parent
If IsMissing(Farbe) Then
Farbe = stFarbe
ElseIf LCase(Left(Farbe, 2)) = "&h" Then
Farbe = CLng(Farbe)
ElseIf Left(Farbe, 1) = "#" Then
Farbe = CLng("&h" & Right(Farbe, 2) & Mid(Farbe, 4, 2) & Mid(Farbe, 2, 2))
ElseIf Farbe Like String(Len(Farbe), "#") Then
If Farbe > 0 And Farbe 
Hier fehlt ebenfalls eine analoge Kleinigkeit, wenn das bspw mit nach­folgendem FmlTeil fktionieren soll:
ColorMe(sum(C53:C55),if(sum(C53:C55) Viel Spaß beim Ausprobieren! Ich schau dann irgendwann mittags oder abends mal rein… ;-]
Morrn, Luc :-?

36
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kleiner Nachtrag zu Gestern
02.04.2015 08:28:21
Matthias
Hi Luc
viell hört ja einer was ;-)
Tabelle1

 AB
1Moin MoinWAHR

Formeln der Tabelle
ZelleFormel
B1=WENN(A1<>"";talk2me(A1);"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Schö.Ostern
Gruß Matthias

Anzeige
AW: Geht das auch für einen Bereich?
02.04.2015 09:15:41
Dieter(Drummer)
Hallo Matthias,
kann man die Formel

=WENN(A1"";talk2me(A1);"") 
auch auf einen Bereich setzen, damit z.B. der Text in/von A1:A3 vorgelesen wird? Habe es so versucht

=WENN(A1:A3"";talk2me(A1:A3);"")
, das geht aber nicht, Ansonsten ist das einfach toll.
Freue mich, wenn es auch eine Formel- Bereichslösung gibt.
Gruß,
Dieter(Drummer)

Schon mal mit...
02.04.2015 09:23:05
Michael
=talk2me(A1)&talk2me(A2)&talk2me(A3)
versucht Dieter? :-)
Also mir gefällt diese Function! Hahaha...
Brilliant!
LG
Michael

Anzeige
AW: Danke Michael, einfach toll und
02.04.2015 09:40:35
Dieter(Drummer)
funktioniert prima.
Gruß und Danke,
Dieter(Drummer)

Alternativ wäre auch VJoin möglich, ...
02.04.2015 17:49:17
Luc:-?
…Dieter & Michael,
aber nicht die Wortgrenzen vergessen, sonst hat die US-Amerikanerin (noch mehr) Probleme:
=Talk2Me(VJoin(A1:A3))
Hier ist das Zwischenfügen von einem Leerzeichen Standard.
FrOst, Luc :-?

Ja, ich hatte eigentlich nicht mehr erwartet, ...
02.04.2015 18:01:56
Luc:-?
…dass das auch so fktioniert, Matti,
da ich ursprüngl immer die Meldung Funktion ist ungültig erhielt. Aber da hieß sie noch anders, was dann wohl daran gelegen haben muss.
Und natürlich höre ich was! Weiteres siehe ganz unten!
FrOst, Luc :-?

..ich hör dich :-) Gruß owT
02.04.2015 08:32:40
robert

Anzeige
..ich hör dich :-) Gruß owT
02.04.2015 08:32:40
robert

Das ist schön, ...
02.04.2015 17:31:17
Luc:-?
…robert,
denn ich/wir haben ja schon lange nichts mehr von dir gesehen und gehört… ;-]
FrOst, Luc :-?

Frost(Wetter) oder Frohe Ostern :-)) Gruß owT
02.04.2015 17:43:47
robert

Wohl leider eher beides! ;-[ owT
02.04.2015 17:57:46
Luc:-?
:-?

Danke...
02.04.2015 09:19:45
Michael
Luc,
denn auch ich kann Dich hören! \(.,.)/
Hahahaha... das ist ja vielleicht genial!
Das wird mich jetzt natürlich den ganzen Tag amüsieren - v.a. die englische Aussprache des hiesig ubiquitären "Servas"!
Frohe Ostern!
Michael

hier nochwas zum Probieren
02.04.2015 10:04:23
Matthias
Hallo
Tabelle1

 B
1Hallo Max
2Hallo James
3Hallo World
4Good Bye


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Option Explicit
Sub VorLesen()
Dim objSpeaker As Object, x&
Set objSpeaker = CreateObject("SAPI.SpVoice")
objSpeaker.Volume = 100
For x = 1 To 4
objSpeaker.Speak Range("B" & x)
Next
End Sub
Hab ich auch mal hier im Forum gefunden :-)
Gruß Matthias

Anzeige
AW: Einfach toll ...
02.04.2015 10:20:11
Dieter(Drummer)
Danke Matthias L. So kann man sogar beim öffnen einer Mappe sich Text vorlesen lassen.
Noch einen schönen Tag und
Gruß,
Dieter(Drummer)

Eier-Suche mal anders
02.04.2015 11:21:05
Dirk
Hallo Luc,
danke für die beiden Ostereier !
Zwar habe ich bisher nur das erste Ei finden können - und das auch nur mit Hilfe der Reaktionen auf deinen Beitrag - aber ich muss zugeben:
Eine echt gelungene Auflockerung ! Bisher wusste ich gar nicht, daß man Dank VBA auch lachen kann...
Dir und natürlich auch allen anderen Lesern wünsche ich ein frohes Osterfest.
Beste Grüße
Dirk
@alle
Wenn auch ihr noch mehr solche nette Excel-"Spielereien" habt, dann haut doch diesen Thread mal so richtig voll...

Anzeige
Deutsche Stimme möglich ? owT
02.04.2015 17:06:28
robert

Ist mir nicht bekannt, aber wird wohl so wie ...
02.04.2015 17:56:40
Luc:-?
…beim Navigator sein, robert,
phonetische Elemente, die in Beziehung zur Orthografie gesetzt wdn. Muss man wohl an derselben feilen, um das der US-Amerikanerin mit (Mittel-)West-Akzent (sog Western Burr) schmackhaft zu machen. Russisch war jedenfalls auch fast 'ne Katastrophe und mit Französisch will ich's lieber gar nicht erst versuchen… ;-)
Luc :-?

Aha, danke, robert! Auch 32 Bit möglich? owT
02.04.2015 18:13:26
Luc:-?
:-?

Anzeige
AW: Aha, danke, robert! Auch 32 Bit möglich? owT
02.04.2015 18:20:53
robert
Ja,
ich bin nicht der gute "Anleitungsleser", aber ich habe es trotzdem geschafft.
Steffi spricht Deutsch !
Gruß
robert

Na, dann werd'ich's auch mal versuchen! owT
02.04.2015 18:39:26
Luc:-?
:-?

AW: Aha, danke, robert!
02.04.2015 21:31:47
Dirk
Hallo Robert,
super Ergänzung von dir - Steffi verstehe ich besser... ;-)
Nun suche ich nur noch nach einer echt sinnvollen Einsatzmöglichkeit. Es wäre eccht schade, die Steffi wieder "verstauben" zu lassen.
FrOst
Dirk

AW: Aha, danke, robert! Auch 32 Bit möglich? owT
06.04.2015 08:59:46
Stef@n
Hallo Robert,
wie hast Du das gschafft mit Steffi ?
Bei mir wird nur Microsoft Anna angezeigt
Gruss
Stef@n

AW:Naja, Anleitung genau lesen...
06.04.2015 09:46:38
robert
http://depositfiles.com/files/6212458
Steffi downloaden usw...-
Gruß
robert

Anzeige
AW: AW:Naja, Anleitung genau lesen...
06.04.2015 10:08:38
Stef@n
Hi Robert,
da hatte ich wohl noch "Oster-Eier" vor den Augen ...
nein: Straussen-Eier *g*
Funktioniert perfekt !
Danke für das OsterGeschenk :)
Besten Gruss
Stef@n

Freut mich ;-) owT
06.04.2015 18:08:19
robert

Na, das freut mich, euch so begeistert zu ...
02.04.2015 18:37:42
Luc:-?
…haben, Folks,
aber da ist ja noch Teil 2 offen und das fktioniert auch, wenn man einen kleinen, aber äußerst wirksamen Trick anwendet, der sehr zu unrecht wenig bekannt ist. Offensichtlich hat MS hierbei, wohl im Ggsatz zu früheren Versionen etwas geschlampt, weshalb die (sonst) erforderliche physische Entkopplung von Berechnungs- und Formatie­rungsteil schon mit simplem Evaluieren in einer ZellFml gegeben zu sein scheint, worauf der gepostete FmlTeil hinweisen sollte…
Versucht's mal mit LetFormula o.Ä. aus dem Archiv oder mit eigener UDF auf dieser Basis! Außer XLM-Fktt kann nämlich jede Fkt (auch UDFs) in US-Notation evaluiert wdn (es sei denn, diese verwendet selber schon generell intern Evaluate)!
Hier aber jetzt noch eine Ergänzung zur 1.UDF (auch als weiterer Hinweis zur 2. zu verstehen!):
Rem Evaluate wird immer 2x ausgeführt (UDF-typisch?)
'   Vs1.0 -LSr -cd:20150331 -1pub:nie -lupd:2010401t
Function LetSpeak(Optional ByVal Text)
Dim fmText$
If IsMissing(Text) Then Text = Format(Date, "mmmm d, yyyy")
fmText = "Talk2Me(""" & Text & """)"
LetSpeak = Evaluate(fmText)
If IsNumeric(Text) And Not LetSpeak Then LetSpeak = Text
ex: Rem b.Fehler False
End Function
Die Vorbemerkung ist so zu verstehen, dass, egal ob mit/ohne Iteration bzw Application/Worksheet.Evaluate die UDF immer 2× berechnet und deshalb in diesem Fall der Text auch immer 2× gesprochen wird. Aber das muss man bei der anfänglich geposteten UDF ColorMe ja nicht einschalten…
Übrigens wdn mit der American English sprechenden Stimme auch Zahlen richtig (auf AE vorgetragen, wenn sie US-formatiert sind (unformatierte 4stellige Zahlen wdn als Jahrezahl interpretiert). Sonst gibt's Fehler!
Allen Frohe Ostern oder halt kurz und wohl leider doppelt treffend FrOst! ;-)
Gruß, Luc :-?

Anzeige
Nachfrage@all AWer: Habt ihr denn nun auch ...
04.04.2015 20:17:48
Luc:-?
…die UDF ColorMe so einsetzen können, dass sie aus einer ZellFml heraus ihre StandOrtZelle oder beliebige andere Zellen färbt?
Das war eigentlich mein HptAnliegen, die SprachAusgabe nur ein zusätzlicher Gimmick
Gruß, Luc :-?

Nachfrage@all AWer: Habt ihr denn nun auch ...
07.04.2015 18:05:31
Matthias
Hi Luc
Hab gerade gesehen das Du online bist.
ColorMe funktioniert schon (wahrscheinlich Zufall)
Ich weiß nur noch nicht so recht, wie/welche Werte richtig in welche Funktionsargumente gehören.
Erbitte Information
Gruß Matthias

Die SprachAusgabe hat dabei evtl fktioniert, ...
07.04.2015 19:25:12
Luc:-?
…Matti,
aber wohl kaum die Färbung, es sei denn, du hast die UDF wie von mir vorgesehen eingesetzt → Hinweise hatte ich ja gegeben… ;-)
Die Argumente kann man ja sehen: ColorMe(Optional Bezug, Optional ByVal Farbe, Optional ByVal FarbBezug, Optional ByVal mBezWt As Boolean, Optional ByVal mAns As Boolean)
Arg1: ZellBezug, der entfallen kann, wenn die StandortZelle der Fml gefärbt wdn soll.
Arg2: zu verwendende Farbe als FarbIndex lt MappenEinstellungen und bei 0 bzw größer als der letzte Index als BGR-Long-FarbWert bzw als mit &h bzw # gekennzeichneter BGR- bzw RGB-Web-Hexadezimal-FarbWert; fehlt die Angabe, wird der xlRgbColor-Default-Wert verwendet.
Arg3: Was soll gefärbt wdn, ZellHintergrund (1), ZellMuster (3), Schrift (6) oder alle Rahmen (9, außer DiagonalRahmen)? Das ist auch als Text (ico, pco, fco, bco) angebbar; fehlt Arg3, wird 1 verwendet.
Arg4: Soll der Wert von Arg1 wiedergegeben wdn? Anderenfalls (0/fehlt) wird ein Wahrheitswert zurückgegeben.
Arg5: Soll eine SprachAnsage der Änderung erfolgen? Anderenfalls (0/fehlt) keine SprachAusgabe.
Die normalerweise dafür zusätzlich benötigte UDF LetFormula (oder Analoges) hast du aber…?!
Gruß, Luc :-?

Anzeige
AW: Die SprachAusgabe hat dabei evtl fktioniert, ...
08.04.2015 16:16:08
Matthias
Hi Luc
Die SprachAusgabe hat dabei evtl fktioniert, ...
... aber wohl kaum die Färbung

Nee andersrum
Ich habe nur ColorMe benutzt (ohne Sprachausgabe)
Irgendwas stimmt nicht, oder ich mache was falsch.
Userbild
Liegt also sicher daran
Arg1: ZellBezug, der entfallen kann, wenn die StandortZelle der Fml gefärbt wdn soll.
Wenn ich aber Abbrechen will bleibt die Farbe!
Ich werd am WE mal die anderen Arg. testen, ob ich das dann eher raffe ;-)
Gruß Matthias

Merkwürdig, das dürfte so einfach eigentlich ...
08.04.2015 19:06:08
Luc:-?
…nicht passieren, Matti,
da das eine UDFs verbotene Formatierungsaktion darstellt. Passiert bei mir unter Xl12/2007 auch nicht, wodurch das Ergebnis der UDF ohne Argumente auch FALSCH ist, d.h., keine Aktion ausgeführt wurde. Die SprachAusgabe ist dann natürlich ohnehin ausgeschaltet.
Eigentlich sollte diese UDF in ZellFmln (ab Xl12/2007) nur indirekt nutzbar sein, worauf mein BT abzielte…
Welche (exotische) Xl-Version verwendest du denn für dieses Ergebnis?
Gruß, Luc :-?

getestet mit XL 2007! owT
08.04.2015 19:21:54
Matthias

Entweder hast du oder habe ich wohl nicht ...
08.04.2015 20:00:28
Luc:-?
alle Patches, Matti… ;-)
Aber Logisch ist dieses Verhalten deiner Xl-Installation ja nun nicht gerade, denn das ging noch nie. Oder hast du etwa noch etwas eingebaut, um mich (temporär) zu verblüffen (geht nämlich auch!)…?
Luc :-?

rgbCornsilk
09.04.2015 03:11:47
Matthias
Hi Luc
Ich habe nur ein Modul in der Mappe mit Deiner Function ColorMe
Option Explicit
Rem Fkt färbt ZellHGrd, -Muster, -Text, -Rahmen direkt;
'   in ZFmln (Xl12/14) unter best Umständen einsetzbar!
'   Vs1.0 -LSr -cd:20150331 -1pub:nie -lupd:2010401n
Function ColorMe(Optional Bezug, Optional ByVal Farbe, Optional ByVal FarbBezug, _
Optional ByVal mBezWt As Boolean, Optional ByVal mAns As Boolean)
Const stFarbe As Long = rgbCornsilk
Dim isDone As Boolean, isMe As Boolean, ber As Range, aWb As Workbook
On Error GoTo ex: isMe = IsMissing(Bezug)
If TypeName(Bezug) = "Range" Then
Set ber = Bezug
Else: Set ber = Application.ThisCell
End If
Set aWb = ber.Parent.Parent
If IsMissing(Farbe) Then
Farbe = stFarbe
ElseIf LCase(Left(Farbe, 2)) = "&h" Then
Farbe = CLng(Farbe)
ElseIf Left(Farbe, 1) = "#" Then
Farbe = CLng("&h" & Right(Farbe, 2) & Mid(Farbe, 4, 2) & Mid(Farbe, 2, 2))
ElseIf Farbe Like String(Len(Farbe), "#") Then
If Farbe > 0 And Farbe 


Liegt wohl an dieser Zeile:
Const stFarbe As Long = rgbCornsilk
stFarbe ergibt dann bei mir: 14481663


Auch dies in einer neuen Mappe färbt den markierten Bereich
Option Explicit
Sub tt()
Const stFarbe As Long = rgbCornsilk
Debug.Print stFarbe
Selection.Interior.Color = stFarbe
End Sub
Was ist rgbCornsilk? (Long-Wert iss schon klar, aber ... ?)
Ich raffs leider nicht.
Gruß Matthias

Dann ist das äußerst merkwürdig, ...
09.04.2015 05:00:28
Luc:-?
…Matti,
und nur durch fehlende Patches oder irgendeine andere Xl-Veränderung zu erklären. Ich bilde mir ein, dass vor Jahren unter Xl9 in meinen AddIn-unterstützten TestMappen auch manches anders lief als normal, aber das kann auch AutoImagination gewesen sein… ;-)
Mit der StandardFarbe hat das nur bedingt zu tun, denn letztlich gilt das Forma­tierungs­Verbot für alle Farb­Einträge. Was dein Xl12 hier macht, ist mir (vorerst) schleier­haft…?! Probier's mal mit Argumenten, viell hat dein Xl ein Schlupf­loch!?
rgbCornsilk ist eine der knapp Anderthalb­Hundert Fix­Farben der ab Xl12 neuen XlRgbColor-Enume­ration. Wenn du eine Variable derart deklarierst und ihr dann Werte zuweisen willst, zeigt dir der VBE-Intellisense die ganze Liste an. Die VBE-Hilfe hält ebenfalls eine Liste bereit, die auch die zugehörigen dt Farb­Namen enthält. Leider fehlt darin immer noch die Farbe des Uni­versums, Unibeige bzw Cosmic Latte wie sie von den Astronomen getauft wurde. Ich nenne sie Kosmobeige, weil ich kein Latte-Fan bin und die andere Variante nicht deutlich genug ist…
Endlich hat MS in der Beziehung mal gehandelt, denn in HTML gibt's schon lange eine Liste von Standard­Farben und Zeichen­Pgmm wie CorelDraw hatten schon vor Jahr­zehnten benannte Farben. In Xl sah man bisher immer nur ein paar Farb­Namen, die man aber nicht bzw nicht oW benutzen konnte. Ich hatte mir deshalb schon vor Jahren eine UDF geschrieben, die einer Farbe einen Farb­Namen zuordnen kann. Die muss ich jetzt wohl mal überarbeiten… ;-]
Morrn, Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige