2012-04-17 23 views
2

私は今この問題の解決策を1週間以上探してきました。私は最初の列の下に不定の距離の値を持つ書式付きテキスト(色とスタイル)のシートを持っています。その間にいくつかのスペースがありますが、私はIsEmptyを使ってその状況を正しく処理したと信じています。私は各セルからこれらの値のそれぞれを2番目の列の上部にある1つのセルにコピーしたいと思います。私は、これらの各セルのテキストを改行で指定された連結セルにコピーすることに成功しましたが、フォーマットを維持することには失敗しました。このテキストと一緒に書式設定をコピーする方法について誰でも助けることができれば、大いに感謝します。ありがとうございました!VBA Excelのセル内の改行

'set variable to find the last row of the sheet 
Dim LastRow As Integer 
'find the last row of the active sheet 
LastRow = ActiveSheet.UsedRange.Rows.Count 
'loop through each of the rows 
For C = 1 To LastRow 
    'determine if a cell has a value in it - if so complete below commands 
    If (IsEmpty(Cells(C, 1).Value) = False) Then 
    'leave the contents of the first cell in the second column, insert a linebreak and copy the values from the current cell in the first column 
    Cells(1, 2).Value = Cells(1, 2).Value & Chr(10) & Cells(C, 1).Value 
    End If 
Next C 
+1

このスレッドをご覧くださいhttp://www.mrexcel.com/forum/showpost.php?p=3034158&postcount=5 Andrew Poulsomは既にあなたが望むことをするコードを与えています。 –

+2

このコードにはバグがあります:連結する最初の値に先行する空白がある場合、連結ループの後に 'Trim()'を呼び出すと、次の書式設定のすべてが先頭のスペーストリミングオフ... –

+0

リンクをありがとう、これは私が探していたものを達成します –

答えて

0

あなたは使いやすいですし、セルの書式設定の問題を解決しRange.CopyメソッドとRange.PasteSpecial性質を利用することができます。

+0

はいこれは、コピーと貼り付けの問題を解決するだろうが、これは私が1つのセルに範囲を連結することはできません。 –

関連する問題