2010-11-19 23 views
0

VBA kullanarak görünümden excel'e bazı sonuçlar aldım. Oysa orada ben ilk boş satırları kaldırmak için normal ifade "^ $" kullanmaya çalıştı buVBA: tek bir hücrede bulunan birden çok satırı nasıl birleştirilir?

line 1 
line 2 



another line 


final line 

gibi BİR hücrede birden fazla satır tutun bazı hücreler, ama çalışmıyor.

Ve daha da kötüsü, tüm satırlar bir kez hücreye girdiklerinden, bunları birleştirmek için formülü kullanamıyorum.

Her türlü yardım büyük ölçüde silinebilir! Bu arada, hatlar arasında ne var? Onları eşleştirmek için "^ $" ve "" ile değiştirdim. Yani hiçbir şey kalmadı demektir. Ama yine de, boş çizgiler var. Ayrıca "chr (13)" yi de kaldırdım.

+0

Satırlar arasındaki sembol chr (10) 'dir. Değişim cevabımı geçti, ben de düzenledim. – GolezTrol

cevap

1

Tüm satır sonlarını kaldırmak istiyor musunuz?

YourResult = replace(replace(YourCellValue, chr(10), ""), chr(13), "") 

Yoksa sadece boş satırları kaldırmak istiyor musunuz?

[değiştir] Yukarıdaki cevap test edilmedi. Şimdi çizgileri ayıran karakter chr (10) olduğunu görüyoruz, bu nedenle sadece bu değiştirmeniz gerekiyor:

YourResult = replace(YourCellValue, chr(10), "") 

Ayrıca, birden fazla satır tutmak, ama boş satırları kaldırmak istiyorsanız, ikisini yerine geçebilir satır biriyle kesilir ve hiçbir değişiklik kalmayıncaya kadar bu adımı yineleyin:

Function FixLines(value As String) 
    Do 
    s = value 
    value = Replace(value, Chr(10) & Chr(10), Chr(10)) 
    Loop Until value = s 
    FixLines = value 
End Function 

YourResult = FixLines(YourCellValue) 
+0

evet. Boş satırları kaldırmak istiyorum. teşekkür ederim! – john

+0

Bu, bu konudaki - googled ettiğim tüm cevapların - en iyi cevabı. TEŞEKKÜRLER, GolezTol! – john

İlgili konular