Yanıtlar:
Başımdan 'başımdan' hepsi için yapmanın bir yolunu biliyorum ama bu şekilde yapıştırabilirsiniz ...
Bunu a / b / c / d kümesi için yapacak. Bunun tam bir cevap olmadığını biliyorum, ama bunlardan çok fazla yoksa, işe yarayabilir.
İsterseniz, sizin için devrik yapacak hızlı bir makro. Her şeyi "A" sütununa koymanız yeterlidir ve hepsini B1, C1, D1, vb. Öğelerine koyacaktır. Satırlar boşluklarla tanımlanmıştır ve satırda iki boşluk "dur" anlamına gelir.
Sabit, şimdi 255 sütun için tamam çalışması gerekir. ve evet, Transpo ayarını pastespecial işlevinde vba'da kullanabilirsiniz, ancak bu kodu aynı sonuç için daha karmaşık hale getirir, bu yüzden basit tutdum
Sub Macro1()
lastBlank = False
col = 2 'B
row = 1
For Each cell In Range("A:A")
v = Trim(CStr(cell))
If v = "" Then
If lastBlank = True Then Exit For
lastBlank = True
col = 2 'B
row = row + 1
Else
Cells(row, col) = v
col = col + 1
lastBlank = False
End If
Next
End Sub
Eğer kimse bu blog makalesini hala okuyorsa, bunu yapmanın başka bir yolu var (ilk veri satırının FirstRow sabitini kullanarak hangi satırda olduğunu ayarlayın ve sonra onu serbest bırakın).
Sub TransposeRowsFourAtATime()
Dim X As Long, LastRow As Long, OffSetCounter As Long
Const FirstRow As Long = 2
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For X = FirstRow To LastRow Step 5
Cells(FirstRow, "A").Offset(OffSetCounter).Resize(1, 4) = _
WorksheetFunction.Transpose(Cells(X, "A").Resize(4))
OffSetCounter = OffSetCounter + 1
Next
Range(Cells(FirstRow + OffSetCounter, "A"), Cells(LastRow, "A")).Clear
End Sub
Rick Rothstein (MVP - Excel)
Bir excel devrik işlevi vardır. Fonksiyonu, transpozisyonun başlamasını istediğiniz hücreye yazın, ardından fonksiyonu yana doğru kopyalamak için düzenleme-> dolgu fonksiyonlarını kullanın (ve gerekirse aşağı).
ADDRESS
İşlevi kullanarak satır dizin oluşturmayı düzeltmek için bir yol olmalıdır (boşlukları hesaba katarak) .
Bu formülleri (verilerinizin A1'de başladığını varsayarsak) girebilir ve ihtiyacınız olanı doldurabilirsiniz
B1 =IF(ISBLANK(A5),A1,"")
C1 =IF(ISBLANK(A5),A2,"")
D1 =IF(ISBLANK(A5),A3,"")
E1 =IF(ISBLANK(A5),A4,"")
Ardından Özel Değerleri Kopyala ve Yapıştır. Sonra boş satırları kaldırmak için sıralayın.