[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白行を見つけて数式を入力コピー』(RI)
Cells(2, 7).End(xlDown).Row
が最終行取得なのはわかるのですが
最終行を上から探していって空白行があったらそれ以降G500までに
数式をVBAで入れたいのですがコードがわかりません。
どなたかわかりますでしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows8 >
500くらいなら1行ずつ中を見て判断して良いんじゃないかと思いますが、 他の要件でもあるかしら。 Sub test() Dim r As Range For Each r In Range("G2:G500") If "" & r.Value = "" Then '空なので処理 Debug.Print r.Address End If Next End Sub
(ご近所PG) 2015/06/02(火) 11:06
こんな感じでも、
Sub test()
Dim r As Range On Error Resume Next Set r = Range("G1:G500").SpecialCells(xlCellTypeBlanks) On Error GoTo 0 If r Is Nothing Then Exit Sub r.FormulaR1C1 = "=RC[-6]" End Sub
(ウッシ) 2015/06/02(火) 11:10
A列商品名 B列が日付 C列作業列 D列数量1 E列数量2 F列作業列 D列単価
になっています。
他のファイルから前月のA〜D列までをVBAで抽出するマクロボタンを配置しています。
前月の値は月によりことなるので
D列の前月の値を消さないように、前月の値の下から
VLOOKUPを500くらいまで(あれば足りそうなので)コピーしたいと思っています。
Range("空白のセル")="=IF(ISERROR(VLOOKUP(空白セルのF列、単価シートJ3:K21,2,False)),,VLOOKUP(空白セルのF列、単価シートJ3:K21,2,False))"
という式を入れていきたいのですがそれはどのようにしたらよいでしょうか?
(RI) 2015/06/02(火) 13:16
Sub test() Dim r As Range For Each r In Range("G2:G500") If "" & r.Value = "" Then r.Formula = "=IF(ISERROR(VLOOKUP(" & r.Address & ",単価シート!J3:K21,2,False)),,VLOOKUP(" & r.Address & ",単価シート!J3:K21,2,False))" End If Next End Sub (???) 2015/06/02(火) 13:40
Sub test()
Dim r As Range On Error Resume Next Set r = Range("G1:G500").SpecialCells(xlCellTypeBlanks) On Error GoTo 0 If r Is Nothing Then Exit Sub r.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-1],単価シート!R3C10:R21C11,2,FALSE))," & _ ",VLOOKUP(RC[-1],単価シート!R3C10:R21C11,2,FALSE))" End Sub
では、どうですか?
(ウッシ) 2015/06/02(火) 14:14
(RI) 2015/06/02(火) 14:41
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.