Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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

Datum finden, Spalte zureuckgeben

Datum finden, Spalte zureuckgeben
abu
Hallo zusammen,
komm mal wieder nicht weiter und hoffe auf Eure Unterstuetzung.
Ich moechte gerne in einer Tabelle nach einem Datum suchen und mir dann die Spalte zurueckgeben lassen.
Es gibt ein Anfangsdatum (im Beispiel in Zelle RS2), alle folgenden werden von diesem berechnet.
https://www.herber.de/bbs/user/73599.xls
Zum suchen verwende ich diesen Code:
Set DatumFinder = Sheets("Daily KPI").Cells.Find(?, lookat:=xlWhole)
Spalte = DatumFinder.Column
Was muss statt dem ? da stehen damit ich die Daten finden kann? Ich bekomms nicht hin.
Hoffe ihr habt eine Loesung fuer mich.
Beste Gruesse
Abu
...Na What:= und das Datum, das du doch...
17.02.2011 10:16:57
Luc:-?
…aus RS2 lesen kannst, Abu;
With Sheets("Daily KPI")
Set DatumFinder = .UsedRange.Find(What:=.Range("RS2"), LookAt:=xlWhole)
End With
Statt UsedRange kannst du auch einen stärker eingegrenzten Suchbereich auf die übliche Weise angeben. Lies dazu unbedingt in der VBE-Hilfe nach! Da stehen noch ein paar wichtige Infos.
Gruß Luc :-?
Sorry, unverstaendlich ausgedrueckt.
17.02.2011 10:34:18
abu
Hallo Luc,
ich glaub ich hab mich da unverstaendlich ausgedrueckt.
Ich bereite Daten auf, oeffne die Datei und moechte dann die Daten in die richtige Spalte kopiert bekommen. Am Anfang gibt der User ein Datum ein, dieses soll dann spaeter in der Tabelle gefunden werden und mit der Spaltenangabe will ich dann die Daten in die richtige Spalte kopieren.
Zum Testen habe ich mir die Daten angeschaut wie Excel sie sieht und hab dann per String oder Datum suchen lassen aber er findet nichts.
Hoffe das war jetzt verstaendlicher...
Beste Gruesse
abu
Anzeige
Wenn er auch mit meinem Konstrukt nichts...
17.02.2011 10:46:51
Luc:-?
…findet, Abu,
ist das Datum entweder wirklich nicht vorhanden oder hat eine andere interne Form. Mit What:=.Range("RS2").Text findest du zu einem echten Datum in RS2 ein evtl existierendes Pendant in Textform, wenn das nicht noch andere (unsichtbare) Zeichen enthält. Sonst musst du das mal mit LookAt:=xlPart probieren.
Luc :-?
Hast Du eigentlich mal in die Datei reingeschaut?
17.02.2011 11:21:24
abu
Hallo Luc,
irgendwie verstehe ich Dich heute nicht.
In RS2 steht: 31-Jan oder 31-1-2011
In TU2 steht: 1-Feb oder =R2+1
Wenn ich mir die Zellen in VBA ausgeben lassen bekomme ich:
fuer RS2: 31-1-2011
fuer TU2: 1-2-2011
angezeigt, da nicht mit """ wird es wohl als Datum angesehen.
Da meine Versuche alle Fehlgeschlagen sind hier nun meine Frage an dich wenn du sie beantworten magst: Beipiel, ich will nach dem Datum 1-2-2011 suchen und die Spalte zurueckbekommen.
Wie muss die Suchfunktion aussehen?
Ich verstehe gerade nicht ob du mich auf den richtigen Weg bringen moechtest oder mir eine Lehrstelle erteilen willst oder ob wir total aneinander vorbei reden oder ich heute besser die Finger von VBA lassen sollte.
Gruesse
Abu
Anzeige
andere Variante
17.02.2011 11:40:17
CitizenX
Hallo Abu,
testweise hab ich zur Datumssuche mal eine Inputbox genommen..
Option Explicit

Sub ColumnDate()
Dim ColDate, myDate As Double

myDate = CDate(Application.InputBox("Bitte Startdatum eingeben.", "Datumseingabe", Type:=1))
ColDate = Application.Match(myDate, Sheets(1).Rows(2), 0)

If IsNumeric(ColDate) Then
    MsgBox "Datum in Spalte " & ColDate & " gefunden ."
Else
    MsgBox "Datum wurde nicht gefunden."
End If

End Sub

Grüße
Steffen
Anzeige
Steffen rockt!
17.02.2011 11:53:35
abu
Hallo Steffen,
super super super! Klappt 1a und ist auch schnurz wie ich das Datum eingebe, heisst ich kanns direkt mit meiner Inputbox machen die ich zu Anfang meines Codes nutze.
@Luc: Danke auch dir fuer die Muehen.
Beste Gruesse
Abu
Danke fürs Feedback-Grüße Steffen o.T
17.02.2011 12:02:41
CitizenX
Also LehrSTELLEN vergebe ich nicht, auch...
17.02.2011 12:05:35
Luc:-?
…wenn ich Erwachsene weiterbilden darf, Abu…! ;-)
Das Missverständnis liegt höchstwahrscheinlich daran, dass du dir noch keine rechte Organisation für die Suche überlegt hast, denn deine Datei enthält im Prinzip nichts, was ich auch nach deiner Beschreibung nicht vermutet hätte (bis auf VerbundZellen). Wenn du also statt UsedRange Range("R2:CQ2") schreibst und nach irgendeinem Datum, am besten über eine Eingabe (per InputBox) oder Notierung in einer best Zelle darin suchst, müsste eigentl wenigstens die 1.Zelle der VerbundZelle gefunden wdn oder ist deine Range-Variable dann Nothing!?
Ist Letzteres der Fall, liegt's wohl an den hier höchstwahrscheinl überflüssigen Verbundzellen oder an der in deinem Pgm nachfolgend nicht richtigen Ansprache derselben, was ich nicht sehen kann, da kein Pgm mitgepostet wurde.
Wenn in den Folgezeilen nicht gelegentl 2 Spalten pro Datum wirkl benötigt wdn, empfehle ich die Auflösung der VerbundZellen und Ersatz durch breitere Spalten, sonst ggf durch Format Über Auswahl zentrieren. Horizontale VerbundZellen sind nur dann notwendig, wenn sich Formeln der Spalten der Folgezeilen auf ihren Inhalt beziehen. Da könnte man sich die (Fml-)Arbeit erleichtern, wenn das Datum in jeder Zelle der VerbundZelle steht. Dann wird allerdings die Bildungsfml für das Datum etwas komplizierter (plus REST der Spalten-Division durch 2). Zur VerbundZelle macht man dann immer 2 Zellen anschließend mit dem Formatpinsel (Eräuterungen finden sich im Archiv). So sind dann dort jeweils 2 gleiche Datumsangaben enthalten, eine wird aber nur angezeigt!
Gruß Luc :-?
Anzeige
Ist 'Nothing'
17.02.2011 12:42:11
abu
Hallo Luc,
sollte natuerlich Lehrstunde bedeuten und nicht Lehrstelle.
Demnach muesste folgender Code, wenn ich per InputBox das Datum abfrage, funktionieren.
With Sheets("Daily KPI")
Set DatumFinder = .Range("R2:CQ2").Find(What:=KPIEingabe, LookAt:=xlWhole)
End With
DatumFinder ist aber 'Nothing' wie auch bei all meinen anderen Versuchen.
Am restlichen Code kanns auch nicht liegen, da ich zum testen ledigliche die Inputbox und das oeffnen der Datei im Code stehen habe.
Die Verbundzellen machen an dieser Stelle schon Sinn da in den Folgezeilen die Daten gesplittet werden, was du natuerlich nicht sehen konntest weil ich einfach alle Zeilen geloescht habe. Letztlich kanns aber auch nicht an den Verbundzellen liegen da ich diese bei meinen Versuchen aufgeloest habe. War auch meine Vermutung.
Was meinst du mit: "Organisation meiner Suche". Wenn ich schreibe ich moechte ein bestimmtes Datum in einer Tabelle suchen und mir die Spalte zureuckgeben lassen ist das doch organisiert oder nicht? Rein interessehalber vllt. faellt mir ja das programmieren leichter in Zukunft wenn ich mich besser Organisiere.
Beste Gruess
Abu
Anzeige
Gemeint war, was im Pgm vorher und nachher...
17.02.2011 12:58:35
Luc:-?
…steht, Abu,
aber nun hast du ja 'ne Lösung ohne Find, was hier ja auch einfacher ist. Ich habe auch ein Projekt mit Datum in im Kopf verbundenen Doppelspalten und suche da mit Find nach der ersten freien Spalte, was auch klappt, weil ich die Verbundzellen berücksichtige.
Der Fehler liegt dann wohl in einer Standardeinstellung von Find, die du nicht angegeben hast. Deshalb schrieb ich auch, dass du in die VBE-Hilfe sehen sollst → gibt's da nicht noch Parameter wie xlFormulas und xlValues…?
Luc :-?
...Folglich hätte die Frage lauten müssen...
17.02.2011 14:32:19
Luc:-?
…„Hast du die VBE-Hilfe gelesen?“, nicht, ob ich deine Datei gesehen hätte, Abu,
denn noch 3 weitere Parameter sind wichtig: After, LookIn:=xlFormulas bzw =xlValues und noch einer. LookIn steht bei dir mit Sicherheit auf xlFormulas, was du leicht nachprüfen kannst, indem du die Methode Suchen aus dem Menü Bearbeiten manuell aufrufst…
Deine Datumsformeln enthalten nunmal keinen Datumswert, deshalb wird auch nichts gefunden. Einen solch trivialen Anfängerfehler wollte ich dir nicht unterstellen, schon, weil ich dich ja auf die Hilfe hingewiesen hatte! Aber, dass du meinen Hinweis einfach ignorierst, lässt mich vermuten, dass du „ins Blaue hinein“ pgmierst, was auch Ausdruck einer gewissen bis ziemlichen Unorganisiertheit wäre… :->
Denk mal drüber nach!
Und Tschüss, Luc :-?
PS: …und ja, du solltest VBA (zumindest heute) lassen… ;->
Anzeige
Noe steht auf Values.
17.02.2011 15:47:52
abu
Hallo Luc,
nun du hast recht, ich habe mir die Hilfe nicht angeschaut. Mehr aus Zeitgruenden und der Tatsache das ich glaubte wir wuerden aneinander vorbei reden.
Ausserdem muss ich gestehen das ich mit der Hilfe oft nicht zurecht komme.
Ich gebe auch zu das ich ein: "Ins blaue hinein" bin. Ich beschaeftige mich lediglich auf der Arbeit mit Excel und das auch nur weil ich staendig mit Dingen zugemuellt werde die nicht sonderlich viel Kopfarbeit erfordern und sich staendig wiederholen. Um mich und meine Kollegen zu entlasten, hab ich angefangen mich mit VBA auseinanderzusetzen. Mein Level gebe ich auch immer mit VBA bescheiden an.
Vorschlag: Ich verspreche mich in Zukunft mehr mit der Hilfe auseinanderzusetzen und du zeigst mir eine Loesung die funktioniert ?
Ich hab nachgeschaut und bei mir steht: Values.
Gruesse
abu
Anzeige
Tja, dann tut's mir leid, bei mir fktt so etwas...
17.02.2011 18:37:12
Luc:-?
…Abu,
viell merkt sich VBA das ja auch extra (?); ist auf jeden Fall besser, das mit anzugeben.
Gruß Luc :-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige