• ベストアンサー

エクセル セル移動 マクロ

ウインドウの固定を使用しています A列からAX列まであります C列固定しているためD列からAX列まで動くのですが エクセルの下の動かすスクロールバーでしか移動できなくて 大変なので 一行目の空いてるスペースにボタンを作成し 左に行くボタン  右に行くボタン を作成する 左右のボタンを1回押すとセルが3個程ずれる 左右ボタンは1行目の同じ位置で固定したいのですがどうすれば いいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 下のスクロールバーで移動するのがそれほど大変だとは思えないのですが、 該当のシートにコントロールのボタンを挿入して、そのシートタブを右クリックして 「コードの表示」でVBE画面を出して、 Private Sub CommandButton1_Click()   With ActiveCell     If .Address = "$A$1" Then       Me.Range("D2").Select     Else       On Error Resume Next       Application.Goto Selection.Offset(, -3), True       On Error GoTo 0     End If   End With End Sub Private Sub CommandButton2_Click()   With ActiveCell     If .Address = "$A$1" Then       Me.Range("D2").Select     Else       On Error Resume Next       Application.Goto Selection.Offset(, 3), True       On Error GoTo 0     End If   End With End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range)   Dim r As Range       With ActiveCell     If .Row > 1 And .Column > 3 Then       Set r = .EntireColumn.Cells(1)     ElseIf .Address = "$A$1" Then       Set r = Me.Range("A1")     End If   End With    If Not r Is Nothing Then     With ActiveSheet.Shapes("CommandButton1")       .IncrementLeft r.Left - .Left       .IncrementTop r.Top - .Top     End With     With ActiveSheet.Shapes("CommandButton2")       .IncrementLeft r(, 2).Left - .Left       .IncrementTop r(, 2).Top - .Top     End With     Set r = Nothing    End If End Sub を貼り付けて試して下さい。

jikkenn
質問者

お礼

ありがとうございます 動きました 使わさせて頂きます

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8536/18274)
回答No.2

単にセルの移動をしたいだけですよね。 1. スクロールバーを使う。 2. 左右の矢印キーを押し続ける。 3. Ctrlキーを押しながら左右の矢印キーを使う。 4. Endキーを押してから(Endモードに入ってから)左右の矢印キーを使う。 5. A列の列番号の上の部分にある現在のセル番地に直接にセル番地を(例えばAX1のように)入力する。 わざわざ移動ボタンを作らなくても,これで十分に素早く移動できると思うよ。

関連するQ&A

専門家に質問してみよう