- ベストアンサー
エクセル特定セルの表示拡大マクロ
jcctairaの回答
- jcctaira
- ベストアンサー率58% (119/204)
uchinryoさん はじめまして。 セルを選択し入力すると「Worksheet_SelectionChange」「Worksheet_Change」イベント等は 発生しないようですね。 アプローチ方法を変えた方が良いかと思います。 入力セルを保護・非保護に設定し、シートを保護すれば良いかと思います。 その時、保護が掛かっていないセルだけ移動できるように「EnableSelection」のプロパティを 下記のように設定すれば良いかと思います。 ご検討ください。 Sub 入力域設定() ActiveSheet.Unprotect Cells.Locked = True Range("A2,B2,C2,D2,E2,A4,B4,C4,D4,E4").Locked = False ActiveSheet.EnableSelection = xlUnlockedCells ActiveSheet.Protect End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("D2,D4")) Is Nothing Then ActiveWindow.Zoom = 100 Else ActiveWindow.Zoom = 140 End If End Sub
関連するQ&A
- エクセル/マクロ/セルの選択について(初心者です)
最近マクロ機能を使い始めた初心者です。 マクロの記録を使い、ちょっとだけVBEで触っています。 以下のような場合、なんと記述すればよいでしょうか? 詳しい方にはとても簡単だと思われ、お恥ずかしいですが、 教えていただけましたら幸いです。 【実現したい内容】 あるセル範囲を指定している時に、実行すると、 指定していた範囲の行の、A列のみが選択される ※例えばB1:B3、またはC1:C3、またはD1:E3 のをセル範囲を選択している時に、マクロを実行すると いずれの場合もA1:A3を選択する。 表現が分かりにくいでしょうか…?
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロでセル選択するには
初心者です! エクセルのSheet1に30箇所のセルをマクロで選択したいのですが、 たまに選択するセルが変わります。 そこで、Sheet2のA1から下へSheet1の選択する位置を「B2」「C5」「D10」・・・としてマクロで一発で30箇所のセルを選択する方法を教えてください Sheet2のA1から下へ入力するセル位置はその都度変化します。 変化したときにそのマクロを実行すると選択できるといいのですが!! よろしくお願いします。
- ベストアンサー
- Windows NT・2000
- エクセルマクロ特定のセル
マクロの勉強したばかりですみませんが、 エクセル2003で、特定のセルが選択されたときにマクロを実行したいのですが、可能でしょうか? どうやればよいか教えていただきたいです。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロのセルの選択について
エクセルのマクロについて教えてください。 シート上にボタンを作ります。 そのボタンをクリックする前に適当にセルを範囲指定(アクティブ)に しておきます。 セルをアクティブにしたその状態で、ボタンをクリックすると、どこから どこまで範囲指定しているのかわかるようなマクロは作れるでしょうか? (1)たとえばB3からD10まで範囲指定しているときは、B3とD10のセルの場所 をひっぱってくるような... (2)あるいは cell(?1,?2) ←B3とD10の ?1 と ?2 の値を求めるような... できれば(1)のようなB3とD10のセルの場所が直接わかるようなマクロが現在考えています処理にあっているので、そのほうがいいと思っているのですが.. お忙しいところ申し訳ありませんが宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- マクロのセルの範囲指定
お世話になります。マクロ初心者です。エクセルの業務でマクロを作成しようとしているのですが、マクロ実行で、セルの範囲が指定される方法はありますか?例えば シート名 開始 終了 Sheet1 A1 D10 を入力して、ボタンを押したらA1からD10までのセルが選択されることです。説明不足ですみません。宜しくお願いします。
- 締切済み
- Visual Basic
- マクロが実行されるセル範囲の変更を簡素化したい
excel 2016を使っています。 例えば、ボタンを押すと指定したセルA1~A10までに入力されている数値を昇順に並べ替えるマクロがあるとします。 この数値が入力されているセルA1~A10の範囲をドラックして、D1~D10の位置に移動すると、マクロが実行される範囲を新たにD1~D10に指定しないとならないのですが、マクロが実行される範囲をA1~A10の範囲に固定して、別の場所に移動してもマクロを修正しなくても良い方法はありますか。
- ベストアンサー
- Excel(エクセル)
- マクロで複数のセルに数値を入力したい
エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでのマクロ作成
エクセルで作成したボタンをクリックすると以下の事を行うマクロを作りたいと思っています。 (1)最初に貼り付けたいセルの範囲をドラッグで選択する。(手動) (2)マクロを登録したボタンを押す。 (3)マクロ内で指定したセル(たとえば $A$1)をコピーして、(2)でボタンを押してマクロを実行する前に(1)で選択したセルの範囲に貼り付ける。 VBAが分からないので難儀しています。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル・マクロで「特定セル選択時のみ」実行可能な・・・
いつも「作成依頼」のような質問で大変恐縮ですが、よろしくお願いします。 【状況】 A1・A2・A3のいずれか一箇所を選択状態にし、マクロを実行すると「要確認!」という文字が 記入されるという単純なものを使っています。 【問題点】 ところが無関係なセルを選択中に実行してしまうと、そのセルで実行されてしまい、気がつくと「要確認!」が とんでもない所に発生してしまいます。 実行範囲が3つのセルにまたがっており、あらかじめ固定することが出来ません。 【やりたい事】 A1・A2・A3のいずれか一箇所が選択されている時のみに実行させる方法はないでしょうか? どなたか教えてください(ponta_024)
- ベストアンサー
- Windows XP
- Excelのマクロで特定のセルに罫線を引きたい
Excelのマクロで特定のセルに罫線を引きたいのですが、 自分で実行したマクロを確認すると長過ぎてとても見づらいです。 それで調べて下記のようにまとめてみたのですが、 2つのシートをグループ選択する段階で止まってしまいます。 Dim 最終行 As Integer 最終行 = (Range("F65536").End(xlUp).Row) Sheets(Array("Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate ActiveWindow.LargeScroll Down:=1 Range("F1:F" & 最終行).BorderAround LineStyle:=xlNone, _ Weight:=xlThin, _ ColorIndex:=xlAutomatic With Selection.Borders(xlInsideVertical) End With どちらのシートも同じ列の最終行まで範囲選択することに変わりありません。 シンプルで簡単な書き方はないでしょうか? どうかよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
補足
jcctairaさん はじめまして。 早速回答ありがとうございました。 おっしゃるとおり保護設定で選択セルを限定すれば、特定セル選択で拡大できました。 ありがとうございました。 しかしながら、「名前の管理」で選択範囲のセルの移動順序を設定していることもあって 希望のセル移動順序があります。 入力域設定マクロで保護をかけた上でセルの選択範囲(順序)を呼び出しても、その順序を無視してエクセル通りの移動をしてしまします。 現状では下記のような移動順序です。(Enterキーで移動) A2→A4→B2→B4→C2→C4→D2→D4→E2→E4 希望としては下記のような移動順序です。(Enterキーで移動) E4→E2→D2→C2→B2→A2→A4→B4→C4→D4 当方でも、セルの移動順を決めるマクロを模索してみます。 勝手なことばかり言って申し訳ありませんが、よろしくお願いします。