2012-09-03 22:07:34 +0000 2012-09-03 22:07:34 +0000
9
9

エクセルVBA「非選択」募集

VBAの実行が終了した後の最終的な外観を選択から空っぽにしたいのですが、どのシートにもセルや範囲が色付き(範囲が選択されていた場合)、太線のボックス(選択されていたもの)にもないようにしたいです。Pupose: クライアントの最終的な外観を整然としたものにする。

検索してみましたが、この方法が見つかりません。MSによるとUnselectがありますが、何もしていないようです。

回答 (8)

10
10
10
2013-11-25 13:31:37 +0000

任意のセルを選択し、CutCopyをオフにします。

Range("A1").Select
  Application.CutCopyMode = False
2
2
2
2012-09-05 18:38:48 +0000

エクセルはいつも何かが選択されている。これを回避する方法が必要です。画面外のセルを選択すると、そこにフォーカスが設定されるので、それだけではうまくいきません。このコードでは、カーソルを画面外に配置し、シートをスクロールして A1 を表示するようにしています。

Sub NoSelect()    
  Range("BB100").Select
  ActiveWindow.SmallScroll up:=100
  ActiveWindow.SmallScroll ToLeft:=44
End Sub

本当に「何も選択されないようにしたい」のであれば、VBAを使ってコード実行の最後にシートを保護することができます。これをマクロに追加するか、VBAに直接記述することができます。

Sub NoSelect()
   With ActiveSheet
   .EnableSelection = xlNoSelection
   .Protect
   End With
End Sub

シートが保護されなくなるとすぐに、カーソルはセルをアクティブにします。

2
2
2
2014-09-04 13:06:33 +0000

トリッキーな方法があります。

ボタンなどのオブジェクトを作成します。このボタンを選択してから非表示にすると、セルが選択されなくなります。

ActiveSheet.Shapes("Button 1").Visible = True

ActiveSheet.Shapes("Button 1").Select

ActiveSheet.Shapes("Button 1").Visible = False

以上です。

1
1
1
2018-12-20 12:44:14 +0000

非常に古い質問ですが、参考までに私の答えを紹介します。

With ActiveSheet
    .EnableSelection = xlNoSelection
    .Protect
End With
``` を使うことができます。
1
1
1
2015-02-22 19:00:40 +0000

選択範囲のサイズに応じて、任意のアーチファクトを取り除くために(これは2013年のExcelでも問題かどうかはわかりませんが、Macではそれは私のための一定の痛みでした)、あなただけのセルごとにセルをループして、それぞれを選択することができます。

1
1
1
2016-04-11 07:18:46 +0000

セルを選択する前に画面更新をオフにすることで、選択したセルへのスクロールが一時的に無効になります。

このコードは、現在どのセルが表示されているかをチェックし、表示されていない最初のセルを選択します。例えば、試してみると 表示範囲はA1:BC79なので、このコードはA80を選択し、下へ右へスクロールして再度実行すると、最初に表示されている列の下に表示されていない最初のセルが選択されていることがわかります。

Dim r As Range Application.ScreenUpdating = False Set r = Application.ActiveWindow.VisibleRange r(r.Cells.Count + 1).Select Application.ScreenUpdating = True
1
1
1
2012-09-05 17:56:56 +0000

答えはカンニングしかない。

Aと行1

A1にカーソルを置く。B2の角に小さな点ができます。

0
0
0
2016-10-11 16:29:56 +0000

トリックを使ってみましょう。図形を追加して、それを選択して非表示にします。

これのソースコード は、このサイトの別の質問の回答にあります。