- ベストアンサー
(続)「10/7」と入力したら「10/7」に
先の質問( http://okwave.jp/qa/q9383186.html )で、私の希望どおりにならないことは理解しましました。 それでは、… セル(範囲)に「10/7」と入力したら「10月7日」にはなるが、当該範囲を選択してクイックアクセスツールバーに配置したアイコンをツンしたら、「10/7」となるアイコンをマクロ音痴な私が作成することは可能でしょうか? もし可能なら、その手順を教えてください。 ちなみに、Excel 2013 (15.0.4963.1000) を使用しています。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
No3です。 > 新規ファイルを開き、VBEを起動して、… >でもう躓いています http://exvba.officehp.com/category/7062720-1.html こちらの手順でVBEを起動します。 >それが分かったら次の「標準モジュールを追加」 >の方法も分かるのでしょうか? VBEのメニューより[挿入]⇒[標準モジュール]を選択します。 標準モジュールに提示したマクロを貼り付けます。 貼付け後、右上の×ボタンを押すとVBE画面が閉じてSheet1画面に戻ります。 あとは前回お知らせした「クイックアクセスツールバーに登録」で 進めてください。
その他の回答 (9)
- imogasi
- ベストアンサー率27% (4737/17069)
補足に対し再説明 日付が入力されているシート画面(1月12日のように出ている)で ALT+F11(ファンクションキー11) +は同時押しすることを示す。 VBE画面になるので メニューの、挿入ー標準モジュールでVBE画面の標準モジュール画面(白紙)が出る。 そこへ、回答の Sub Macro1() 'ActiveCell.Select ActiveSheet.Range("A:A").Select Selection.NumberFormatLocal = "m/d" End Sub Sub Sample2() Application.MacroOptions Macro:="Macro1", ShortcutKey:="j" End Sub の部分をコピペする。 Sample2の行をクリックしておいて(選択しておいて)、F5(VBAの実行)のキーを押す。 シートに戻り、CTRLキーを押しつつjのキーを押す。 日付が1/12のような表示形式になる。 ーー 再度テストして確認済み。
補足
imogasiさん、お世話になっています。 私の補足説明に書いたように、Alt+F11 の操作は最初は VBE画面が出て「標準モジュール画面(白紙)」上に該当コードをコピペ出来たのです。 しかし「F5(VBAの実行)のキーを押す」操作を知らなかったので、試行錯誤をしている内に」「標準モジュール画面」が出たくなってしまったのです。 今は別の新規ブックを起動して、Alt+F11 を実行してもVBE画面が出なくなっています。どうしたらよろしいのでしょうか? マクロ音痴で済みません。
- tsubu-yuki
- ベストアンサー率46% (179/386)
静観しようと思ったのですが、横入りします。 失礼します。 私は「個人用マクロブック」を使います。 以下、ざっと手順です。 ※フォーカス移動など、一切しないで一連の操作をします。 ひとまず、リボンに「開発」タブを表示させます。 ファイル⇒オプションからリボンのユーザー設定。 右側の「ユーザー設定」配下の「開発」にチェックを入れてOK。 表示された「開発」タブから「マクロの記録」をクリック。 マクロの保存先を「個人用マクロブック」にして、OK。 セルの書式設定(Ctrl+1 でもなんでも可)で表示形式を「m/d」。 「開発」タブから「記録終了」。 Ctrl+F11でVBE起動。 (以下暫くVBEで操作) (画面左側)VBAProject(PERSONAL.XLSB)の標準モジュール、 Module1をダブルクリック。そうすると右側に Sub Macro1() ' ' Macro1 Macro ' ' Selection.NumberFormatLocal = "m/d" End Sub と記録されているはず(環境に依って少し違うかも)なので、 「Sub Macro1」⇒「Sub Date_MD」※何でもいいです。 と書き変え。 VBEを閉じる。 (以下、エクセルに戻って操作) クイックアクセスツールバー内のどこかを右クリック、 「クイックアクセスツールバーのユーザー設定」を選択。 コマンドの選択から「マクロ」を選択。 「PERSONAL.XLSB!Date_MD」(先ほどのマクロ)があるはずなので ユーザー設定に「追加」ボタンで追加。 アイコンを変えるなら適宜どうぞ、でOK。 コレで、クイ(略)に追加されたはずなので、 試験的に適宜セルを「1月3日」とでもしておいて、 クイ(略)に配置されたアイコンをポチンとしてやると・・ うまくいくと良いなぁ、という感じです。 なお、直後にエクセルを終えるタイミングで 「個人用マクロブックを保存するか?」と聞いてくるので、 迷わず保存してやってください。 そうすると次回起動以降もクイ(略)に設置されたアイコンが使えます。 逆に言うと、保存しておかないと次回以降は使えないという事です。 ご注意くださいませ。 なお(2)、クイ(略)に登録するマクロは 「エクセル起動時に動く状態にしといてあげたい」ものです。 その点、個人用マクロブックは一度所定位置に作ってしまえば エクセル起動のタイミングで勝手にバックグラウンドで動いてくれて 起動と同時にその中のマクロが有効化されます。 ※ちなみに所定位置はデフォルトで ユーザー\AppData\Roaming\Microsoft\EXCEL\XLSTART フォルダです。 まぁつまり、非表示状態で動いてますよってことです。 適宜ブックに保存してしまうと 「エクセル起動のたびにそのブックを開いておかなければならない」ので、 ものすごく面倒な上に物凄く邪魔です。 ※ちなみに、その他ブックのマクロを登録しておくと ツンするたびにそのブックが開いて邪魔です。 開くと同時に非表示する仕掛けを仕込んであるなら別。 あるいは「そのブック限定」のアイコンと割り切るならそれも可です。 いつも長々とすいません、と思いつつ書いてきましたが、 クイ(略)には所定の場所に保存されたバイナリシート・・ つまり個人用マクロブック以外のブックに保存されたマクロは 登録しない方が良いよ、というのが私の結論です。
- bunjii
- ベストアンサー率43% (3589/8249)
>もし可能なら、その手順を教えてください。 あなたの知識と応用力次第ですがリボンへマクロのアイコンを登録することはできると思います。 しかし、個別のマクロはコマンドではないので、クイックアクセスツールバーへ表示することはできないようです。(「マクロの表示」はクイックアクセスツールバーへ表示できます) 参考URLを読んで試してみると良いでしょう。
お礼
私の「知識と応用力」の無さを痛感しています。 コメント、ありがとうございました。
- 9133313
- ベストアンサー率19% (266/1349)
- imogasi
- ベストアンサー率27% (4737/17069)
使うシートを開き ALTキーを押しつつF11ー>VBE画面が出る。 じょうぶに出る、メニューの挿入ー標準モジュールを選ぶと 白紙の画面が現れる。そこに下記コードをコピペ。 Sub Macro1() 'ActiveCell.Select ActiveSheet.Range("A:A").Select Selection.NumberFormatLocal = "m/d" End Sub Sub Sample2() Application.MacroOptions Macro:="Macro1", ShortcutKey:="J" 'Ctrl]+[Shift]+[J]のショートカットキーを設定するには、「ShortcutKey:="J"」のように大文字で指定します。 End Sub 前半は A列を選んで表示形式ーユーザー定義ーm/dを設定。 後半は、 その設定をショットカットキーで実行できるように、VBAで設定するもの。 ーー 利用法 12/23のように入力すると12月23日と、シートでは見える。 CTRL+SHIFT+J(+は同時押しすることの、この世界の一般的お約束表現です)で12/23のように見えるようになる。 12/23のように、1つの半角スラッシュを挟んだ、日付として、リーズナブルな月数字とスラッシュと日にち数字を入力すると、背後では、日付シリアル値(整数値です)という「セルの値」をエクセルが自動で変換(算出)して、標準の表示形式(〇月〇日形式)に設定して表示するが、その表示形式を、ショートカットキーで、自分の好みに設定し直すもの。 上記はA列のセルすべてに設定する内容です。プログラムで選択するので、A列は手動で選択しておく必要なし。日付入力前でも、入力後でも有効。
補足
imogasiさんのご案内のとおりに実行しました。 「12/23のように入力すると12月23日と、シートでは見える」はそのとおりでした。 しかし、そのセルを選択して、Ctrl+Shift+J を実行しても「12/23のように見えるようにな」りませんでした。 それから何処かを弄っている内に、画面全体がグレーアウトしてしまいました。 此処で Alt+F11 を繰り返すと、ワークシート画面とグレーアウト画面の表示の繰り返しになり、当初の VBE画面、標準モジュール、入力していたコード画面が表示されなくなりました。 当初の正規画面に戻すにはどうしたらよろしいのでしょうか?
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
- watabe007
- ベストアンサー率62% (476/760)
>当該範囲を選択してクイックアクセスツールバーに配置したアイコンをツンしたら マクロは、 Sub 表示形式の変更() Selection.NumberFormatLocal = "m/d" End Sub クイックアクセスツールバーに登録は https://kokodane.com/2013_macro_56.htm を参考に
お礼
》 クイックアクセスツールバーに登録は 》 https://kokodane.com/2013_macro_56.htm 》 を参考に でご案内のページ中に 「マクロを入力したらファイルをマクロ有効ブック(xlsm)で保存します」とあります。 その保存場所は何処を指定するのか教えてください。 それが分かれば、その後の「コマンドの選択でマクロを選択し、表示されるマクロの中から登録したいマクロを選択」することが出来ると考えています。
補足
ありがとうございます。 ご案内の URL のページにおいて、 》 新規ファイルを開き、VBEを起動して、… でもう躓いています。 新規ブックを開いたら Sheet1 がアクティブになります。 そこで、「VBEを起動」するにはどうすればよろしいのでしょうか?それが分かったら次の「標準モジュールを追加」の方法も分かるのでしょうか? 全くのマクロ無知でお手数を掛けます。
- Gletscher
- ベストアンサー率23% (1525/6504)
文字で「10/7」と入力したいとゆうことでしょうか? それとも日付で「10月7日」と表示させたいのでしょうか? 質問の意図がわかりにくいですが、Exelは、入力されたデーターの1つ目が数値の場合は、入力されたものが数値として扱いたいのか文字として扱いたいのか分かりません。まして分数なら数式かもしれないし日付かも知れません。それが分かるのは入力した人間だけです。しかしExelは分数でしかも分子が1~12の範囲で分母が1~31の範囲なら日付と認識するように既定値設定されています。 だから入力した人が意思を指示しないといけません。 なぜ、マクロでやらないといけないのか理由が書いてないので分かりませんが、範囲指定して書式を変えるだけなのでマクロで処理するより速いと思いますけど。 文字として入力したいなら「10/7」ではなく、「´10/7」と入力すれば良いです。
補足
14なる高レベルの Gletscherさん、 》 「10/7」と入力したら「10月7日」にはなるが、・・・ 》 「10/7」となるアイコンを・・・ と申し上げましたが、「質問の意図がわかりにくいです」か? 「入力されたものが数値として扱いたいのか文字として扱いたいのか分かりません」とのこと、どのように表現すればよろしかったでしょうか?「入力した人が意思を指示しないといけません」とのことなので、どのような意思表示を指しておられるのか教えてください。 「マクロでやらないといけないのか理由が書いてないので・・・」とのことですが、マクロをお願いしたつもりは更々ありません。どの部分が貴方に誤解を与えたのでしょうか?
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
まず、その書式にしたいセルがどこにあるのか? 一般的には一つの「行」か「列」ですね 例えばD列がその書式であってほしいなら列記号の「D」を右クリックし書式を変更すれば、D列全てに適用されます 行の場合も同じで行番号をクリックして書式を設定すればよい 次に、質問のマクロを作るのは簡単です ツール・・・マクロ・・・新しいマクロの記録、を選択したあとで書式を設定する操作をする 具体的には、「右クリック」「セルの書式設定」「希望の書式を設定」 そして、マクロの記録を終了する これでマクロは完成です
補足
「これでマクロは完成」の後、クイックアクセスツールバーに配置するアイコンはどうやって? マクロが全く出来ないのでお尋ねしています。
お礼
[補足]欄の ファイル名: DtFmt_m#d は ファイル名: DateFormat_m#d.xlsm の間違いでした。お詫びして訂正いたします。
補足
watabe007さん、お世話になっています。 1.Excel 起動後、Alt+F11 を実行 2.[挿入]⇒[標準モジュール]を実行  ̄ ̄ ⇒ プロジェクト - VBAProject (Book1)背下の  ̄ ̄ ̄ ̄[標準モジュール]の背下に Module1 が出現 3.[Book1 - Module1 (コード)]の白い“大広場”(正式には此処は  ̄ ̄何と称されていますか?)に、提供いただいた下記コードを貼り  ̄ ̄付け  ̄ ̄ ̄ Sub 表示形式の変更()  ̄ ̄ ̄ Selection.NumberFormatLocal = "m/d"  ̄ ̄ ̄ End Sub 4.仰るとおり、「貼付け後、右上の×ボタンを押すとVBE画面が  ̄ ̄閉じてSheet1画面に戻り」ました。(何も保存操作はして  ̄ ̄おりません) 5.[ファイル]⇒[名前を付けて保存] 6.ファイルの種類: Excel マクロ有効ブック (*.xlsm)  ̄ ̄ファイル名: DtFmt_m#d  ̄ ̄に設定 7.適切な保存先を知らないので、取り敢えずデスクトップを  ̄ ̄指定して、[保存]を実行 先にいただいていた[回答No.3]の末尾の「クイックアクセスツールバーに登録は」の URL 先のページでは 》 コマンドの選択でマクロを選択し、表示されるマクロの中 》 から登録したいマクロを選択し、追加をクリックします。 となっていますが、「コマンドの選択でマクロを選択し」ても、その直下の窓内には「<区切り>」しか表示されていません。 此れはステップ7における保存先が間違っているからだろうと推察しておりますが、どのようにすれば「DateFormat_m#d.xlsm」をクイックアクセスツールバーへの登録に成功するのでしょうか?