• ベストアンサー

エクセルVBAで簡単に上付き文字を設定

エクセルで数式バーの文字を反転させてボタンをクリックすれば上付き文字になるようなコマンドボタンを作りたいのですが反転文字の認識のさせ方がよくわかりません。VBAで数式バーの反転文字の認識のしかたを教えてください。(エクセル2003を使っています。)設定したい文字が多いため ctrl+1 alt+b よりもボタンでポチッと設定したいのです。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

やりたい事は分かるのですが、多分無理 理由はセルを編集可能にすると対話処理とみなされ マクロ等の対話処理以外の機能が起動しない 代替処理として下記を使用してみて ’--------------------------------------------------- Sub 数字のみ上付き設定() Dim セル As Range Dim 値 As String Dim 文字の位置 As Integer For Each セル In Selection For 文字の位置 = 1 To Len(セル.Value) 値 = Mid(セル, 文字の位置, 1) If 値 Like "#" = True Then セル.Characters(Start:=文字の位置, Length:=1).Font.Superscript = True End If Next 文字の位置 Next セル End Sub ’--------------------------------------------------- Sub 数字のみ下付き設定() Dim セル As Range Dim 値 As String Dim 文字の位置 As Integer For Each セル In Selection For 文字の位置 = 1 To Len(セル.Value) 値 = Mid(セル, 文字の位置, 1) If 値 Like "#" = True Then セル.Characters(Start:=文字の位置, Length:=1).Font.Subscript = True End If Next 文字の位置 Next セル End Sub ’--------------------------------------------------- Sub 上付下付の解除() Dim セル As Range For Each セル In Selection セル.Font.Superscript = False セル.Font.Subscript = False Next セル End Sub ’--------------------------------------------------- 使用方法は処理対象セルを選択(複数選択可) お好きなマクロを実行してください 数字しか対照にしていません 数字以外も対象だったらごめんなさい

dan_hachi
質問者

お礼

お礼が遅くなりましてすみません。 やっぱりできないのですね! ご回答は参考なります。 いろいろとご検討いただきましてありがとうございました。

その他の回答 (2)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

これですかね。 Sub test()   '取消   With ActiveCell.Font     .FontStyle = "標準"     .Strikethrough = False     .Superscript = False     .Subscript = False     .OutlineFont = False     .Shadow = False   End With      '下付き(B)設定   ActiveCell.Characters(Start:=5, Length:=5).Font.Superscript = True   '   For wC = 1 To Len(ActiveCell)     If ActiveCell.Characters(Start:=wC, Length:=1).Font.Superscript = True Then       MsgBox "下付き(B)"     End If   Next End Sub

dan_hachi
質問者

お礼

本当にご回答ありがとうございます。 しかし、少し違います。具体的に質問しなくて申し訳ありません。 例えば    A   B   C 1 H2O CO2 Fe2OH3 などたくさんの文字列があり、文字数や上付き、下付きにしたい文字位置が異なる場合、今は”A1”セルの H2O の真ん中の ”2”を反転させてctrl+1->alt+b で下付に設定しています。また次に”B1”セルの最後の”2”を選択して同じ操作を繰り返すのですが、この作業をVBAでコマンドボタンやユーザー設定のツールバーなどをつかってセル内の文字を反転させてボタンをポチッて行いたいのです。

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

反転文字は、セルの選択範囲の事ですよね。   For Each C In Selection     C.Font.Superscript = True  '上付き(E)     C.Font.Subscript = True   '下付き(B)   Next

dan_hachi
質問者

お礼

早々のご回答ありがとうございます。 しかし、反転文字はセルの選択範囲でなくセルの中の文字の一部分です。

関連するQ&A

  • excel97のVBAについて

    始めまして、MV3307と申します。 さて下記内容を、VBAでコードを書くつもりですが、マクロ初心者で記載 方法が分からないので是非ご教授お願いいたします。     記 (1)EXCELの"Sheet1"の数式バーに式が表示してあります。 (2)VBAの"コマンドボタン"をクリックして、数式バーの式をTexBoxに取得する。 以上です、宜しくお願いします。    

  • エクセル文字飾り 上付き

     エクセルの入力で2の二乗とするとき、22と入力した後に、一の位の2をドラッグしたあと「書式」→「セルの書式設定」→「文字飾り」→「上付き」にレ点 を入れるのですが、もっと簡単にやる方法はありましたらどなた様かおしえていただけませんでしょうか?  毎日入力するので、骨が折れます。(面倒くさいです。)  宜しくお願いいたします。

  • エクセル VBA 

    エクセル VBA  Sheet上にコマンドボタンをクリックさせたら 電卓表示させるにはどのように記述をしたら良いですか? (1)勿論、VBAで電卓作成したいのですが…何か良いサイトはありますか?それか  作り方を教えて欲しいです。 (2)ツール⇒すべてのプログラム⇒アクセサリ⇒電卓  で表示できますよね!それをコマンドボタンクリックで  表示させるには、どのように記述したら良いですか?   すいません教えてください!

  • エクセルVBAで複数のセルの操作

    コマンドActivecell.Valueという指定の仕方ってありますよね。でもアクティブなセルをCtrlボタンで複数にするとこのコマンドでは操作できないですよね。 たとえばアクティブセル(内容:文字列)をちりばめて、そのすべてに"氏"とつけるマクロを作りたいのですが、どうすればいいのでしょうか。 分厚いVBA辞典を買ったのですが、載っていないもので…

  • エクセル VBA

    エクセル VBA コマンドボタン(印刷)をクリックするとSHeet1・SHeet2が 2つ印刷出来るような設定にしたいです。 普通は、SHeet1をコピーして Sheet2の画面を開いてコピーという手順を ボタン押すと、SHeet1・SHeet2が印刷されるようにしたいのですが・・・・ ちなみに印刷設定は出来ています。 このような ことはマクロで出来るのでしょうか? 記述を教えて下さい!

  • Excel VBAについて

    Excelでセルに入力した文字等を数式バーに表示させないようにするのは、 どのようにしたらよいのでしょうか? 数式バーを非表示にする以外の方法を教えて下さい。

  • OpenOffice Calc(エクセルの互換)の余白設定について

    OpenOffice Calc(エクセルの互換)で印刷プレビューや印刷はできますが、余白設定のボタンが反転されていてクリックできません。 どうやれば良いでしょうか? (最上段のバーのページレイアウトに七個くらいのボタンがありますが、"印刷範囲"だけがクリックできて、他の"余白"などはクリックできない状態です。(色が反転?していない))

  • VBA(エクセル)で自動的にボタンをクリックさせるには

    いつもお世話になっております。 下記のことがしたいのですがどうやって良いのかがわからなくって困っております。 やりたいこと。 AブックとBブックが有るとします。(双方ともエクセルファイル) エクセルのVBAで、Aブックのシート上のコマンドボタンを押すと Bブックのシート上のコマンドボタンをクリックするという動きを VBAでさせたいのですがどうしてもクリックさせることができません。 試したこと。 初めは、AのボタンをクリックするとBのボタンをセレクトして SendKeysでENTERを送ってみたりしたのですがうまくいきませんでした。 何かやり方が有りましたら、お教えいただけませんでしょう。 宜しくお願いいたします。

  • パワーポイント2007で上付き・下付き文字を使う方法

    最近MS-Office2007をXP上で使い始めました。 パワーポイント2007で上付き文字・下付き文字はどうやって出したらいいのでしょうか? パワポ2003ならば「表示」「ツールバー」「ユーザー設定」で 書式の項目の中から、「上付き」「下付き」ボタンを探してくれば、 斜体や太文字ボタンと同じ要領で使えたのですが。 どなたかいい方法をお教えください。

  • VBAの書き方

    初歩的ですいません。 エクセルのVBAを利用してセル内に「"」を書き込むことは不可能なのでしょうか?? =if(A1="","","ok") と言う数式をVBAからセル内に書き込みたいのですがVBAで "" をプログラム上の文字として認識されてしまい書き込めません。 ご教授いただけないでしょうか??