Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1340to1344
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

.find methode findet falsche Spalte

.find methode findet falsche Spalte
01.01.2014 21:43:01
Albert
Guten Abend zusammen,
ich bastle grad mit der find-Methode und hab grad festgestellt, dass diese immer die falsche Spalte wiedergibt.
Beispiel: Ich suche nach einen Datum, welches in Spalte KW steht. Excel meldet aber KZ zurück.
Wie kommt das denn zustande?
Wär euch um Antwort echt dankbar!
Gruß
A.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .find methode findet falsche Spalte
01.01.2014 21:45:15
Matze
hallo Albert,
wie sieht denn dein find-Methode aus?
Matze

AW: .find methode findet falsche Spalte
01.01.2014 21:57:19
Albert
Hallo Matze,
ungefähr so...
Sub ausschnitt_vom_Code()
With Sheets("Regelschichtplan")
n = 100
'Datumsspalte ermitteln
Set rngDatum = .UsedRange.Find(what:=CDate(Wochenplan2.Label100.Caption), LookIn:= _
xlFormulas, lookat:=xlWhole, searchorder:=xlByRows)
If Not rngDatum Is Nothing Then
With .Range("D6:D200")
'Kunden in der Spalte suchen
Set rngName = rngDatum.EntireColumn.Find(what:="F", LookIn:=xlValues, lookat:= _
xlWhole)
If Not rngName Is Nothing Then
firstAddr = rngName.Row
Do
End Sub

Anzeige
AW: .find methode findet falsche Spalte
01.01.2014 22:04:26
Matze
Hallo Albert,
was mir so ohne das ich mich jetzt damit befassen werde,
das deine With Anweisungen kein End With haben.
Läuft der Code ohne Fehlermeldung durch ?
Matze

AW: .find methode findet falsche Spalte
01.01.2014 22:14:22
Albert
Hallo,
eigentlich war es nur ein Codeschnipsel...
Mit diesem Hilfscode hab ich die gefundene Spalte mal überprüft und hierbei ist mir aufgefallen, dass die falsche Spalte gefunden wird.
Sub Spalte_finden()
Dim Adr, SpaBu As String
'Ermitteln der momentan aktiven Zelle
Adr = .Cells(rngName.Row, rngDatum.Column).Address()
'Ermittlen des Spaltenbuchstabens
SpaBu = Mid(Adr, 2, InStr(2, Adr, "$") - 2)
MsgBox SpaBu
End Sub
Gruß
A.

Anzeige
Bitte VBA Profi ansehen,...
01.01.2014 22:30:00
Matze
Hallo Albert, Hallo Helfer,
ich komm hier nicht weiter, was nützen mir die Codezeilen wenn ich daraus nicht schlau werde.
Albert kannst du die Datei bitte einstellen, entferne relevante Daten oder ersetz die durch Musternamen usw.
So weis ich noch nicht einmal ob CDate(Wochenplan2.Label100.Caption) auch eine Datumsform enthält.
Im ersten Codeschnipsel fehlt nicht nur End With auch End IF
Vielleicht kann einer der Profis daraus sofort erkennen was du erreichen möchtest, ich nicht.
Matze

AW: Bitte VBA Profi ansehen,...
01.01.2014 22:34:32
Matze
Hallo Teste das mal Albert,
Sub ausschnitt_vom_Code()
With Sheets("Regelschichtplan")
n = 100
'Datumsspalte ermitteln
Set rngDatum = .UsedRange.Find(what:=CDate(Wochenplan2.Label100.Caption), LookIn:= _
xlFormulas, lookat:=xlWhole, searchorder:=xlByRows)
If Not rngDatum Is Nothing Then
With .Range("D6:D200")
'Kunden in der Spalte suchen
Set rngName = rngDatum.EntireColumn.Find(what:="F", LookIn:=xlValues, lookat:= _
xlWhole)
End With
If Not rngName Is Nothing Then
firstaddr = rngName.Row
End If
End If
End With
End Sub
Das " Do " ohne Loop hab ich überhaupt nicht verstanden, aber ich lerne falss ich falsch liege gerne dazu.
Gruß Matze

Anzeige
Danke Matze für deine Hilfe... gelöst
01.01.2014 22:47:56
Albert
Ich hab jetzt mal Gaudihalber den .UsedRange.Address kontrolliert.
Meine Güte, das ging ja bis DNJ...
Nachdem ich die "überflüssigen Spalten" gelöscht hab, funktioniert auch die Find-Methode wieder.
Danke nochmal und Gruß
A.

UsedRange
01.01.2014 23:04:11
Rudi
Hallo,
wenn sich
Adr = .Cells(rngName.Row, rngDatum.Column).Address()
auf Usedrange bezieht und der nicht in A1 beginnt, ist die falsche Angabe der Spalte logisch.
Einfaches Beispiel:
UsedRange: D1:H1; rngDatum=H2, somit rngDatum.Column=8. Die achte Spalte ab D gerechnet ist aber K!!!!
Einfache (korrekte) Gegenprüfung mit Msgbox rngDatum.Address.
Gruß
Rudi

Anzeige
OT: Alter Thread
04.01.2014 18:57:53
Erich
Hi Albert,
hast du noch Interesse am Thema " Suchen in Schleife" in diesem Thread vom Dezember?
https://www.herber.de/forum/archiv/1340to1344/t1342896.htm
Dann habe ich dazu (hauptsächlich zu UserForm) schon mal ein paar Fragen:
Frage 1:
Stehen im Bereich Regelschichtplan!E4:IV4 immer fortlaufende Tage, ausgehend vom Startdatum in E4?
Dann muss dort kein Datum gesucht werden - man kann die Position (Spalte) eines Datums direkt ausrechnen.
aktDat - "01,01,2013" + 5
Frage 2: (zu SpinButton1_SpinDown())
In der UF werden die Tage ab dem Tag in "AktuellesDatum" absteigend angezeigt,
wenn der Spin-Button nach links gedrückt wurde. Soll das so sein?
Frage 3:
Wenn in der UF der 02.01.2013 ausgewählt wurde, dann Spin abwärts, steht in der 1. Button-Spalte der 01.01.2013.
Rechts davon kommen dann: 31.12.2012 30.12.2012 usw.. Soll es möglich sein, vor den zulässigen Zeitraum zu gelangen?
Wenn als Datum der 09.09.2013 vorgegeben wird und die Tage aufsteigend angezeigt werden, geht das bis zum 15.09.2013,
obwohl Daten nur bis zum 09.09.2013 vorhanden sind. Soll dat?
Da immer 7 Tage angezeigt werden, sollten immer alle 7 Tage im zulässigen Zeitraum liegen.
Noch ein paar Bemerkungen zum Code:
Bem. 1:
Im Modul der UF Wochenplan2 ist "With Wochenplan" absolut überflüssig.
Auch "Me". muss nicht sein.
Bem. 2:
Mit "Dim X, Y As Long" wird X als Variant deklariert, nicht als Long.
Wenn X Long sein soll, muss man "Dim X As Long, Y As Long" schreiben!
Bem. 3:
Mit Loop While rngName Is Nothing And rngName.Row <> firstAddr
versuchst du, die Zahl ...Row zu vergleichen mit dem Text firstAddr. Die beiden können NIE gleich sein.
Du hst oben ja mit "Dim firstAddr As String" firstAddr als Text festgelegt.
In einigen Teilen habe ich neuen Code geschrieben. Ob er sinnvoll ist,
hängt von den Antworten auf die Frage ab.
Sorry für die lange Wartezeit! :-(
Noch eine Anregung:
Da das hier mit dem jetzigen Thread nichts zu tun hat und ich hier nur wieder Kontakt zu dir
aufnehmen möchte, solltest du vielleicht einen neuen Thread zum alten Thema starten.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
ERICH=> Lösung gefunden! owT
07.01.2014 01:45:34
Albert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige