Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Finde Frage nicht mehr

Finde Frage nicht mehr
05.05.2008 16:55:29
Nepumuk
Hi,
hier hat jemand nachgefragt, wie man aus dem Wert eine Konstante den Namen herausbekommt. Ich hatte keine Zeit, zum antworten und jetzt finde ich die Frage nicht mehr. Trotz google und allem pipapo.
Gruß
Nepumuk

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Finde Frage nicht mehr
05.05.2008 17:36:26
Erich
Hi Max,
die von dir gesuchte Frage habe ich auch nicht gefunden - deshalb: offen.
Ich habe eine Bitte an dich: Würdest du dir bitte mal zwei Mappen zu
https://www.herber.de/forum/archiv/972to976/t974186.htm#974488
und dem folgenden Beitrag anschauen?
Es geht die Find-Methode, speziell um die Mappen
https://www.herber.de/bbs/user/52074.xls und https://www.herber.de/bbs/user/52098.xls
Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Finde Frage nicht mehr
05.05.2008 18:21:17
Nepumuk
Hallo Erich,
das Problem mit deutschem Zahlenformat und englischem/amerikanischen VB. Bringt mich auch immer wieder zur Verzweiflung. Das wird besonders beim Autofilter ganz deutlich. Aber gerade was Formeln anbelangt sollten die Nachkommastellen nicht per Format, sondern per "KÜRZEN" abgeschnitten werden. Dann passt das wieder. Excel ist sowieso ungeeignet komplizierte Mathematische Berechnungen durchzuführen, dazu gibt es spezielle Programme. Darum schadet es in den wenigsten Fällen alles was mehr als zwei Nachkommastellen hat erst zu runden und dann abzuschneiden.
Gruß
Nepumuk

Anzeige
AW: Find-Methode
05.05.2008 18:50:00
Erich
Hallo Max,
da ging es mir nicht um deutsch/englisch, auch nicht um Runden und Kürzen,
sondern um das richtige Verständnis der Find-Methode.
Ein Beispiel: Der Wert 0,5 der Formel "=1/2" wird nicht gefunden, wenn die Zelle mit "0%" formatiert ist.
Meine daraus (und ein paar weiteren Beispielen) resultierende Meinung:
Find() eignet sich nicht zur Zahlensuche, wenn man auch Formelergebnisse finden
und von Zellformaten unabhängig sein will.
Was meinst du dazu?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Finde Frage nicht mehr
05.05.2008 19:24:00
Erich
Hi Max,
noch ein Beispiel zur Klarstellung - ohne Nachkommastellen:
Das Ergebnis 12345678 der Formel "=2*6172839" wird bei der Suche nach 12345678 nicht gefunden,
wenn die Zelle z. B. mit "000 000 00" formatiert ist.
Das Suchergebnis ist abhängig vom Zahlenformat. VBA-Find() verhält sich ebenso.
Wenn ich in einer Prozedur Find() verwende und der Benutzer Zahlenformate ändern kann,
kann ich das Suchergebnis nicht vorhersehen, und verfahre besser so,
wie du das hier auch schon vorgeschlagen hast:
Einlesen des Bereichs in ein Array, Schleife mit direktem Vergleich.
Dabei kann man dann auch gleich etwa per Abs(Zellwert-Suchwert)<1E-12 eine max. Differenz vorgeben,
um "Suchfehler" aufgrund notwendig ungenauer Darstellungen von Nachkommastellen zu vermeiden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.: Max' ursprüngliche Frage ist noch offen.

Anzeige
AW: Finde Frage nicht mehr
05.05.2008 22:48:00
Nepumuk
Hallo Erich,
ich kann natürlich in so eine Mehtode nicht reinschauen, um zu sehen, was da abläuft. Hat aber was mit der Formel zu tun, denn wenn ich das in deinem Beispiel durch einen Festwert ersetze, dann klappt das zu 100% egal wie du suchst.
Gruß
Nepumuk

AW: Suche nach Zahlen ist formatabhängig
06.05.2008 07:19:00
Erich
Hallo Max,
sorry, da muss ich dir wieder widersprechen - 100% ist zu viel!
Wenn du in zwei Zellen die Zahlen 1234 und 0,5 schreibst und die Zellen mit 00 00 bzw. 0, 0 formatierst,
gibt es mit "Suche in: Werte" keinen Treffer, wenn du die Zahlen suchst.
Mit Formeln in Zellen hat das gar nichts nichts zu tun.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Suche nach Zahlen ist formatabhängig
06.05.2008 08:13:00
Nepumuk
Hallo Erich,
ich habs versucht. Bei mir wird 0,5 gefunden und zwar in jedem nur erdenklichen Format.
Gruß
Nepumuk

Suche nach Zahlen ist formatabhängig
06.05.2008 08:44:00
Erich
Hi Max,
sollte das versionsabhängig sein? Das kann ich nicht glauben. (Ich arbeite noch mit XL2002.)
Stehen bei dir wirklich die Leerzeichen in den Zahlenformaten, und hast du wirklich mit der Suchoption
"Suche in: Werte" gesucht?
0,5 wird übrigens bei "Suche in: Werte" auch nicht gefunden, wenn die Zelle als Prozent "0%" formatiert ist.
(schreibt auch Ramses...)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
Suche nach Zahlen ist formatabhängig
06.05.2008 12:46:34
Erich
Hallo Max,
noch ein kleiner Scherz, der zeigt, dass auch das Finden von Zeichenketten von der Formatierung abhängt:
Schreib mal in eine Zelle abc, formatier die Zelle mit ;;; und such dann nach abc - aber mit "Suche in: Werte".
Meine Vermutung:
Excel - und auch VBA-Find() - erstellen aus dem Suchbegriff eine Zeichenkette (falls es nicht schon eine ist),
evtl. ähnlich wie CStr, und suchen dann diese Zeichenkette in den Zeichenketten, die aus Werten und
Formatierungen der Zellen im Suchbereich resultieren. Das passiert auch bei Zahlen, sowohl beim Suchbegriff
als auch im durchsuchten Bereich.
Einen kleinen Hinweis darauf gibt auch die Eigenschaft, dass Excel mit xlPart auch eine einzelne Ziffer
in einer Zahl findet.
Die Ziffer ist einfach ein Teilstring. Was sonst sollte "xlPart" bei einer Zahl bedeuten?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
noch offen (owT)
10.05.2008 16:53:00
Erich

AW: noch offen (owT)
11.05.2008 00:31:00
Gerd
Hallo Erich,
wenn man die Formeln durch ihre Werte ersetzt u. sucht in den xlFormulas kommt man am besten hin.

Sub TestenFindMethodX()
Dim c As Range
Dim findAdr As String
Dim Findwert As Double
Dim ErAdr1, ErAdr2 As Integer
Findwert = 1.11 / 2
Range("B1:B28,D1:D28,F1:F28,H1:H28,J1:J28").ClearContents
With Range("A1:A28,C1:C28,E1:E28,G1:G15,G1,G1:G28,I1:I28")
.Value = .Value
Set c = .Find(Findwert, LookIn:=xlFormulas, lookat:=xlWhole)
If Not c Is Nothing Then
findAdr = c.Address
ErAdr1 = c.Row
ErAdr2 = c.Column + 1
Do
Cells(ErAdr1, ErAdr2).Value = "gefunden"
Cells(ErAdr1, ErAdr2).Font.ColorIndex = 11
Set c = .FindNext(c)
ErAdr1 = c.Row
ErAdr2 = c.Column + 1
Loop While Not c Is Nothing And c.Address  findAdr
End If
End With
Set c = Nothing
End Sub


Gruß Gerd

Anzeige
AW: noch offen (owT)
11.05.2008 00:35:09
Gerd

AW: noch offen (owT)
11.05.2008 09:23:55
Erich
Hallo Gerd,
ja, das ist schon klar.
Nur: Die Formeln sind dann weg.
Wenn man die Formeln beibehalten möchte, macht man die Ersetzung duch die Werte und dann auch das Suchen
besser in einer Kopie des betrachteten Tabellenblatts.
Es gibt sicher etliche Wege, so ein Problem zu lösen.
Ich wollte hier tatsächlich nur zeigen, dass beim Suchen bzw. Find nach xlValues ein Problem existiert.
Fröhliche Pfingsten! - Grüße von Erich aus Kamp-Lintfort

Wer sucht der findet, aber...
05.05.2008 20:55:00
Renee
nur wenn sie weiss um was es ging?
Hallo Max,
Mit ziemlich grosser Wahrscheinlichkeit meinst du das hier ?
GreetZ Renée ;-)

Anzeige
AW: Wer sucht der findet, aber...
05.05.2008 22:53:00
Nepumuk
Hi ihr zwei,
ich meinte schon den Link von Renée. Ist das schon so lange her? Naja in meinem Alter da alzheimerts schon manchmal.
Für euer Archiv, falls mal wieder nachfragt, das geht so:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub test()
    'benötigt einen Verweis auf TypLib Infomation
    Dim objTypeLibApp As TLIApplication, objTypeLibInfo As TypeLibInfo
    Dim objConstantInfo As ConstantInfo, objMemberInfo As MemberInfo
    Set objTypeLibApp = New TLIApplication
    Set objTypeLibInfo = objTypeLibApp.TypeLibInfoFromFile("C:\Programme\Microsoft Office\OFFICE11\EXCEL.EXE")
    For Each objConstantInfo In objTypeLibInfo.Constants
        If objConstantInfo.Name = "XlChartType" Then
            For Each objMemberInfo In objConstantInfo.Members
                Debug.Print objMemberInfo.Name, objMemberInfo.Value
            Next
            Exit For
        End If
    Next
    Set objTypeLibApp = Nothing
End Sub

Gruß
Nepumuk

Anzeige
Wie heisst die "TypLib Info" genau ?
06.05.2008 00:21:00
NoNet
Hallo Max,
ich wollte Dein Beispiel eben starten, kann jedoch kein "TypLib Info" finden :-(
Wie heisst dieser Verweis denn exakt ? Etwa mit "Microsoft"-Prefix oder sonstiges ?
Oder poste doch bitte einfach mal die genau Location der referenzierten Datei (DLL ? / OCX ? ... ?).
Oder ist diese Datei etwa Bestandteil einer Visual Studio xxx.yyy Version ?
Ich habe das unter Windows Vista Home Premium und Excel 2007 gesucht, aber nicht gefunden. Unter welcher Version hast Du das erstellt ?
Vielen Dank und Gute Nacht,
Liebe Grüße,
NoNet

AW: Wie heisst die "TypLib Info" genau ?
06.05.2008 08:11:24
Nepumuk
Hallo NoNet,
guckst du (Ich unter xl2003 WinXP unter Win2000 hab ich sie auch gefunden):
Userbild
Gruß
Nepumuk

AW: Wie heisst die "TypLib Info" genau ?
06.05.2008 17:53:00
NoNet
Hallo Nepumuk,
Danke für die Info ! Es scheint tatsächlich, als fehle diese Datei (und damit die Möglichkeit des Verweises) unter Office 2007 :
Hier bei unserer Arbeit finde ich die Datei tlbinfo32.dll unter WinXP + Office 2003 Prof. im gleichen Verzeichnis und auch der Verweis darauf funktioniert.
Userbild
Auf dem 2. PC mit WinXP + Office 2007 Enterprise (Testversion) ist sie nicht vorhanden - ergo fehlt auch die Verweismöglichkeit, ebenso wie auf meinem Home-PC mit Windows Vista + Office 2007 Prof. (Vollversion).
Danke für deine Rückmeldung, Gruß NoNet

AW: "TypeLib Info" kommt mit VB6
06.05.2008 23:27:48
Nepumuk
Hi,
das haben die aber zu 100% von mir abgekupfert. Das sieht nämlich ganauso aus wie meine ersten Tests. Wobei ich meine Hinweise wie's funktionieren könnte aus einem C# Programm habe.
Gruß
Nepumuk

Vielen Dank für diese weiterführende Info
07.05.2008 00:15:37
NoNet
Hallo Erich,
Danke für die Info und für die Links. Dann scheint evtl. doch meine erste Vermutung bzgl. der Herkunft (VisualStudio/VisualBASIC) zu stimmen.
Habe auf meinem Office2007-PC (unter WinXP) allerdings auch die neueste VisualStudio 2008 Express installiert und dennoch keine entsprechende Datei gefunden. Gab's die möglicherweise nur in oder bis zur Version VB6.0 ?
Salut, NoNet

AW: Vielen Dank für diese weiterführende Info
07.05.2008 09:09:00
Nepumuk
Hallo NoNet,
ich hab die auf einem Rechner gefunden, auf dem definitif kein VB istalliert ist. Aber Office2000. Das dieses ja auch auf VB6 basiert, ist es anscheinend Bestandteil des Officepaketes. Aber anscheinend nicht mehr in Office2007.
Gruß
Nepumuk

AW: TypeLib-Info in Office-Paket?
07.05.2008 11:03:00
Erich
Hallo Max und NoNet,
auch bei Office XP gehört die DLL wohl nicht zur "Standardausrüstung".
Mit der VBA-Installation ist die tlbinfo32.dll jedenfalls nicht gekommen.
Ich habe sie nicht auf dem Rechner.
@Max: Hast du doch noch mal mit meinem "Find-Problem" beschäftigt?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Höchstens Alzheimer Light...
06.05.2008 08:31:04
Renee
, Max
so lange ist's noch nicht her: 19.04.2008 , also besteht noch Hoffnung auf Linderung ;-)
GreetZ Renée

AW: Wer sucht der findet, aber...
12.05.2008 03:28:38
Case
Hallo,
nur als Ergänzung fürs Archiv. Damit habe ich sehr erfolgreich meine ersten Gehversuche gemacht. Sind viele Codebeispiele drin:
http://support.microsoft.com/kb/224331/en-us/
Servus
Case

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige