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

Array Transponieren
05.04.2017 15:27:12
Daniel2
Hallo Leute,
ich komm nicht mehr weiter.
Irgendwie wird das Array nicht richtig Tranponiert
Es gibt immer den Fehler außerhalb des gültigen Bereichs ab Sheets(2).Range("A" & i + 1) = arr4(i, 1)
Wär super wenn mir jmd. sagen kann was da schief läuft.
hier der Code:
Option Explicit
<pre>Sub Vergleich()
'
Dim loletzte As Integer
Dim arr1, arr As Variant
Dim arr3(), arr4()
Dim z, d, i, j As Integer
Sheets(2).UsedRange.Clear
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
loletzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
arr = Range("A3:D" & loletzte)
loletzte = IIf(IsEmpty(Cells(Rows.Count, 8)), Cells(Rows.Count, 8).End(xlUp).Row, Rows.Count)
arr1 = Range("F3:I" & loletzte)
z = 1
For i = LBound(arr) To UBound(arr) Step 1
For d = LBound(arr1) To UBound(arr1) Step 1
If arr(i, 3) = arr1(d, 3) Then
GoTo ende
ElseIf d = UBound(arr1) Then
ReDim Preserve arr3(1 To 4, 1 To z)
arr3(2, z) = arr(i, 2)
arr3(1, z) = arr(i, 1)
arr3(3, z) = arr(i, 3)
arr3(4, z) = arr(i, 4)
z = z + 1
End If
Next
ende:
Next
If z = 1 Then
MsgBox ("Keinen Fehler an der Adresse gefunden")
GoTo endee
Else
MsgBox ("Fehler gefunden! Bitte Seite 2 überprüfen")
arr4 = WorksheetFunction.Transpose(arr3)
Sheets(2).Range("A2:A" & UBound(arr3) + 2).NumberFormat = "@"
Sheets(2).Range("B2:B" & UBound(arr3) + 2).NumberFormat = "@"
Sheets(2).Range("C2:C" & UBound(arr3) + 2).NumberFormat = "@"
Sheets(2).Range("D2:D" & UBound(arr3) + 2).NumberFormat = "@"
For i = LBound(arr3) To UBound(arr3) Step 1
Sheets(2).Range("A" & i + 1) = arr4(i, 1)
Sheets(2).Range("B" & i + 1) = arr4(i, 2)
Sheets(2).Range("C" & i + 1) = arr4(i, 3)
Sheets(2).Range("D" & i + 1) = arr4(i, 4)
Next
End If
endee:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End <pre>Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Array Transponieren
05.04.2017 15:29:29
Daniel2
For i = LBound(arr3) To UBound(arr3) Step muss natürlich For i = LBound(arr4) To UBound(arr4) Step heißen. Hilft aber auch nichts.
AW: Array Transponieren
05.04.2017 15:39:05
Daniel2
Noch eine Feststellung gemacht.
Sobald "ElseIf d = UBound(arr1) Then" 2 mal zutrifft funktioniert das Ganze
Ich versteh es leider nicht
AW: Array Transponieren
05.04.2017 20:56:07
Uduuh
Hallo,
wenn du mal beschreiben würdest, was du vorhast, wäre das extrem hilfreich.
Ebenso eine Beispielmappe.
Gruß aus’m Pott
Udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige