こんばんわ!
今回は要望なのですが
仕事でエクセルのフィルタ機能を良く使います
その際、表示されていない部分のデータは取得したくない事が
よくあります。
エクセルコピーでクリップボード経由で変換をかければ
取得は出来るのですが、エクセルの可視をオンの状態で行うと
画面が反転したりチラついたりするのでどうも見苦しいのです。
そこで、指定した行(又は列)の表示非表示の設定がわかれば
それを元に一括取得が出来るので便利かと思います。
出来るだけマクロは使用したくないので是非実装して
いただければと思います。
以下マクロを使用した場合のソース
'エクセルのマクロ部分(変数型は指定してないです)
'ここから
Function 次表示行取得(I)
For n = I + 1 To 65536
If ActiveSheet.Rows(n).Hidden = False Then Exit For
Next
次表示行取得 = n
End Function
Function 行非表示設定確認(I)
If ActiveSheet.Rows(I).Hidden = False Then
行非表示設定確認 = 1
Else
行非表示設定確認 = 0
End If
End Function
'ここまで
#なでしこソース(例)
#ここから
母艦を最前面
エクセル起動
「{デスクトップ}Book1.xls」をエクセル開く
母艦をマウス押した時は~
(母艦の押されたボタン)で条件分岐
"左"ならば
エクセル選択行取得
それのエクセル次表示行取得して表示
"右"ならば
エクセル選択行取得
それのエクセル行非表示設定確認して表示
●エクセル次表示行取得(Aの)
N=INT(A)
もし(N>1)ならば、
"次表示行取得"をNでエクセルマクロ実行
戻る
違えば
-1で戻る
●エクセル行非表示設定確認(Aの)
N=INT(A)
もし(N>1)ならば、
"行非表示設定確認"をNでエクセルマクロ実行
戻る
違えば
-1で戻る
#ここまで