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

Vergleichen mit Liste in Array

Vergleichen mit Liste in Array
29.11.2003 23:02:59
Hans-Jörg
Hallo,
Habe eine Abfrage die in eine Zelle einen Wert schreibt wenn....
Frage: wie kann ich dies eleganter Lösen?
z.B. wenn ich eine Liste in einem Parameterblatt anlege ?
Jan - 01
Feb - 02
Mrz - 03
usw....

Danach diese liste in ein Array packe und zum Vergleich verwende.

Jetzt habe ich folgenden Weg:

Sub bereichSuche
If InStr(1, strfile, "March") > 1 Then Monat = "03"
If InStr(1, strfile, "march") > 1 Then Monat = "03"
If InStr(1, strfile, "April") > 1 Then Monat = "04"
If InStr(1, strfile, "april") > 1 Then Monat = "04"
If InStr(1, strfile, "May") > 1 Then Monat = "05"
If InStr(1, strfile, "may") > 1 Then Monat = "05"
If InStr(1, strfile, "June") > 1 Then Monat = "06"
If InStr(1, strfile, "june") > 1 Then Monat = "06"
If InStr(1, strfile, "July") > 1 Then Monat = "07"
If InStr(1, strfile, "july") > 1 Then Monat = "07"
If InStr(1, strfile, "Aug") > 1 Then Monat = "08"
If InStr(1, strfile, "aug") > 1 Then Monat = "08"
If InStr(1, strfile, "Sep") > 1 Then Monat = "09"
If InStr(1, strfile, "sep") > 1 Then Monat = "09"
If InStr(1, strfile, "Okt") > 1 Then Monat = "10"
If InStr(1, strfile, "okt") > 1 Then Monat = "10"
End Sub

strfile = Dateiname
Ist dies vieleich mit einem Dreizeiler machbar?
Vielen Dank
Hans-Jörg

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichen mit Liste in Array
29.11.2003 23:12:59
Ramses
Hallo

zumindest eine Halbierung mit der Anweisung

If InStr(1, UCase(strfile), "MARCH") > 1 Then Monat = "03"

Mit UCase wandelst du den String in Grossbuchstaben um, damit entfällt die prüfung auf die Kleinschreibung.

Die Frage ist für mich:
Wo kommen diese Strings her ? Allenfalls liese sich das ganze noch viel einfacher lösen.

Gruss Rainer
AW: Vergleichen mit Liste in Array
29.11.2003 23:27:10
hans-Jörg
Hallo Rainer,
vielen Dank.
Damit sind tatsächlich 50% erschlagen.
Hans-Jörg
AW: Vergleichen mit Liste in Array
29.11.2003 23:20:11
RAnton
Hallo Jörg,

ich hab zwar dein Problem nicht ganz verstanden, aber vielleicht hielft folgender Ansatz.


Sub test()
Dim TestClasses As New Collection
Dim s As String
TestClasses.Add "03", "march"
TestClasses.Add "04", "april"
s = TestClasses.Item("March")
End Sub


Gruß
RAnton
Anzeige
AW: Da komm ich jetzt auch nicht mit
29.11.2003 23:40:29
Hans-Jörg
Hallo Anton,

Mein Problem ist:
Ich lade alle Excelmappen eines Verzeichnisses nacheinander, ziehe mir die relevanten Datensätze heraus und packe diese in eine Sammelmappe.
Jeder Dateiname enthält den Monat in dem diese Datei erstellt wurde.
ich muß diesen Monat im Dateiname finden und als Zahl in eine Zelle der Datensätze schreiben. Dabei kann der erste Buchstabe des Monats mal klein mal groß geschrieben sein.
Mein Gedanke:
wenn ich eine Liste erstelle indem ich schreibe
Jan = "01"
Feb = "02"
usw.
dies in ein Array packe. Könnte ich doch den Dateiname mit der Liste in diesr ArrayVariable vergleichen und den numerischen Wert übergeben oder??
Hans-Jörg
Anzeige
AW: Da komm ich jetzt auch nicht mit
30.11.2003 00:23:05
RAnton
Hallo Jörg,
wie gesagt, hatte dein Problem nicht gleich verstanden.
Aber wie wärs mit dieser Lösung?


Sub test(strfile As String)
Dim Monate(1 To 12) As String
Dim i As Integer
Monate(1) = "januar"
Monate(2) = "februar"
Monate(3) = "march"
Monate(4) = "april"
Monate(5) = "May"
Monate(6) = "june"
Monate(7) = "july"
Monate(8) = "aug"
Monate(9) = "sep"
Monate(10) = "okt"
Monate(11) = "nov"
Monate(12) = "dec"
For i = 1 To 12
If InStr(1, LCase(strfile), Monate(i)) > 1 Then
Monat = CStr(i)
Exit For
End If
Next
End Sub


Gruß
RAnton
Anzeige
AW: So werd ich es versuchen Danke
30.11.2003 00:49:14
Hans-Jörg
Vielen Dank
Hans-Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige