Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Matrixtransformation für Excel gesucht
#1
Hallo liebe VBA Gemeinde,

ich habe ein Objekt vbObj1 welches einen Excel-Zellenbereich mit n x m Zellen repräsentiert.

Mit einem zweiten Objekt vbObj2 möchte ich die Daten aus vbObj1 übernehmen. Es soll
also gelten vbObj2 = vbObj1. Aber vbObj2 soll nur jedes 2. Element von n aus dem Zellenbereich von
dem ursprünglichen n x m Zellenbereich aus vbObj1 übernehmen. Der Bereich von m bleibt
unangetastet.

Wie mache ich das?
to top
#2
Hallo Sonja,

stelle uns bitte eine Beispieltabelle vor, in der du markierst, was du aus Arbeitsblatt1 in Arbeitsblatt2 oder in eine neue Tabelle kopiert haben möchtest. So wird dein Anliegen klarer.
?mage

Misserfolg ist eine Chance, es beim
nächsten Mal besser zu machen.

(Henry Ford)
http://www.sprueche-zum-nachdenken.eu
to top
#3
Hallo Sonja,

was genau sind vbObj1 und vbObj2 für Variablentypen?

Gruß Uwe
to top
#4
Hallo Uwe,

ich würde sagen wir deklarieren sie als Variant, damit wird in Excel ja fast jeder Zellinhalt einer Zelle abgedeckt.
to top
#5
Hallo Sonja,

meinst Du sowas?

Code:
Sub aaa()
  Dim varObj1 As Variant
  Dim varobj2 As Variant
  Dim i As Long, j As Long, k As Long
  
  varObj1 = Range("A1:B11").Value
  ReDim varobj2(1 To (UBound(varObj1, 1) / 2) + UBound(varObj1, 1) Mod 2, 1 To UBound(varObj1, 2))
  
  For i = 2 To UBound(varObj1, 1) Step 2
    k = k + 1
    For j = 1 To UBound(varObj1, 2)
      varobj2(k, j) = varObj1(i, j)
    Next j
  Next i
  
  Range("D1").Resize(UBound(varobj2, 1), UBound(varobj2, 2)).Value = varobj2
End Sub

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
SonjaFido
to top
#6
Hallo Uwe,

genau das was ich meinte. Vielen Dank für die Super-Profi Lösung!
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Excel Berechnung gesucht Hank87 5 284 20.08.2016, 08:09
Letzter Beitrag: Hank87

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste