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

In Array was finden

In Array was finden
11.11.2004 04:04:42
Barbara
Bitte kann mir jemand was programmieren?
Gegeben ist ein eindimensionales Array "Spielerfeld" mit Strings.
Spielerfeld(1) = "Horst"
Spielerfeld(2) = "Susi"
usw.
Die Größe dieses Array ist jedesmal anders.
Und jetzt kommt das Problem:
Wenn in keiner Zelle "Barbara" steht, dann soll Zeile 5 gelöscht werden. Letzteres kann ich ja: Rows(5).Delete Shift:=xlUp
Wenn auch nur eine Zelle des Arrays "Barbara" lautet, dann soll nichts geschehen.
Aber das Durchsuchen und das richtige Ergebnis finden, da tüftle ich schon eine Stunde herum.
LG,
Barbara.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Array was finden
11.11.2004 04:46:37
Nepumuk
Hallo Barbara,
ein Beispiel für Spalte A:


Public Sub Barbara()
    Dim objRange As Range
    Set objRange = Columns(1).Find(What:="Barbara", LookIn:=xlValues, LookAt:=xlWhole)
    If objRange Is Nothing Then Rows(5).Delete Shift:=xlShiftUp Else Set objRange = Nothing
End Sub


Der Bereich kann, muss aber nicht weiter eingegrenzt werden, da die Find - Methode wahnsinnig schnell ist.
Gruß
Nepumuk
Anzeige
AW: In Array was finden
11.11.2004 04:51:44
Barbara
Hallo Nepumuk,
kannst wohl auch nicht schlafen. :)
Es soll nicht in Spalte 1 gesucht werden, sondern in einem Array, das mit VBA erzeugt worden ist.
Das soll mit einer einfachen Schleifenkonstruktion gehen (wenn geht ohne ErrorHandler)
LG, Barbara
AW: In Array was finden
11.11.2004 04:58:35
Nepumuk
Hi Barbara,
nein, schon wieder wach, da die Arbeit ruft. :-(
Du kannst in einem Array aber keine Zeile löschen. Deine Methode (Rows(5).Delete Shift:=xlShiftUp) funktioniert nur in Tabellen. Darum ging ich davon aus, das du auch in einer Tabelle suchst.
Gruß
Nepumuk
AW: In Array was finden
11.11.2004 05:02:55
Barbara
Ja sicher. Das Löschen bezieht sich auf die Tabelle selbst.
Ist ja auch egal, was geschieht.
Es soll nur was bestimmtes ausgeführt werden (was in einer Zeile ausdrückbar ist), wenn im gesamten Array namens Spielerfeld "Barbara" als eigener Eintrag nicht vorkommt.
LG,
Barbara
Anzeige
AW: In Array was finden
11.11.2004 05:07:25
Nepumuk
Hallo Barbara,
dann so:


Public Sub Barbara()
    Dim lngIndex As Long
    For lngIndex = LBound(Spielerfeld) To UBound(Spielerfeld)
        If Spielerfeld(lngIndex) = "Barbara" Then Rows(5).Delete Shift:=xlShiftUp
    Next
End Sub


Gruß
Nepumuk
Anzeige
AW: In Array was finden
Barbara
Hallo Nepumuk
... wenn "Barbara" als eigener Eintrag --NICHT-- vorkommt.
Dein Beispiel macht genau das Gegenteil.
LG,
Barbara.
AW: In Array was finden
11.11.2004 05:17:25
Nepumuk
Hallo Barbara,
ist wohl auf die Tageszeit zurückzuführen.


Public Sub Barbara()
    Dim lngIndex As Long, bolfound As Boolean
    For lngIndex = LBound(Spielerfeld) To UBound(Spielerfeld)
        If Spielerfeld(lngIndex) = "Barbara" Then bolfound = TrueExit For
    Next
    If Not bolfound Then Rows(5).Delete Shift:=xlShiftUp
End Sub


Gruß
Nepumuk
Anzeige
AW: In Array was finden
Barbara
Danke Nepumuk,
Habe Deine Konstruktion gleich eingebaut und getestet: funktioniert gut.
Hab zuvor herumprobiert mit if-Schleifen und anderen Konstruktionen (zB match), und bin auf keinen grünen Zweig gekommen.
Jetzt kann ich beruhigt schlafen gehen.
Danke nochmals.
LG, Barbara

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige