[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『どのセルも選択されていない状態』(shut)
現在選択されているセルを選択解除して、どのセルも選択されていない状態にするに は、どんなコードがあるのでしょうか? 調べたところ DataGridViewコントロールのClearSelectionを使用するとあったのですが、使用方法が分かりません。
>現在選択されているセルを選択解除して、 >どのセルも選択されていない状態にするに は、どんなコードがあるのでしょうか?
別のオブジェクトを配置して(例えば、アートシェイプやコマンドボタン)して、それを ↑オートシェイプでした 選択すれば、良いですよね?
どのセルも選択されていないように
見せるには・・・、
Sub sample() With Application.CommandBars.FindControl(, 182) If .State = 0 Then .Execute End With End Sub
但し、Excel2007では試せません、Excel2002で確認
ichinose@5:47訂正
Excel 2007 でも動作しました。 (Mook)
もともとやりたいのは、
コントロールキーを押しながら、離れたセルを複数選択したいのですが、 マクロを起動する時にA1が選択されていたとします。 すると、【コントロールキーを押しながらセルを選択して下さい。】とメッセージを出すと A1が含まれて選択されてしまいます。 一個目のセルを選択するときにコントロールキーを押さないでクリックするのが通常ですが、 いろんな人が使うので、誤操作防止したいのです。
その為にどこのセルも選択されていない状態を作りたいのです。 どこのセルも選択されていない状態が無理ならば、
1)MsgBox "セルを一個選択して下さい。" 2)MsgBox "セルを複数選択して下さい。コントロールキーを押しながら" となり、クリック数が増え煩雑です。 何か良い方法はないでしょうか? 議題が違ってくるかもしれませんが。 (shut)
根本的な解決ではありませんが、
> 1)MsgBox "セルを一個選択して下さい。" > 2)MsgBox "セルを複数選択して下さい。コントロールキーを押しながら"
ではなくて、 1)MsgBox "セルを一個選択して下さい。次にコントロールキーを押しながら、セルを複数選択して下さい。"
みたいなことではではだめでしょうか? 又は、最初にダミーのセルを選択しておき、 マクロの処理ではそのダミーのセル以外で処理をさせるとか。 (sato)
やりようだと思いますね。(2007で動くか解りません。) 最初、こんな感じでIV65536(EX2003までなら)でもを選択しておけば、 選択されているセルが、そう見える物ではないと思います。
Application.ScreenUpdating = False UPP = ActiveWindow.ScrollRow LeF = ActiveWindow.ScrollColumn Cells(Rows.Count, Columns.Count).Select ActiveWindow.SmallScroll Up:=ActiveWindow.ScrollRow - UPP ActiveWindow.SmallScroll toLeft:=ActiveWindow.ScrollColumn - LeF Application.ScreenUpdating = True
最終的には、選択セルの1番初めのセルがIV65536だったら候補から外すとかすれば。 最初に選択されていたセルのアドレスは、これで解ります。 Msgbox Selection.Areas(1).Address BJ
こっちの方がいいかも。BJ Cells(Rows.Count, Columns.Count).Select ↓ Application.Goto reference:=Cells(Rows.Count, Columns.Count), scroll:=True
>もともとやりたいのは、 以下に記述されているバックボーンの説明を最初の投稿で記述してください!!
Application.Inputboxメソッドを使って セル範囲を選択されば アクティブセルの事を 意識しないで済みますよね!!
Sub testtest() Dim rng As Range On Error Resume Next Set rng = Application.InputBox("セル範囲を選択してください" & vbCrLf & _ "複数のエリアを選択したい場合は Ctrlキーを押しながらセル範囲を選択して下さい", , , , , , , 8) If Err.Number = 0 Then MsgBox "選択したセル範囲は、" & rng.Address On Error GoTo 0 End Sub
ichinose
しかし、元々のやりたいのは、ichinoseさんの言う方法で良かったです。 BJさん、satoさんには、回りくどい説明によりご迷惑をおかけしました。(shut)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.