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

Wird hier interner Speicher durchlaufen?

Wird hier interner Speicher durchlaufen?
03.09.2014 10:30:38
Stefanie
Noch einmal kurz ich :)
Könnte mir jemand sagen, ob ich hier korrekt eine Zeile im internen Speicher durchlaufe? Da ich die Werte ja im arr speichere, denke ich das klappt. Bin mir aber noch etwas unsicher :)
Danke!
Sub internerSpeicher_lauf()
Dim arr
Dim i As Long
Dim x As Integer
For x = 2 To 4
With Cells(2, x)
arr = .Value
If .Value = "x" Then
MsgBox "X gefunden"
End If
End With
Next x
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wird hier interner Speicher durchlaufen?
03.09.2014 10:37:29
Rudi
Hallo,
nein, damit liest du aus der Tabelle.
Sub internerSpeicher_lauf()
Dim arr
Dim i As Long
Dim x As Integer
arr = Range(Cells(2, 2), Cells(2, 4))
For x = 1 To UBound(arr)
If arr(1, x) = "x" Then
MsgBox "X gefunden"
End If
Next x
End Sub

Gruß
Rudi

AW: Wird hier interner Speicher durchlaufen?
03.09.2014 10:42:35
Stefanie
Mist, ok dann orientiere ich mich mal an deinem Beispiel.
Danke dir!

vom Prinzip her ...
03.09.2014 10:49:44
Rudi
Hallo,
.. musst du deinen Bereich erst in ein Array einlesen und dann das Array durchlaufen.
Wobei du beachten musst, dass das Array immer mit (1,1) beginnt.
Gruß
Rudi

Anzeige
AW: Wird hier interner Speicher durchlaufen?
03.09.2014 10:48:58
Stefanie
Wenn ich den arr variabel machen möchte, dann benötige ich 2 For schleifen. Ist das korrekt?
Also dann würde mein arr so aussehen:
arr = Cells(a, b)
Daaaannkeee :)

AW: Wird hier interner Speicher durchlaufen?
03.09.2014 10:54:04
Rudi
Hallo,
etwa so:
Sub internerSpeicher_lauf()
Dim arr
Dim lZeile As Long, lSpalte As Long
arr = Range("A1:F100")  'kann man flexibilisieren
For lZeile = 1 To UBound(arr) 'alle Zeilen
For lSpalte = 1 To UBound(arr, 2) 'alle Spalten
If arr(lZeile, lSpalte) = "x" Then
MsgBox "X gefunden"
End If
Next lSpalte
Next lZeile
End Sub

Gruß
Rudi

Anzeige
AW: Wird hier interner Speicher durchlaufen?
03.09.2014 11:13:10
Stefanie
Das ist super. Ich habe versucht den Bereich auch flexiebel zu gestalten mit Range(Cells(a,b),Cells(a,b)) da kam dann aber immer eine Meldung, dass die typen unverträglich sind :-(
Wie kann man den Bereich noch flexibiliseren?
Hatte an sowas gedacht:

Dim i as integer
Dim Zeile_A as integer
Zeile_A=2
Dim arr
Dim lZeile As Long, lSpalte As Long
For i = 2 To 134
For Each Zelle_X In Range(Cells(Zeile_A, i), Cells(Zeile_A, i))
arr = Range(Cells(Zeile_A, i), Cells(Zeile_A, i)
For lZeile = 1 To UBound(arr) 'alle Zeilen
For lSpalte = 1 To UBound(arr, 2) 'alle Spalten
If arr(lZeile, lSpalte) = "x" Then
MsgBox "X gefunden"
End If
Next lSpalte
Next lZeile
Next Zelle_X
Next i

Anzeige
noch nicht verstanden
03.09.2014 11:44:31
Rudi
Hallo,
hier
For Each Zelle_X In Range(Cells(Zeile_A, i), Cells(Zeile_A, i))

durchläufst du alle Zellen einzeln.
Damit
arr = Range(Cells(Zeile_A, i), Cells(Zeile_A, i))

weist du arr einen einzelnen Zellwert zu. Somit ist arr kein Array. Deshalb der Fehler.
Sub aaa()
Dim Zeile_A As Integer
Zeile_A = 2
Dim arr
Dim lZeile As Long, lSpalte As Long
arr = Range(Cells(Zeile_A, 1), Cells(Zeile_A, Columns.Count).End(xlToLeft))
For lZeile = 1 To UBound(arr) 'alle Zeilen
For lSpalte = 1 To UBound(arr, 2) 'alle Spalten
If arr(lZeile, lSpalte) = "x" Then
MsgBox "X gefunden"
End If
Next lSpalte
Next lZeile
End Sub
Gruß
Rudi

Anzeige
AW: noch nicht verstanden
03.09.2014 13:23:20
Stefanie
Stimmt... oh man da stand mir wohl jemand auf der Leitung!°
Jetzt hab ich es aber verstanden. Ich danke dir für deine Geduld und deine ausführliche Antwort!
Viele Grüße
Stefanie

AW: noch nicht verstanden
08.09.2014 10:40:59
Stefanie
Kann mir jemand evtl noch erläutern was die 2 macht? Das verstehe ich noch nicht :-(
For lSpalte = 1 To UBound(arr, 2) 'alle Spalten

Vielen Dank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige