• ベストアンサー

エクセルマクロについて(Office Onlineのカレンダーテンプレート)

エクセルのマクロについてわからない点がありますので、どうか教えて頂けないでしょうか。 Windows XP Pro、Office XPの環境で、マイクロソフトのOffice Onlineで下記の2007年カレンダーをダウンロードしました。 http://office.microsoft.com/ja-jp/templates/TC102096441041.aspx?CategoryID=CT101425251041 そこで、例えば1月のカレンダーの1日の「1」のセルを最初に選択しておきます。 ここからマクロを相対参照で記録開始し、方向キーで右へ1つ移動させてマクロの記録を終了します。 そして記録したマクロを実行すると、私の記録した動きではないようなのです。 具体的に言うと、例えば「2日」の位置からマクロを実行すると、「赤口」だけ選択して欲しいのに、「赤口」とその右の「3」の2つの部分が選択されてしまうのです。 この動きが私には理解できずに困っているのです。 何故このような結果になってしまうのでしょうか。 マクロに詳しい皆さん、どうかよろしくお願いします。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

質問のテンプレートダウンロードしてみました。 おかしい原因は、結合セルでマクロ記録しているからです。 結合セルだとセル範囲を余分にとってしまいます。 で、どうすればいいかお分かりですよね。 質問のマクロ記録を結合してないセルですればいいわけです。 例えば、 セルP1を選択しておいてマクロ開始(相対参照) 方向キーで右へ一つセル移動、そして終了。 これで上手くいきます。  

bakachau
質問者

お礼

ご回答ありがとうございます。 仕事の都合で返答が遅れた事をどうかお許しください。 結合セルを含んだ場合の記録マクロの性質を理解できました。 以前はVBAで大きなプログラムも組んでいたんですが… お恥ずかしい限りです。 ご助言、深く感謝いたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

こんにちは。#1 のWendy02です。 >たったこれだけのことも記録マクロの限界を超えている、 というよりも、VBAは、「結合セルとマクロとは相性が悪い」と覚えておいたほうがよいです。結合セルが入ると、非常に手数が多くなります。 マクロの仕組みが分かって記録マクロを作るというのは、以下のようなコードの場合は、テクニックとしては有効でも、その必要はありませんね。  ActiveCell.Offset(, 1).Select 少しでもよいから、本格的なVBAの言語を学んだらよいかと思います。  

bakachau
質問者

お礼

再度のご回答、どうもありがとうございます。 返答が遅れた事をどうかお許しください。 5年位前まではVBAである程度大きなプログラムも組んでいたのですが、記録マクロは殆ど行った事がなく、今回本当に久しぶりに使ってみたのです。 カレンダーの日付の数字を大きくして「大安」などの文字を日付の下に配置するマクロを簡単に記録してみようと試みたのですが、2,3分で出来るだろうと考えていた事がうまくいかず、悩んでしまいました。 落ち着いて考えてみると原因はすぐに判明したのですが、「記録マクロ」ってこんなものだったの?と、思ってしまったのです。 結合セル以外にも記録マクロと相性の悪いものが多分あるはずなので、これから少し調べてみようと思います。 ご助言、どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 単に、右に行くだけですから、マクロにしなくても、右の矢印キーで動かせばよいと思いますが、こういうのは、記録マクロの範囲でもないけれど、マクロ(VBA)にするには、あるレベルが必要になると思います。 うまくいかないのは、記録マクロでは、次のセルの範囲を取っているだけだからです。 Sub RightMoving() If Intersect(ActiveCell.Offset(, 1), Columns("AY")) Is Nothing Then  ActiveCell.MergeArea.Offset(, 1).Select ElseIf InStr(ActiveCell.Offset(6, -3).Value, "平成") = 0 Then  ActiveCell.Offset(6, -44).Select '次の月 Else  ActiveCell.Offset(13, -44).Select End If End Sub

bakachau
質問者

補足

回答ありがとうございます。 >うまくいかないのは、記録マクロでは、次のセルの範囲を取っているだけだからです。 という意味がよくわからないのですが、所詮「記録マクロ」だけではうまくいかないこともある、たったこれだけのことも記録マクロの限界を超えている、ということなのでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのテンプレートのカレンダーで

    エクセル2010のテンプレートのカレンダーで日にちが#VALUE!になります。 ダウンロードした物はMicrosoft office公式のカレンダーの構成 (任意の年)です。 http://office.microsoft.com/ja-jp/templates/TC010274124.aspx 数式を治さないといけないのかエクセルの設定なのか使い方をご教示お願いします。 私の環境はWindows7 Office Personal2010です。 よろしくお願いします。

  • 4月始まりのカレンダーのテンプレートがほしい

    4月始まりのカレンダーが作れるテンプレートを探しています。 Office系で以下のサイトから1月始まりのものをみつけました。http://office.microsoft.com/ja-jp/templates/TC103831371041.aspx?CategoryID=CT103589901041 (2010年の123月を削除して456月以降を上部に移動し、2011年の123月を同じ形式で追加したのですが、印刷プレビューで削除した10年の123月の部分が空白で残っていて、11年の123月が表示されません。) このテンプレートが可愛いので使いたいのですが、4月始まりが無理なら別のテンプレートでもかまいません。方法を教えていただけたらありがたいです。

  • 領収書の発行

    オークションの落札者が領収書を発行してほしいとの要望があったので、こちらのテンプレート(http://office.microsoft.com/ja-jp/templates/TC010583001041.aspx?CategoryID=CT011200031041)を使おうと思っています。 印鑑の欄が無いのですが必要でしょうか?また普通の印鑑でいいのでしょうか?

  • テンプレート 絵の変更

    ワードやエクセルのテンプレートで絵の変更または削除はどうやってすればいいのですか?  http://office.microsoft.com/ja-jp/templates/TC010584151041.aspx 例えばこの場合、ダンスパーティの絵を消すのはどうやって消せばいいのですか?また違う絵に変更したい場合はどうすればいいのか教えてください。

  • エクセルのマクロについて教えて下さい

    エクセルで、データ(書類)のコピー貼り付けのマクロを組みました。 ツール→マクロで、新しいマクロの記録から、実際にコピーをして貼り付けをし、記録の終了をしました。 次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 たしか絶対参照とか相対参照とかあったような気がするのですが…。 どうすれば、他の場所でもボタンを押すだけでコピー貼り付けのマクロを実行できるようになりますか? よろしくお願いします。

  • Excel「新しいマクロの記録」

    Excelにて、「ツール」→「マクロ」→「新しいマクロの記録」を実行すると「マクロの記録」ダイアログが表示され、ここで「OK」をクリックすると、マクロの記録状態に入ります。以前はこのときに「停止、絶対指定,相対指定」を設定する小さなダイアログが表示されていたのですが、なぜか急に出なくなってしまいました。このダイアログを出す設定方法を教えてください。よろしくお願いします。

  • エクセルのマクロ絶対参照と相対参照の指定方法

    私は、エクセルでマクロ自動記録を勉強しはじめたものです。 エクセル2000の参考書で絶対参照と相対参照の指定方法の説明をみると、 「マクロの記録中に表示される<記録終了>ツールバーの<相対参照>ボタンで切り替えます。 このボタンをくぼんでいない状態にすると絶対参照、クリックしてくぼんだ状態にすると相対参照で記録されます。」 以上のように解説されているのですが、実際に試してみると、 ステップ1. ツールバー→マクロ→新しいマクロの記録→マクロ名とショートカットキー入力→OK ステップ2.操作どうりに自動的にマクロが記入される。 ステップ3.ツールバー→マクロ→マクロの終了→クリック ステップ4.絶対参照のマクロが登録されてしまいます。 絶対・相対参照の切り替えステップをが見つけることが出来なくて困っています。 過去カテによれば マクロの記録時に「操作終了」というツールボックスが表示されますよね? 2つあるボタンのうちの右側のボタンが相対参照と絶対参照を切り替えるためのボタンになっています. もしも「操作終了」のボタンが表示されないのであれば,一度ダミーでマクロの記録を実行して,記録中にメニューの下の空白部分(灰色の部分)を右クリックし,「記録終了」をチェックすると,ツールボックスが表示されるようになります。 これも試しましたが、マクロの記録時に「操作終了」も 記録中にメニューの下の空白部分(灰色の部分)も見付ける事が出来ません。 WindowsMe Office2000Personalに於いては、絶対・相対参照の切り替えは不可能なのでしょうか? 可能なら絶対・相対参照の切り替えボタンを表示させる方法を教えて頂きたいと思います、よろしくお願いします。

  • Excel2007のマクロで教えてください

    Excel2003でも同じかもしれませんが、マクロを記録する場合、「相対参照で記録」のボタンの使い方がわかりません。「マクロの記録」ボタンをクリック後にセルを範囲選択さえしなければ、このボタンを使う必要は無いように思うのですが…(逆に「マクロの記録」ボタンをクリックしてマクロをスタートさせたあとでセルを範囲選択した場合、「相対参照で記録」ボタンは意味を成さないと思います。何か勘違いしているのでしょうか?) お忙しいところを申し訳ありませんが、ご存知の方よろしくお願い致します <(__)>

  • Excel 2007のマクロについて

    今、Excel 2007でOSはVistaを使っているのですが、グラフ上でマクロにしたいのですが、実行できません。 セキュリティに関しては、有効にしていますし、タブもチェックを入れています。ファイル形式もマクロ有効ファイルにしています。 ただ、グラフ上の場合が実行できません。 エラー表示ではメソッドが実行できないと表示されるのですが、XPで同じ動作をしたら実行できました。 マクロを記録する際に、問題があるのでしょうか。

  • パワポ2007の背景での疑問

    下記URLにありますパワポの書式のことで質問なのですが、 印刷をすると枠線の二辺がプリントの範囲を超えて印刷がされないので、調整をしたいのですが、どのように調整をするのかがよくわかりません。 どなたか教えてください。 ※”背景を非表示”にすると消えるの背景のようですが、背景のデザインやテクスチャを適用すると枠線のさらに背景のみが変わります。 http://office.microsoft.com/ja-jp/templates/TC102862481041.aspx?CategoryID=CT010752301041

専門家に質問してみよう