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

arrFind

arrFind
05.03.2015 14:27:09
Gregor
Hallo
Ich benutze folgende Code
With Range("Test")
Set rZelle = .Columns(1).Find(What:="Muster", LookAt:=xlPart, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
n = 0
Do
n = n + 1
ReDim Preserve arrFind(1 To 4, 1 To n)
arrFind(1, n) = .Cells(rZelle.Row, 1)
arrFind(2, n) = .Cells(rZelle.Row, 2)
arrFind(3, n) = .Cells(rZelle.Row, 3)
arrFind(4, n) = .Cells(rZelle.Row, 4)
Set rZelle = .Columns(1).FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address sFundst
End With
With usrTest.lstFind
.ColumnCount = 4
.Column = arrFind
End With
"Test" ist ein Namensfeld. Wenn die Fundstelle zB. A71 ist, ist die rZelle.Row die 71 aber es übernimmt im arrFind die Angaben von Zeile 72 (und bei jedem Durchgang immer die Angaben aus der folgenden Zeile). Was ist die Erklärung oder was ist falsch?
Gruss Gregor

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

Betreff
Datum
Anwender
Anzeige
AW: arrFind
05.03.2015 14:38:27
Klexy
Ich meine, im Hinterkopf zu haben, dass ein Array immer mit 0 anfängt und nicht mit 1. Hilft das?

AW: arrFind
05.03.2015 15:14:16
Gregor
Hallo Klexy
Nein, das ändert nichts. Ich habe nun die Titelzeile gelöscht, obwohl ich diese mit dem Namenfeld nicht markiert habe, aber so überträgt es die richtigen Zeilen. Erklären kann ich mir das aber nicht.
Danke und Gruss
Gregor

Das ist nur zT richtig, ...
05.03.2015 15:51:56
Luc:-?
…Klexy,
denn es kommt ganz darauf an, wie das Array erstellt wird. Bei Übernahme ganzer ZellBereiche auf 1× ist es (wie der Bereich) 1-basiert, mit vbFktt Split oder Array erzeugt, 0-basiert. Ein ParamArray ist ebenfalls 0-basiert mit der Besonderheit einer UBound-Rückgabe von -1, falls es unbenutzt ist. Mit Option Base kann man das auch anders einstellen, was aber nicht für Arrays aus ZellBereichen wirksam wird. Eine 0-Basierung in VBA-Arrays kann man bei Option Base 1 nur mit VBA. vor Array erreichen.
Ansonsten kann ein Vektor-Array auch beliebig (re-)dimensioniert wdn, wie es auch hier gemacht wird.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das ist nur zT richtig, ...
05.03.2015 18:17:45
Klexy
Dat is mir zu hoch.

AW: arrFind
05.03.2015 16:35:03
Peter
Hallo Gregor,
vor dem End With fehlt der End If zu Deiner If-Abfrage.
Gruß Peter

AW: arrFind
05.03.2015 16:47:37
Gregor
Hallo
Ja, das stimmt, aber das war nicht die Ursache.
Danke und Gruss
Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige