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

Set c = .Find("x", LookIn:=xlValues)

Set c = .Find("x", LookIn:=xlValues)
01.05.2008 21:29:00
Sonnenpeter
Hallo,
ich habe mir eine Suchschleife eingerichtete
Set c = .Find("x", LookIn:=xlValues)
If Not c Is Nothing Then

Funktioniert einwandfrei
Set x = .Find("0.5", LookIn:=xlValues)
If Not x Is Nothing Then

Funktioniert leider nicht
Set x = .Find("0.5", LookIn:=xlValues, LookAt:=xlWhole)
If Not x Is Nothing Then

Funktioniert leider nicht
Was mach ich nun wieder falsch?
Gruß´SP

28
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag
01.05.2008 21:30:00
Sonnenpeter
Set c = .Find("x", LookIn:=xlValues)
If Not c Is Nothing Then
Funktioniert einwandfrei
Set x = .Find("0,5", LookIn:=xlValues)
If Not x Is Nothing Then
Funktioniert leider nicht
Set x = .Find("0,5", LookIn:=xlValues, LookAt:=xlWhole)
If Not x Is Nothing Then
Funktioniert leider nicht

AW: Nachtrag
01.05.2008 21:35:10
ramses
Hallo
Das funktioniert einwandfrei, solange der Suchbereich korrekt definiert ist, bzw. der Suchbegriff dort vorkommt
Gruss Rainer

AW: Nachtrag
01.05.2008 22:03:00
Sonnenpeter
Jo und ich werd noch wahnsinnig :-(
So sind die Daten untergebracht.
Urlaubsdaten

 GH
2April 
3Di.01.04.2008 
4Mi.02.04.2008x
5Do.03.04.2008 
6Fr.04.04.2008 
7Sa.05.04.2008 
8So.06.04.2008 
915 KW 
10Mo.07.04.2008 
11Di.08.04.2008 
12Mi.09.04.2008 
13Do.10.04.2008 
14Fr.11.04.2008 
15Sa.12.04.2008 
16So.13.04.2008 
1716 KW 
18Mo.14.04.2008x
19Di.15.04.2008x
20Mi.16.04.2008x
21Do.17.04.2008 
22Fr.18.04.2008 
23Sa.19.04.2008 
24So.20.04.2008 
2517 KW 
26Mo.21.04.20080,50
27Di.22.04.2008 
28Mi.23.04.2008 
29Do.24.04.2008 
30Fr.25.04.2008 
31Sa.26.04.2008 
32So.27.04.2008 
3318 KW 
34Mo.28.04.2008 
35Di.29.04.2008 
36Mi.30.04.2008 
37  
38  
39  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß SP

Anzeige
AW: Nachtrag
01.05.2008 22:15:42
Reinhard
Hi Peter,
wenn H25 als Text formatiert ist, klappt es nicht.
Gruß
Reinhard

AW: Nachtrag
01.05.2008 22:22:45
ramses
Hallo
Schöne Tabelle,... aber zeig doch endlich mal den Code den du verwendest
Gruss Rainer

AW: Nachtrag
01.05.2008 22:30:00
Sonnenpeter
Hallo Rainer,
ich glaube es liegt mal wieder der Zahlenformatierung.
Wenn ich das Zellformat auf Standard setze funzt es.
Was ist zu tun wenn ich das Zahlenformat "0,00" bebehalten möchte bzw. muss.
Gruß SP

AW: Nachtrag
01.05.2008 22:36:00
Ramses
Hallo
Du solltest das tun, um was ich dich gebeten habe.
Das Zellformat ist völlig unerheblich solange der Suchbegriff und der Suchbereich korrekt ist.
Gruss Rainer

Anzeige
AW: Nachtrag
01.05.2008 22:43:43
Sonnenpeter
Hallo Rainer,
jetzt steh ich aber total auf dem Schlauch.
In der Tabelle ist 0,50 zu sehen.
In der Eingabeleiste ist 0,5 zu sehen.
Gruß SP

Ich steige hier aus...
01.05.2008 22:52:00
Ramses
Hallo
... das macht für mich keinen Sinn hier zur Lösung beitragen zu wollen, wenn du nicht die Informationen bringst die zur Lösung benötigt werden.
Gruss Rainer

AW: Nachtrag
01.05.2008 22:55:00
Nepumuk
Hi,
nicht nachvollziehbar. Selbst wenn ich das als Währung mit € - Zeichen hinten dran formatiere wird der Werk korrekt gefunden.
Du könntest die Zellen aber auch in ein Array einlesen und dieses Array durchsuchen. Die Find - Methode ist erst ab 100.000 Zellen schneller als lineares durchsuchen eines Arrays.
Gruß
Nepumuk

Anzeige
AW: Nachtrag
01.05.2008 23:15:00
Reinhard
Hallo Rainer,
*hmmh* meine reichlichen Kenntnisdefizite vbamäßig gesehen zu dir daniel und nepumuk sind mir klar.
Trotzdem wage ich es dir zu widersprechen, die Zellformatierung ist m.E. nicht egal, denn als Text formatiert findet der Code den Zellwert nicht.
@Peter: Abhilfe wäre nicht nach xlwhole sondern nach xlPart zu suchen.
@peter2: Es gibt da was wie den Wald vor lauter Bäumen nicht sehen, zu sehr im Problem verfangen sein und ähnliche Formulierungen für die gleiche Problematik. Drucke dir dei Beitagsfolge aus, zeige sie einem deiner Vertrauten, der kann auch Null Ahnung von Excel haben, und denk drüber nach wenn er sagt "Die bieten dir an dir zu helfen, du sollst denen nur eine Beispielsmappe, was immer das auch ist, zeigen WARUM machste das nicht !? "
Gruß
Reinhard

Anzeige
AW: Nachtrag
01.05.2008 23:23:00
Gerd
Hallo Reinhard,
teste bitte mal.
Sub a() Dim x As Range MsgBox Columns(2).NumberFormat On Error Resume Next Set x = Columns(2).Find(0.5, LookIn:=xlFormulas, lookat:=xlWhole) On Error GoTo 0 If Not x Is Nothing Then MsgBox x.Row Else MsgBox "Nix gefunden" End If End Sub


Gruß Gerd

AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 21:33:00
Nepumuk
Hallo Sonnenpeter,
so:
Public Sub test()
    Dim x As Range
    Set x = Cells.Find(What:=0.5, LookIn:=xlValues)
    If Not x Is Nothing Then MsgBox x.Address
End Sub

Gruß
Nepumuk

Anzeige
AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 22:07:00
Sonnenpeter
Hallo Nepumuk,
es funzt leider nicht :-(
Urlaubsdaten

 GH
2April 
3Di.01.04.2008 
4Mi.02.04.2008x
5Do.03.04.2008 
6Fr.04.04.2008 
7Sa.05.04.2008 
8So.06.04.2008 
915 KW 
10Mo.07.04.2008 
11Di.08.04.2008 
12Mi.09.04.2008 
13Do.10.04.2008 
14Fr.11.04.2008 
15Sa.12.04.2008 
16So.13.04.2008 
1716 KW 
18Mo.14.04.2008x
19Di.15.04.2008x
20Mi.16.04.2008x
21Do.17.04.2008 
22Fr.18.04.2008 
23Sa.19.04.2008 
24So.20.04.2008 
2517 KW 
26Mo.21.04.20080,50
27Di.22.04.2008 
28Mi.23.04.2008 
29Do.24.04.2008 
30Fr.25.04.2008 
31Sa.26.04.2008 
32So.27.04.2008 
3318 KW 
34Mo.28.04.2008 
35Di.29.04.2008 
36Mi.30.04.2008 
37  
38  
39  


Excel Tabellen im Web darstellen >>
Excel Jeanie HTML 4

Kann es daran liegen, dass ich erst "x" suche und dann 0,5?
Gruß SP

Anzeige
AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 22:10:34
Nepumuk
Hallo Sonnenpeter,
dann ist mir nicht klar, was du eigentlich suchst.
Ist die 0,5 ein formatierter Wert mit mehreren Dezimalstellen?
Gruß
Nepumuk

AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 22:20:00
Sonnenpeter
Hallo nochmal,
der Zellwert = 0,5
Gruß SP

AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 22:32:00
Gerd
Hallo Sonnenpeter,
wie kommen die Werte in Spalte "B" rein ?
Du hast das Pünktchen im Code von Nepumuk nicht übersehen ?
Wie sind die Einstellungen im Dialog "Suchen" ?
Gruß Gerd

AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 22:41:22
Sonnenpeter
Hallo Gerd,
nein, den Punkt "0.5" habe ich nicht übersehen.
Wie oben schon geschrieben, wenn ich die Zellen auf Standard setze funzt der Code.
Setze ich die Zellen auf das Zahlenformat "0,00" funzt der Code nicht.
Das Zahlenformat "0,00" sollte aber beibehalten werden :-(
Gruß SP

Anzeige
AW: Hol' 's der Geier!
01.05.2008 23:00:07
Gerd
Hallo Sonnenpeter,
on error resume next
Set x = Columns(2).Find(0.5, LookIn:=xlFormulas, lookat:=xlWhole)
on error goto 0
wieder Sonne?
Gruß Gerd

AW: Set c = .Find("x", LookIn:=xlValues)
01.05.2008 21:40:34
Daniel
Hi
was du falsch machst?
du postest unvollständige Codeschnipsel und hängst keine Beispieldatei an, an der man deine Daten sehen kann.
so ist Fehlersuche reine Rumraterei
Gruß Daniel

AW: Set c = .Find("x", LookIn:=xlValues)
02.05.2008 13:58:00
Sonnenpeter
Hallo an alle die an diesem Beutrag beteiligt waren.
Nach dem ich LookAt:=xlPart eingefügt habe funzt es Problemlos
Set c = .Find(0.5, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Warum? Ich mit meinen bescheidenen VBA- Kenntnissen kann die Frage nicht beantworten!
Wer meine Beiträge kennt, weiss das ich immer bemüht bin den kompletten VBA-Code der Fragestellung einzufügen.
Das war mir in diesem Fall leider nicht möglich. Ich hätte zum einen3 Arbeitsmappen einstellen müssen.
(Datenauswertungen und Datenabgleiche)
Das Excel mein Hobby ist und ich nur versuche meine Büroarbeit damit zu erleichtern und etwas schneller zu gestallten versuche habe ich auch schon mehrmals erwähnt.
Leider wird der Leistungsdruck in den Büros immer größer, ausscheidende Mitarbeiter werden nicht mehr ersetzt etc., der ein oder andere von euch kennt das sicherlich auch.
Unsere EDV-Leute beschränken sich in der Regel nur auf das Netzwerk und sind oftmals auch total überlastet.
Nun ja, warum schreib ich das eigentlich. Ich muss, darf, kann froh sein das ich noch Arbeit habe :-)
Danke für eure Unterstützung!
Gruß Sonnenpeter

Anzeige
Ja, das kenne ich,...
02.05.2008 18:25:43
Luc:-?
...Peter!
Hoffentlich wird dir diese Mühe auch gedankt und du nitiierst damit nicht einen Teufelskreis von auch auf Grund deines so höheren Arbeitstempos ständig steigenden Anforderungen... ;-)
Keiner hat ja Zeit, die Arbeit rationell zu organisieren, und so dauern manche Arbeiten eine Woche, für die man mit Organisation und VBA 1-2 Tage für die Vorbereitung und 10 min für die Durchführung brauchen würde. Macht das Einer so, wird's vom Nächsten auch verlangt, obwohl der gar nicht weiß wie. Denn bei normalen Office-Schulungen wird das Thema VBA aus Zeitmangel idR eher gar nicht behandelt.
Gruß Luc :-?
PS: Man kann eine solche Praxis auch Rationalisierungseffekte nutzen ohne zu rationalisieren nennen...

Anzeige
AW: Find hängt doch vom Format ab!
02.05.2008 18:33:12
Erich
Hi Sonnenpeter,
oft habe auch ich bisher behauptet, dass der Sucherfolg bei Find nur von den beteiligten Werten abhängt.
Durch deine Frage hab ich einmal mehr rumprobiert und das Ergebnis im Betreff bekommen.
Der folgende Code zeigt das:

Option Explicit
Sub TestFind()
Dim rngF As Range, lngZ As Long
Columns(2).Clear
Cells(5, 2).Formula = "=1.11/2"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.0"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.00"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.000"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.0000"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
End Sub
Sub DoIt(enuWhole As XlLookAt, zz As Long)
Dim rngF As Range
Set rngF = Columns(2).Find(What:=Cells(5, 2).Value, After:=Cells(1, 2), LookIn:=xlValues, _
LookAt:=enuWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
zz = zz + 1
Cells(zz, 4) = "'" & Cells(5, 2).NumberFormat
Cells(zz, 5) = IIf(enuWhole = xlWhole, "xlWhole", "xlPart")
If rngF Is Nothing Then
Cells(zz, 6) = "Nein"
Else
Cells(zz, 6) = rngF.Address
End If
End Sub

Da kommt dabei heraus:

 BCDEF
1  GeneralxlWhole$B$5
2  GeneralxlPart$B$5
3  0xlWholeNein
4  0xlPartNein
50,5550 0.0xlWholeNein
6  0.0xlPartNein
7  0.00xlWholeNein
8  0.00xlPartNein
9  0.000xlWhole$B$5
10  0.000xlPart$B$5
11  0.0000xlWholeNein
12  0.0000xlPart$B$5

Formeln der Tabelle
ZelleFormel
B5=1,11/2

Und hier die Mappe zum Spielen: https://www.herber.de/bbs/user/52034.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Das entbehrt ja auch nicht einer gewissen...
Luc:-?
...Logik, Erich,
wobei es da sicher Grenzen gibt (z.B. Datum als Text in als Datum formatierten Zellen suchen). Außerdem mögen mitunter noch die Formatunterschiede zwischen xl und vba eine Rolle spielen (z.B. Standard nicht General, sondern General Number).
Gruß Luc :-?

Find hängt doch vom Format ab! (noch offen)
03.05.2008 07:36:46
Erich

AW:der Suchwert spielt eine große Rolle
03.05.2008 08:47:00
Tino
Hallo,
ich sehe eher dass Problem in den Suchbegriffen.
„0.5“ – „0,5“ – 0.5
Gibt man diese an eine Variable vom Typ Double, sieht man dass einige angaben nicht funktionieren können.
Dim meWert As Double, meZell As Range
meWert = "0.5" 'als String geht so nicht, gibt den Wert 5 zurück
meWert = "0,5" 'als String geht, gibt den Wert 0,5 zurück
meWert = 0.5 'als Zahl geht, gibt den Wert 0,5 zurück
entsprechend, fällt auch dass Suchergebnis aus
Set meZell = Range("e:e").Find(What:=meWert, LookIn:=xlFormulas, _
LookAt:=xlWhole)
If Not meZell Is Nothing Then
MsgBox meZell.Address
End If
ich lasse die Frage mal offen!
Gruß
Tino

AW: AW:der Suchwert spielt eine große Rolle
03.05.2008 10:52:54
Tino
Hallo,
Beitrag stand doch noch auf offen?
Gruß
Tino

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige