- Excel VBA 質問スレ Part41©2ch.net
230 :デフォルトの名無しさん[sage]:2016/05/14(土) 02:00:00.21 ID:TfiX7v5Q - >>228
Excelのフィルタ機能があるのは知ってると思うけど 列毎に表示する基準を設定できるだろ その設定をシート2に記述してるだけ でspecialcellsでclearしてるから消える clearをinterior.color=rgb(255,255,0)とか変えてみたら?
|
- Excel VBA 質問スレ Part41©2ch.net
232 :デフォルトの名無しさん[sage]:2016/05/14(土) 02:27:15.10 ID:TfiX7v5Q - >>231
比較というより フィルタ機能で列毎に表示または非表示にする条件を シートにまとめて書いてるだけだって 試しにシート2で1列だけ残して他の列を全部消して動かしてみたら?
|
- Excel VBA 質問スレ Part41©2ch.net
233 :デフォルトの名無しさん[]:2016/05/14(土) 02:36:02.98 ID:TfiX7v5Q - Sheet4を追加して、下のように変えて実行してみたらわかるかも
With Sheet3.Range(
|
- Excel VBA 質問スレ Part41©2ch.net
234 :デフォルトの名無しさん[]:2016/05/14(土) 02:37:26.14 ID:TfiX7v5Q - Sheet4を追加して、下のように変えて実行してみたらわかるかも
With Sheet3.Range("A1").CurrentRegion .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheet2.Range("A1").CurrentRegion, copytorange:=Sheet4.Range("A1") End With xlFilterInPlace→xlFilterCopy に変えて コピー先をSheet4.Range("A1")に指定 Sheet3の表に、Sheet2のフィルタ条件で、フィルタした結果をSheet4にコピーする
|
- Excel VBA 質問スレ Part41©2ch.net
236 :デフォルトの名無しさん[]:2016/05/14(土) 02:42:52.92 ID:TfiX7v5Q - フィルタが掛かっている状態かもしれないから
フィルタをクリアしてから実行した方が良い
|
- Excel VBA 質問スレ Part41©2ch.net
237 :デフォルトの名無しさん[]:2016/05/14(土) 02:49:28.56 ID:TfiX7v5Q - シート2の1行目はシート3の列名と等しくなっているはず
シート2の列名の下にフィルタ条件が書かれる コードを実行すると シート3の表にフィルタが掛けられる その条件はシート2に書いた列でその下の値を持つ行だけが表示される .SpecialCells(xlCellTypeVisible).Clear をしているから、フィルタを掛けた後表示されているセルはクリアされる その後、showallしてるからフィルタがクリアされる 結果として、フィルタ条件に合わなかった行が残る
|
- Excel VBA 質問スレ Part41©2ch.net
241 :デフォルトの名無しさん[]:2016/05/14(土) 03:12:37.15 ID:TfiX7v5Q - >>235
元のコードで clearしてるコードをコメントアウトして実行すると フィルタした後に、showalldataするから何も変化しないはず 今度は、showalldataをコメントアウトしたらフィルタが掛かった状態のままになるはず
|
- Excel VBA 質問スレ Part41©2ch.net
243 :デフォルトの名無しさん[]:2016/05/14(土) 03:21:50.26 ID:TfiX7v5Q - >>238
public sub xlacall() call fileName.xla!subName end sub みたいなのを作るとか
|
- Excel VBA 質問スレ Part41©2ch.net
247 :デフォルトの名無しさん[sage]:2016/05/14(土) 10:17:33.94 ID:TfiX7v5Q - >>246
xlaの方でアドイン先のブックにxlaのプロシージャを呼び出すボタンとかを作る様にすれば良いのでは? ブックにアドインしたら、そのブックにボタンが作成される感じ
|