Bu tür bir dönüşüm gerçekleştirmeye çalıştığım şeydir. Sadece resim için bunu tablo olarak yaptım. Temel olarak ilk 3 sütunun, ne kadar çok renk bulunduğunu tekrar etmesi gerekir. Birden çok satırı birden çok satıra dönüştürmek için excel makrosu (VBA)
Diğer benzer türleri aradım ancak yinelemek için birden çok sütun istediğimde bulamadım. İnternetten kodu bulduğunu, ancak İsim Teşekkür Yer Teşekkür Yer Teşekkür Yer Teşekkür Yer ve
Sub createData()
Dim dSht As Worksheet
Dim sSht As Worksheet
Dim colCount As Long
Dim endRow As Long
Dim endRow2 As Long
Set dSht = Sheets("Sheet1") 'Where the data sits
Set sSht = Sheets("Sheet2") 'Where the transposed data goes
sSht.Range("A2:C60000").ClearContents
colCount = dSht.Range("A1").End(xlToRight).Column
'// loops through all the columns extracting data where "Thank" isn't blank
For i = 2 To colCount Step 2
endRow = dSht.Cells(1, i).End(xlDown).Row
For j = 2 To endRow
If dSht.Cells(j, i) <> "" Then
endRow2 = sSht.Range("A50000").End(xlUp).Row + 1
sSht.Range("A" & endRow2) = dSht.Range("A" & j)
sSht.Range("B" & endRow2) = dSht.Cells(j, i)
sSht.Range("C" & endRow2) = dSht.Cells(j, i).Offset(0, 1)
End If
Next j
Next i
End Sub
istediğim biçimini değiştirmeden bazı tek yardım, ben değiştirmeyi denedim Could Adı Teşekkür Yer altındaki gibi yapar 1 ve j 2. adımı 4'e başlamak ama bu 2 değişik setleri ile bir başka örneğin faydalı değildi: Burada
ne PivotTable hakkında? –
[ListObject] (https://msdn.microsoft.com/en-us/library/office/aa174247.aspx) tabloları içinde çalışma sayfası aralıklarıyla çalışmamalısınız. Bunun yerine [.DataBodyRange özelliği] (https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.listobject.databodyrange.aspx) ile çalışın. – Jeeped
@Jeeped: Bu soru kapatıldı. : D Arrays kullanarak tamamen farklı bir yaklaşım kullanan bir cevap yazıyordum –