• ベストアンサー

Excel VBE

Excel VBEでこの問題を解きたいのですが、どうすればいいのか全くわからなくて困ってます… どなたか、わかる方いらっしゃいませんか?教えてください… 1. 1900年から2008年までのうるう年を見つけて、一個のメッセージボックスにすべてのうるう年を表示するようにプログラムを作成する。 2. 下記の数値の和を繰り返し文を使用して算出しなさい。 1+2+3+4+……+100 1の二乗+2の二乗+3の二乗+……+20の二乗 1の三乗+2の三乗+3の三乗+....+ です。 どうしてもわかりません… わかる方教えて下さい。 お願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

'1900年から2008年までのうるう年 Sub test01() For i = 1900 To 2008 If Day(DateSerial(i, 3, 0)) = 29 Then x = x & i & vbCrLf Next MsgBox x End Sub '(3月0日が2月末日となることを利用しています) '1+2+3+4+……+100 Sub test02() For i = 1 To 100 x = x + i Next MsgBox x End Sub '1の二乗+2の二乗+3の二乗+……+20の二乗 Sub test03() For i = 1 To 20 x = x + i ^ 2 Next MsgBox x End Sub これで1の三乗+2の三乗+3の三乗+....+ はもうわかりますね。

paddy0817
質問者

お礼

ご回答ありがとうございます!! 助かりました。 本当に初歩的な質問ですがこれをVBEに貼り付ければ完了なんですよね?

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

こんな質問は学校の宿題で、その回答を求めているのでは。 ここはそういうことに答えるコーナーではないと思うが。 また問題の方法は繰り返し法で求める方法もあるが、別途公式が作れるので(例 N*(N+1)/2など)その公式に数を入れる方法もあります。 For文による繰り返しもわからない段階で、回答をもらってもどうしようも無いと思うが。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

> 問題の答えはワークシートのセルには表示されないですよね? はい、そのようには作っていません。 表示させたいのなら Sheets("Sheet1").Range("A1")=x のような一行を書き加えてください。 > 「ポン」という音が鳴ってメッセージボックスに表示されたらこの問題の解答ということで成立なんですか? わたしは出題者ではありません。 しかし、少なくとも一番目の設問は「一個のメッセージボックスにすべてのうるう年を表示するようにプログラムを作成する。」ですから、あなたが他の条件を省略してない限り、条件を満たしていると思います。 二番目以降のは省略されているようですのでわかりませんね。ご自分でよく読んでみてください。

paddy0817
質問者

お礼

ご回答ありがとうございます!! 本当に助かりました!! ありがとうございます!!

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> 本当に初歩的な質問ですがこれをVBEに貼り付ければ完了なんですよね? 貼り付け方ですか? 1.Alt+F11キーでVisualBasicEditorを呼び出します。 2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)にコードをコピペします。(もし標準モジュールが既にあるなら挿入は不要ですよ。) 3.Alt+F11キーでワークシートへもどります。 4.メニューから、ツール、マクロ、マクロで出てきたマクロ名を選択して実行してみれば答えがでるはずです。

paddy0817
質問者

お礼

ご回答ありがとうございます!! また質問してもよろしいですか? 問題の答えはワークシートのセルには表示されないですよね? 「ポン」という音が鳴ってメッセージボックスに表示されたらこの問題の解答ということで成立なんですか?

  • kizuki135
  • ベストアンサー率29% (162/552)
回答No.1

[XL] うるう年を判定する方法 http://support.microsoft.com/kb/214019/ja http://www.microsoft.com/japan/msdn/vbasic/migration/tips/DateTime/ 日付に関する情報の取得について

関連するQ&A

  • ExcelのVBEに入力マクロはありますか

    ちょっと紛らわしいのですが、ExcelでVBEを使ってマクロプログラムを作成しています。 同じ入力を繰り返すことが多いので、入力マクロがあれば便利だと思うのですが、VBEには入力マクロ機能は無いのでしょうか。 秀丸エディタのShift+F1みたいな機能です。 ヘルプでさがしても見当たらないので質問しました。ご存知の方、教えてください。

  • VBScript (.vbe)のファイルについて

    VBScript (.vbe)のファイルについて 使用環境 : WindowsXP home sp3 ファイルの種類 : VBScript Encoded Script File プログラム : Microsoft (R) Windows Based Script Host ファイルの拡張子 : .vbe .vbeのファイルがあるんですが、これのコマンドについて教えてほしいです。 動作は メッセージボックスを出して、OKを押したら、特定のソフト(.exe)を起動させたいです。 もしくは、OKを押したら コマンドプロンプトを3つ起動させたいです。 このようにできるコマンドがあったら教えてくださいお願いします。 特定ソフトや、.vbeはCドライブの直下にあります。

  • エクセルVBEモジュールにif then elseを使ってマクロを書き

    エクセルVBEモジュールにif then elseを使ってマクロを書きました。thenとelseの中間ぐらいでmsgbox”お知らせ”を書いて実行するとメッセージボックスは正しく表示します。しかしポインターがメッセージボックスウィンドウの外にあるときは砂時計が動き続け、メッセージボックスの上に置けば普通の矢印に変わります。砂時計を出さない方法はどうしたらよいのでしょうか。msgbox”お知らせ”の下行に続けてexit subまたはon error goto 0を書いてもやはり時計がでてしまいます。どうしたらよいのでしょうか。

  • エクセルのエラーメッセージ「400」って?

    VBEで特定のセルを選択する部分で 「400」とだけ表示されたメッセージボックスが出て プログラムが止まってしまうのですが、 何をどう直せばいいのでしょうか・・・。

  • VBE画面とシート画面を同時に表示させるには?

    Excel VBA独習者です。 プログラム作成時におけるセル番地指定を確実にするため、VBE画面と、シート画面を同時に表示させたいのです。 複数シートの同時表示はWindowsの新しい画面の表示でできるのですがが、VBE画面は新しい画面として選択できないので方法がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いいたします。

  • EXCELでのVBについて

    EXCELでVBのプログラムを作成していますが、2点ほどわからないことがありまして困っています。 1.EXCEL等でデータを保存するとき、同じファイルがあれば、上書き確認のメッセージボックスが出ます。VBのOpen文で保存 するとき、このメッッセージボックスを出したい。 2.コマンドボタンの機能をファンクションキー(たとえばF1)に割り付けたい。 以上、2点について、よろしくご教示ください。

  • 等差数列の和を求めるプログラム

    初項1公差1の等差数列の第10項までSn = {1,2,3,・・・,10}の和を、while文を使って算出するプログラムを作成せよ。この様な問題があるのですが、どの様にして和をプログラムすれば良いのか分かりません。どなたか教えて頂けませんかm(_ _"m)ペコリ

  • vbeのファイルを修正方法

    vbeで、作成されたファイルの一部を変更できる方法があれば教えてください。 もしくは、TXTファイルから、VBEのファイルに変更が出来る方が、簡単であればその方法を教えてください。 VBEのファイルは3年前ぐらいに友人の友人に作ってもらったもので、私は、開いて使うことしか出来ないレベルです。 どうぞヨロシクお願い致します。

  • エクセル 期間計算 平年 閏年

    はじめまして。既出の質問でしたらすみません。エクセル2000を使っています。で、ある期間の日数をdetedif関数を使えば算出できると思うんですが、その期間に閏年が含まれる場合に平年の期間は○日、閏年の期間は○日というふうに分けて算出する方法はありますでしょうか?  例えば2004/5/10~2008/7/17 の期間であれば平年の期間は1095日、閏年の期間は434日になると思いますが、手計算ではなく 期間を入力すれば自動で算出できるようにしたいのです。どなたかわかる方がいらっしゃいましたらご指導お願いします。

  • テキストボックスをExcelのセルのように扱う方法

    時間を入力するテキストボックスを 作成しています。 表示形式は英数小文字でhh:ssです。 Excelのセルのように、 09:00と入力しても、9:00と自動的に表示し、 また入力した数値をbackspaceで消しても プログラムエラーにならないようにするには どのようにすれば良いでしょうか? (if文を使って制御しているのですが、 うまく制御出来ずにプログラムエラーを 起こしまくっています(^^;)

専門家に質問してみよう