2016-04-06 24 views
2

Verilerin bitişik hücrelere üst üste binmesini kaldırmak için işlevi birleştiren bir VBA komut dosyası yazmaya çalışıyorum ve veriyi gösterildiği gibi veri uzunluğuna uyacak şekilde yeniden boyutlandırıyorum. takipler snaps.Excel VBA, bitişik alanlara veri örtüşmesini kaldır

1) Excel'de verilerin Orijinal düzeni

Before

2) yanlarındaki tüm alanları

Select all fields

3) çift tıklayın seçmek için üst let köşesine tıklayın Veri uzunluklarına uyacak şekilde hücreleri yeniden boyutlandırmak için hücrelerdeki hücre.

Double click when this cursor appears

Şu anda, aşağıda .HorizontalAlignment kullanıyorum ama çalışmıyor:

With wks 
    With .Cells(1, 1).CurrentRegion 
     lastCol = .Columns.Count 
     lastRow = .Rows.Count 
    End With 

    'Select the interested cells and insert borders around the interested fields 
    .UsedRange.Borders.LineStyle = xlContinuous 
    .UsedRange.HorizontalAlignment = xlLeft 
End With 

cevap

1

Sana Range.AutoFit yöntem arıyorsanız inanıyoruz.

Sub allFit() 
    Dim c As Long 

    With Worksheets("Sheet1") 
     With .Cells(1, 1).CurrentRegion 
      For c = 1 To .Columns.Count 
       With .Columns(c) 
        .WrapText = False 
        .AutoFit 
       End With 
      Next c 
     End With 
    End With 

End Sub 
+1

da Çalışma Sayfaları ("Sayfa1") ile ' gidebiliriz. Hücreleri (1, 1) .CurrentRegion .Columns.AutoFit .WrapText = False End With ' – user3598756

+0

İyi nokta; Bu biraz sıkılırdı. Döngüleri, currentregion'un .columns.count özelliğini başka herhangi bir şeyden daha fazla kullanmak için kullandım. – Jeeped

+0

Tabii ki biliyordum ki biliyordum ... sadece OP için faydalı bir şey eklemek gerekiyordu. ve ben "sıkılaştır" ın büyük bir hayranıyım! – user3598756

3

Bunu kullanmayı deneyin. Kullanacağınız sayfayı ilk seçtiğiniz yeri seçin ve sonra Sütunlar üzerinde AutoFit işlevini kullanın (tüm sütunlar anlamına gelir) ve metin uzunluğuna göre sütunların boyutu olur. Ayrıca vb sadece bazı sütunları ve seçebilirsiniz ... ama onun farklı soru için

Sub adjustColumns() 
    Sheets("Sheet3").Columns.AutoFit 
End Sub