2016-11-27 6 views
0

空のセルまで上のセルに基づいて値を入力する場合は、コンテンツがなくなるまで値を入力します。たとえば、次の表を参照してください。したがって、 'petty msa'は 'inter'にコピーして停止し、 'petty ksm'は 'general'までコピーし、 'comp'は 'motor'までコピーします。VBA空白とループまでの値を上記のセルに置き換えます。

コラム:
ささいMSA

ささいKSM
福祉

前払い
一般

カンプ
旅行
モーター

編集:これは、約15,000行

おかげ

+0

は詳細追加動作します(例:?値から来た最後の空白のセルまでダウン書き込まれるん)、あなたはそれ – user3598756

+1

と会った問題と一緒にあなたのコーディングの試みはただ、マクロを記録結果のVBAコードを参照してください! –

答えて

0

はあなたの例のように、データ「構造」与えられ、これは実行する必要があります。

Option Explicit 

Sub main() 
    Dim area As Range 

    With Worksheets("filldown").Columns("A").SpecialCells(xlCellTypeConstants) '<--| change "filldown" to your actual worksheet name and "A" to actual index of column with data to be "filled down" 
     For Each area In .Areas 
      area.Value = area(1) 
     Next area 
    End With 
End Sub 
+0

ありがとう!これはうまくいった – user3399352

+0

あなたは歓迎です – user3598756

2

の長いリストで選択した-to値「ささいなMSA」ダウンthen- 1.プレスCTRL +シフト+を持っている最初のセルを選択しますコピーする範囲 2. ctrd + downを押して値をコピーします。 今度は、 'inter'を含むセルまで 'petty msa'をコピーしました。

このプロセスを各範囲で繰り返します。

+0

ありがとうございますが、これは約15,000行の非常に長いリストです。時間がかかります – user3399352

0

はA1に空白行を挿入します。セルB2に次の数式をペーストしてコピーします。

= if(A1="",A2,B1) 

これは

関連する問題