Excel VBA質問箱 IV

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

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


21195 / 76738 ←次へ | 前へ→

【60945】Re:オートフィルタ抽出後の可視セルにのみ数式設定する方法
発言  kanabun  - 09/3/26(木) 10:01 -

引用なし
パスワード
   ▼miyakken さん:
こんにちは。

>  Range(Cells(7, 1), Cells(gyou, retu)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
>  Range(Cells(3, 1), Cells(5, retu)), Unique:=False
>  

>For g = 8 To gyou
>Next

これは、せっかくフィルタオプションで条件付けて行を抽出しているのに、
> For g = 8 To gyou
のLoop処理は、フィルタされた行に対してだけでなく
すべての行について
  「借方CD」が「現金」なら +金額
  そうでなければ      −金額
を「残高」欄に書き込んでいるから、効率わるいですよね?
また、Else で 「借方CD」が「現金」でないすべての行が
  −金額
となってしまいますけど、意図した処理ですか?

↓フィルタかけないサンプルです。

Sub Try2()
  With Range("A7").CurrentRegion
    With Intersect(.Columns(5), .Columns(5).Offset(1))
      .ClearContents
      .Formula = _
       "=IF(B8=$B$4,D8,IF(C8=$B$4,-D8,""""))"
      .Value = .Value
    End With
  End With
End Sub

※[$B$4] には「現金」

1 hits

【60939】オートフィルタ抽出後の可視セルにのみ数式設定する方法 miyakken 09/3/25(水) 23:55 質問
【60944】Re:オートフィルタ抽出後の可視セルにのみ... 超初心者 09/3/26(木) 9:34 発言
【60950】Re:オートフィルタ抽出後の可視セルにのみ... miyakken 09/3/26(木) 19:34 お礼
【60945】Re:オートフィルタ抽出後の可視セルにのみ... kanabun 09/3/26(木) 10:01 発言
【60951】Re:オートフィルタ抽出後の可視セルにのみ... miyakken 09/3/26(木) 19:38 お礼

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