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

Array Problem

Array Problem
09.09.2014 12:04:43
Stefanie
Hallo ihr lieben,
und zwar habe ich ein Array (arr) der die Zeile_A (z.B. Zeile 10 ist aber variabel)
mit allen vorhandenen Spalten enthält.
Zum Beispiel: arr (10,2), (10,3), (10,4) usw. so sollte dieser aussehen.
Jetzt möchte ich diesen durchlaufen und wenn ein "x" gefunden wird soll Cells(3, lSpalte + 1).Copy kopiert werden (weil dort der passende Text drin steht.
Leider klappt hier irgend etwas nicht mit dem durchlaufen. Mein Programm macht dies einmal korrekt und springt dann aber nicht in Next lSpalte und Zeile.
Ich weiß einfach nicht woran es liegt. Kann mir jemand helfen? Bitte! Vielen Dank
 arr = Range(Cells(Zeile_A, 2), Cells(Zeile_A, Columns.Count).End(xlToLeft))
For lZeile = Zeile_A To UBound(arr) 'alle Zeilen
For lSpalte = 1 To UBound(arr, 1) 'alle Spalten
If arr(lZeile, lSpalte) = "x" Then
Cells(3, lSpalte + 1).Copy
Sheets("ArbeitsblattXY").Select
Cells(b, y).Select
ActiveSheet.Paste
Cells(b, y).WrapText = True
ActiveSheet.Range("A2:ED" & lSpalte).Rows.EntireRow.AutoFit
Sheets("ArbeitsblattZ").Select
Cells(1, lSpalte + 1).Copy
Sheets("Risikobeurteilung").Select
'Nächste freie Spalte ermitteln
Cells(4, IIf(IsEmpty(Cells(1, Columns.Count)), _
Cells(4, Columns.Count).End(xlToLeft).Column, Columns.Count) + 1).Select
aktuelle_spalte_annex = ActiveCell.EntireColumn.Column
Cells(b, aa).Select
ActiveSheet.Paste
Sheets("G0SA").Select
End If
Next lSpalte
Next lZeile

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ich hab dir doch schon mal gesagt,...
09.09.2014 12:17:13
Rudi
Hallo,
dass ein Array, das aus einem Bereich gebildet wird, immer bei (1,1) beginnt.
Gruß
Rudi

AW: ich hab dir doch schon mal gesagt,...
09.09.2014 12:26:11
Stefanie
das mag sein aber es funktioniert trotzdem nicht.
Diese blöden Arrays...
:-(

Diese blöden Arrays...
09.09.2014 12:50:08
Rudi
Hallo,
was können die für deine Fehler?
For lSpalte = 1 To UBound(arr, 1) 'alle Spalten

durchläuft die Spalten nur von 1 bis zur höchsten Zeile!!! In deinem Fall 1.
Wenn du alle Spalten durchlaufen willst, solltest du auch deren Anzahl ermitteln.
Ebenso solltest du bei den Zeilen mit 1 beginnen und nicht mit der nicht vorhandenen 10ten.
  For lZeile = 1 To UBound(arr, 1) 'alle Zeilen/ 1.Dimension des Arrays
For lSpalte = 1 To UBound(arr, 2) 'alle Spalten/ 2.Dimension des Arrays
Zum Rest des Codes: Select ist in VBA meistens überflüssig, da man Objekte direkt ansprechen kann.
z.B anstatt
        Cells(3, lSpalte + 1).Copy
Sheets("ArbeitsblattXY").Select
Cells(b, y).Select
ActiveSheet.Paste

einfach
        Cells(3, lSpalte + 1).Copy Sheets("ArbeitsblattXY").Cells(b, y)
Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige