Excel - Verileri satırlardan sütunlara aktarmak için bir makro

Konu

Veriler şimdi aşağıdaki biçimdedir

 1 2 3

9 15 16 20 25

1

Bu, bu formatta gelmek zorunda

 1

2

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

Bunu not et

Forumdaki bu ipucu için rizvisa1 'e teşekkür ederiz.
Önceki Makale Sonraki Makale

En Ipuçları