Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10482 / 13646 ツリー ←次へ | 前へ→

【21622】可視セルにのみ式を入れるには にしもり 05/1/25(火) 11:01 質問[未読]
【21623】Re:可視セルにのみ式を入れるには Jaka 05/1/25(火) 11:38 回答[未読]
【21628】Re:可視セルにのみ式を入れるには にしもり 05/1/25(火) 13:52 お礼[未読]

【21622】可視セルにのみ式を入れるには
質問  にしもり  - 05/1/25(火) 11:01 -

引用なし
パスワード
   こんにちは。VBAで次のことをしています。
まずフィルターで空白セルのみを抽出します。
その空白セルにのみ(つまり可視セルにのみ)、直上行をポイントする式をいれたいのです。たとえばA8が空白なら「=A7」をいれたいのです。

  Selection.AutoFilter Field:=1, Criteria1:="="
  Range("A8").Select
  ActiveCell.FormulaR1C1 = "=R[-1]C"
  Range("A8").Select
  Selection.FillDown
  Selection.Font.ColorIndex = 15

  ActiveWindow.ScrollRow = 33
  ActiveWindow.ScrollRow = 26
  ActiveWindow.ScrollRow = 18
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 7

ところが結果を見るとA8にしか式が入っていません。
A11以降にも式を入れるにはどう書けばいいでしょうか?

【21623】Re:可視セルにのみ式を入れるには
回答  Jaka  - 05/1/25(火) 11:38 -

引用なし
パスワード
   こんにちは。
フィルター範囲をA1:A23(A23は、空白として)にしてありますから、適当に変更してください。

Dim rag As Range, FRw As Long
Range("A1:A23").AutoFilter Field:=1, Criteria1:=""
Set rag = Range("A2:A23").SpecialCells(xlCellTypeVisible)
FRw = rag.Cells(1).Row
rag.Formula = "=A" & FRw - 1
ActiveSheet.AutoFilterMode = False
Set rag = Nothing

【21628】Re:可視セルにのみ式を入れるには
お礼  にしもり  - 05/1/25(火) 13:52 -

引用なし
パスワード
   ▼Jaka さん:

ありがとうございました。
希望通りに出来ました。
それにしてもどうしてこのようにすらすら書けるのでしょうか。。。

10482 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free