質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

3686閲覧

一度Excelを閉じるとマクロが実行されない

jin007

総合スコア34

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/10/25 04:07

編集2019/10/25 05:01

◆前書き

正常に実行できるマクロが既にあります!

◆事象

1:新規でエクセルを立ち上げる
2:表を作成する
3:visual Basicを起動する
4:visual Basicの標準モジュールにコードを書く
5:マクロ有効シートで保存する
6;実行を押す
~実行できて意図する動きがされる~

7:再度先ほど作ったエクセルを立ち上げる
8:実行を押す
***動かない***

なぜ、動かなのか全くわかりません。
なぜなら新規で作ったときは正常に動いているので・・・

これが原因なんじゃないか?とかありましたら教えていただきたいです。

事象についての質問なのでアバウトになってしましますがよろしくお願いいたします。

◆補足

ちなみに作成しているマクロの内容はこれです。(動作確認済み)

◆コメントに対しての追加情報

・「動かない」というのはエラーも表示されません。
何もポップアップも出ない+visual studioではコンパイルエラーになっている形跡もないです。

・Excelのバージョンは、2013_SP1かと思われます。

・「実行」について
→シート状にボタンを作成してあります。
そのボタンを押しても反応しないので、改めてボタンに「マクロの登録」をしていますが動きません。

 →それでも動かないので、visual Studioを開いて、実行をしています。

・ブレークポイントをメソッドの先頭につけたところ、
シート状でボタンを押すと、visual Studioが表示されるので呼び出しはうまくいっているように見受けられます。

・F8押して確認しましたが、すべて想定通りでループするところ、抜けるところもきちんとあっていました。

・正常通りに動いていますが、
今回HTMLファイルを出力するマクロなのでそのHTMLが作成されなくて困っています。
詳しくは「補足」のところにリンクを貼っているので見ていただけたらと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2019/10/25 04:13 編集

・「動かない」とは具体的にどうなるのですか? エラーになる?⇒エラーメッセージと該当行を質問に追記ください。 その他?⇒具体的にどうなるのか質問に記載ください。 ・Excelのバージョンは?
Y.H.

2019/10/25 04:19

> 7:再度先ほど作ったエクセルを立ち上げる > 8:実行を押す 7と8の間に何か操作ありませんか? 「実行」って何の実行?シートにボタンとかおいているの?Excelのメニューのどこかにある「実行」? 「visual Basicを起動する」⇒「visual Basicの標準モジュールを表示する」⇒「実行する標準モジュールにカーソルを合わせる」⇒「実行」とかが省略されているのですか?
Y.H.

2019/10/25 04:29

ボタンに登録したモジュールの先頭にブレークポイント設定してボタンを押すとどうなりますか?
Y.H.

2019/10/25 04:43

> シート状でボタンを押すと、visual Studioが表示されるので呼び出しはうまくいっているように見受けられます では、F8(step in)でステップ実行して、期待した動きになっていないところを探しましょう。
Y.H.

2019/10/25 04:57

> すべて想定通りで 全て想定通りなのであれば正常に動作しているのでは?
Y.H.

2019/10/25 05:13

> HTMLが作成されなくて困っています。 ステップ実行すると、HTMLを出力する部分のコードも通ってるんですよね?
jin007

2019/10/25 05:18

通っています。 解決した方法にも記載したのですが、改めて「マクロ有効ブックシート」に設定するとできました。 謎です。。。
S_kawa

2019/10/25 08:52 編集

マクロを実行したいブックの拡張子は何になっていますか? xlsxだとマクロの実行はできません、xlsmで保存が必要です。 (というか自己解決の手順がまさにそれであり、原本を一度xlsmで保存すれば以降必要ありません) 元からなっていたとのことですが、エクスプローラで拡張子が非表示で二重になっていたりしませんか?
jin007

2019/10/25 08:57

拡張子は「.xlsm」になっておりました。 なので尚更分からない・・・というものです。 拡張子は常に表示されるように設定している人なので二重になっているようには見受けられませんでした。 非表示になって二重になっているというのは今回ありませんでしたが全く知識になかったのでとてもためになるアドバイスありがとうございます!
guest

回答2

0

自己解決

ファイル>エクスポート>ファイルの種類変更>マクロ有効ブック

を押して上書き保存すると「実行」できました。
想定通りHTMLファイルもできました。

毎回この作業をしないといけないのか・・・?

元からマクロ有効ブックシートになっていたので不思議でなりません。

投稿2019/10/25 05:07

jin007

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

あ、それ私の回答のやつですね。
回答したコードはシート名を記述していません。
明示的に対象のシートを指定してあげてください。
こんな感じ。

VBA

1Sub sample() 2 Dim r As Long 3 Dim r As Long 4 Dim sh as Worksheet 5 6 Set sh = Worksheets("Sheet1") 7 c = 2 8 Do 9 If sh.Cells(1, c) = "" Then Exit Do 10 r = 2 11 Debug.Print sh.Cells(1, c) 12 Debug.Print "<table>" 13 Do 14 If sh.Cells(r, c) = "" Then Exit Do 15 Debug.Print "<tr>" 16 Debug.Print "<td>" & sh.Cells(r, 1) & "</td>" 17 Debug.Print "<td>" & sh.Cells(r, c) & "</td>" 18 Debug.Print "</tr>" 19 r = r + 1 20 Loop 21 Debug.Print "</table>" 22 c = c + 1 23 Loop 24End Sub 25

投稿2019/10/25 04:19

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2019/10/25 04:22

そういうことじゃないのかな? 「実行」って手順が間違っているだけかな? ちょっと情報不足なまま先走ってしまいました。
Y.H.

2019/10/25 04:24

エラーにもならないってことなんで別の要因かも。。。
jin007

2019/10/25 04:28

シート名の記述はしてあります。(すみません、まだ解決したコードを載せていません・・・) また、新規で作成したときは実行してHTMLファイルが作成されるので 実行手順が違うということはなさそうです。
ttyp03

2019/10/25 04:33

私のコード以外のところに問題がありそうですね。 まずは現状のコードの提示をお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問