Excel - Verileri satırlardan sütunlara aktarmak için bir makro
Konu
Veriler şimdi aşağıdaki biçimdedir1 2 39 15 16 20 25
1
Bu, bu formatta gelmek zorunda
12
3
9
15
16
20
25
1
Çözüm
Varsayımlar:- 1. Veriler 1. Sıradan başlar ve daima A sütununa kopyalanmalıdır.
- 2. Verilere bozulma olmadan satırlar eklenebilir
Alt TransposeÖzel ()Dim lMaxRows As Long 'sayfadaki maksimum satırlar
Dim lThisRow As Long 'satırı işleniyor
Dim iMaxCol As Integer 'max işlenen satırda kullanılan sütun
lMaxRows = Hücreler (Rows.Count, "A"). End (xlUp) .Row
lThisRow = 1 'satır 1'den başlıyor
LThisRow Yaparken Yap <lMaxRows
iMaxCol = Hücreler (lThisRow, Sütunlar. Miktar) .End (xlToLeft) .Column
Eğer (iMaxCol> 1) Öyleyse
Satırlar (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1).
Aralık (Hücreler (lThisRow, 2), Hücreler (lThisRow, iMaxCol)). Kopyala
Aralık ("A" & lThisRow + 1) .Seçin
Selection.PasteSpecial Paste: = xlPasteAll, İşlem: = xlNone, SkipBlanks: = False, Transpose: = True
Aralık (Hücreler (lThisRow, 2), Hücreler (lThisRow, iMaxCol)).
lThisRow = lThisRow + iMaxCol - 1
lMaxRows = Hücreler (Rows.Count, "A"). End (xlUp) .Row
Bittiğinde
lThisRow = lThisRow + 1
döngü
Son Alt