Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Array-oder ???

Forumthread: Array-oder ?

Array-oder ?
robert
Hi,
entweder ist es die Hitez, oder ich bin zu doof........
https://www.herber.de/bbs/user/75731.xls
Problem:
variable Zeilenanzahl, 8 Spalten
ich möchte nun von zB. von Zeile2, 2 Spalten in Zeile 10,
2 spalten in Zeile 11 usw.. siehe Datei
ist das mit Array oder For-Next Schleife, oder sonstwie....
Bitte VBA Lösung, keine Formellösung-ist so gewünscht ;-)
Gruß
robert
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Array-oder ?
17.07.2011 20:34:05
Josef

Hallo Robert,
die Überschriften beginnen in A1.
Sub transposeSpecial()
  Dim lngRow As Long, lngCol As Long, lngLastRow As Long
  Dim lngLastCol As Long, lngR As Long, lngC As Long
  Dim lngNR As Long, lngNC As Long
  Dim vntOrg As Variant, vntNew() As Variant
  
  With ActiveSheet
    lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
    lngLastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
    
    vntOrg = .Range(.Cells(2, 1), .Cells(lngLastRow, lngLastCol))
    
    Redim vntNew(1 To Int((UBound(vntOrg, 1) * UBound(vntOrg, 2)) / 4) + 1, 1 To 5)
    
    vntNew(1, 1) = "Platz"
    vntNew(1, 2) = "Spieler"
    vntNew(1, 4) = "Platz"
    vntNew(1, 5) = "Spieler"
    
    lngNC = 1
    lngNR = 1
    For lngR = 1 To UBound(vntOrg, 1)
      For lngC = 1 To UBound(vntOrg, 2) - 1 Step 2
        lngNR = lngNR + 1
        vntNew(lngNR, lngNC) = vntOrg(lngR, lngC)
        vntNew(lngNR, lngNC + 1) = vntOrg(lngR, lngC + 1)
        If lngNR = UBound(vntNew, 1) Then
          lngNR = 1
          lngNC = 4
        End If
      Next
    Next
    .Range(.Cells(1, 1), .Cells(lngLastRow, lngLastCol)) = ""
    .Cells(1, 1).Resize(UBound(vntNew, 1), UBound(vntNew, 2)) = vntNew
  End With
End Sub



« Gruß Sepp »

Anzeige
Danke Sepp, Danke Tino..
17.07.2011 21:09:41
robert
Hi,
das nenn ich 2 Profilösungen, funktionieren beide super !
Aber verstehen ? - da fehlt bei mir noch einiges.................
;-)
Gruß und Dank
robert
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18