[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ある列に入力されたら該当行をコピーする』(かか)
Excelマクロ初心者です。過去質問とかぶっていたら申し訳ございません。。
ある表を作成しています。(B〜K列)(行6〜100?かなり下のほうまで作りたいです。)
全ての列に何かしら入力されたら行があれば、他のシートにその行をコピーしたいのですが、どうしたら良いのでしょうか・・・?
移動先では、行詰めてしまって問題ないです。
どなたかご教示ください。。
< 使用 Excel:Excel2003、使用 OS:unknown >
Option Explicit
Sub test() Dim tbl As Range Dim r As Range
Set tbl = Sheets("sheet1").Range("B6:K100")
For Each r In tbl.Rows If WorksheetFunction.CountA(r) Then r.Copy Sheets("sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1) End If Next
End Sub
(マナ) 2018/10/04(木) 18:52
追加で質問させて頂きたいのですが、表中には数式が入っているのですが、
コピーの際、数式は無しで、値のみ引っ張っていきたいのですが、どうしたら良いでしょうか。
(かか) 2018/10/05(金) 08:57
度々申し訳ないです。
(かか) 2018/10/05(金) 09:07
(隠居じーさん) 2018/10/05(金) 09:55
(隠居じーさん) 2018/10/05(金) 10:18
表と転記先に同じ見出しがないとだめですが、
たたき台2です。
フィルターオプションを使います。
手作業でもよいですが、マクロでもできます。
・5行目が見出し
・転記先シートのA1:E1に抽出したい列の見出しが入力済み
とすると、こんな感じ。
Sub test2() Dim tbl As Range Dim c As Range
Set tbl = Sheets("sheet1").Range("B5:K100") Set c = Sheets("sheet1").Range("Z1:Z2") c(2).Formula = "=countblank(B6:K6)<10"
tbl.AdvancedFilter xlFilterCopy, c, Sheets("sheet2").Range("A1:E1")
c.ClearContents
End Sub
(マナ) 2018/10/05(金) 18:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.