• ベストアンサー

Excelショートカット(下付き)

ExcelにはWordのように自分でショートカットを作れないのでしょうか? 入力するときに、「下付き」を良く使うのですが、その都度文字を 選択してセルの書式を出して・・・とやっていてとても面倒です。 ショートカットがつくれないにしても、せめてツールバーに出せない でしょうか? 大抵のものはツールバーに出せるのに、下付き だけはいくら探してもありません。 よろしくお願いします。

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

  • ベストアンサー
  • azzu0707
  • ベストアンサー率46% (62/132)
回答No.1

プロパティ系のコマンドは外だしはつらいでしょうね。 マクロに登録してマクロボタンを作成してみては?

moby2002
質問者

お礼

マクロは使ったことがないので、ちょっと遠慮したいのです。 ありがとうございました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 基本的には、Wordのようなショートカットは、Excelの一般的なマクロの範疇では出来ません。それは、一文字選択した段階で、Excelでは、【入力待ち】の状態になって、マクロが利きません。 だから、一旦、入力が終わった状態で、セルを選択して行わなくてはなりません。 これは、文字の最後尾を下付き、上付きにするマクロです。 時々、Userform で変更させるユーティリティを作る人がいますが、私には、それは、非効率的だと思います。Userform の起動時間やら手間を考えたら、ショートカットのほうが速いです。 このマクロは、個人用マクロブックの標準モジュールに登録してください。 ショートカットは、ツール-マクロ-マクロで、 マクロ名(M) で、名前を選択-オプション(O) で、ショートカットキー(K) Ctrl+ □ を登録します。 なお、書式の一種ですから、最後尾の文字を替えた後は、そのまま入れると、その書式は継続されます。 '個人用マクロブックの標準モジュール '----------------------------------------- Sub SubScriptChange()   Dim mySize As Double   Dim intLen As Integer   '下付き   Application.ScreenUpdating = False   With ActiveCell    If .Value <> "" And VarType(.Value) = vbString Then     ' .Value = Trim(.Value) 'Trim は必要ならいれてください。      mySize = .Font.Size      intLen = Len(CStr(.Value))           For i = 1 To intLen       With .Characters(Start:=i, Length:=1).Font         .Superscript = False         .Size = mySize         If i = intLen Then          .Subscript = True          Else          .Subscript = False         End If       End With      Next    End If   End With   Application.ScreenUpdating = True End Sub '個人用マクロブックの標準モジュール Sub SuperScriptChange()   Dim mySize As Double   Dim intLen As Integer   '上付き   Application.ScreenUpdating = False   With ActiveCell    If .Value <> "" And VarType(.Value) = vbString Then     ' .Value = Trim(.Value) 'Trim は必要ならいれてください。      mySize = .Font.Size      intLen = Len(CStr(.Value))      For i = 1 To intLen       With .Characters(Start:=i, Length:=1).Font         .Subscript = False         .Size = mySize         If i = intLen Then          .Superscript = True          Else          .Superscript = False         End If       End With      Next    End If   End With   Application.ScreenUpdating = True End Sub

moby2002
質問者

お礼

ありがとうございました。やはりExcelで入力をあれこれ 操るのは難しいというか、本来の趣旨ではないですね。 マクロも書いていただいたのですが、普通にコツコツとやることに なると思います。 ありがとうございました。

関連するQ&A