hei kirjoitin alla olevan koodin kääntääkseni matriisin sen olan yli. olisiko jollakulla ideoita siihen miten tämän voisi tehdä helpommin?
Private Sub MatrixTranspose()
Dim Kolumni As Integer
Dim rivi As Integer
Dim RiviIndexi, KolumniIndexi As Integer
kolumni = Worksheets("sjukhus").Range("XFD1").End(xlToLeft).Column
rivi = Worksheets("sjukhus").Range("A1048576").End(xlUp).row
Dim kustannusArray() As Variant
ReDim KustannusArray(rivi, kolumni)
Dim Inversarray() As Variant
ReDim Inversarray(kolumni, rivi)
For RiviIndexi = 1 To rivi
For kolumniIndexi = 1 To kolumni
KustannusArray(riviIndexi - 1, kolumniIndexi - 1) = Cells(riviIndexi, kolumniIndexi)
Worksheets("sjukhus").Cells(kolumniIndexi 10, riviIndexi).Value = KustannusArray(riviIndex - 1, kolumniIndex - 1)
Next kolumniIndexi
Next riviIndexi
End Sub
Private Sub MatrixTranspose()
Dim Kolumni As Integer
Dim rivi As Integer
Dim RiviIndexi, KolumniIndexi As Integer
kolumni = Worksheets("sjukhus").Range("XFD1").End(xlToLeft).Column
rivi = Worksheets("sjukhus").Range("A1048576").End(xlUp).row
Dim kustannusArray() As Variant
ReDim KustannusArray(rivi, kolumni)
Dim Inversarray() As Variant
ReDim Inversarray(kolumni, rivi)
For RiviIndexi = 1 To rivi
For kolumniIndexi = 1 To kolumni
KustannusArray(riviIndexi - 1, kolumniIndexi - 1) = Cells(riviIndexi, kolumniIndexi)
Worksheets("sjukhus").Cells(kolumniIndexi 10, riviIndexi).Value = KustannusArray(riviIndex - 1, kolumniIndex - 1)
Next kolumniIndexi
Next riviIndexi
End Sub
Vastaukset 1
Vanhimmat
Tuolla saa transponoitua valitun alueen=)
Sub Transponoi()
Dim alue As Range
Dim rivit As Integer
Dim sarakkeet As Integer
Dim arvo() As Single
Set alue = Selection
rivit = alue.Rows.Count - 1
sarakkeet = alue.Columns.Count - 1
ReDim arvo(rivit, sarakkeet)
For j = 0 To sarakkeet
For i = 0 To rivit
arvo(i, j) = alue(1, 1).Offset(i, j).Value
Next
Next
alue.ClearContents
For j = 0 To sarakkeet
For i = 0 To rivit
alue(1, 1).Offset(j, i).Value = arvo(i, j)
Next
Next
End Sub