No.8ベストアンサー
- 回答日時:
No.2です。
> 「カット」は、その部分が実行されていないことです。
> ifがありますが、条件はtrueなので、本来実行されるはずです。
であればそれは「カット」とは言いません。
「if文の判定結果通りに動かないように見える」などと明確にロジックがわかるように言い表しましょう。(^^;
> その部分のみを、別のマクロに書いて実行すると、できるようになります。
であれば「if文の判定結果がtrueの場合のロジックが実行されていないように見えているだけ」だと思います。
ブレークポイントを設けて実行するか、その部分にデバッグ用の何か(例えば特定のセルに値を入れるとかでもよいでしょう。音を鳴らすというのもあります)を入れましょう。
参考まで。
No.10
- 回答日時:
「入力行 = Range("A1").End(xlDown).Row+1」の下に次の命令を入れてみてもらっていいですか?
MsgBox Range("A1").End(xlDown).Row + 1
No.7
- 回答日時:
No4です。
>一応OKと表示されましたが。
OKと表示されたなら、必ずそれ以降の行が実行されます。
つまり
if True Then
msgbox("OK")
入力行 = Range("A1").End(xlDown).Row+1・・・・①
With Worksheets("結果")
.Cells(入力行, 4).Value = Time
.Cells(入力行, 5).Value = 結果出題数
.Cells(入力行, 6).Value = 正答数
.Cells(入力行, 7).Value = 誤答数
.Cells(入力行, 10).Value = user・・・・③
.Cells(入力行, 3).Value = DateDiff("n", Worksheets("結果").Cells(入力行, 2).Value, Worksheets("結果").Cells(入力行, 4).Value)
End with・・・・②
①から②まで実行されているはずです。
実行されていないように見えるだけではないでしょうか。
それでも、実行されていないと思われるなら
③にブレイクポイントを設定して実行されてはいかがでしょうか。③で止まるはずです。
If 結果の保存 = True Then ではなく
if True Then にして実行してください。
No.6
- 回答日時:
『ifがありますが、条件はtrueなので、本来実行されるはずです。
』筈じゃ無くて
実際に「結果の保存」とやらの中身はなんなの?
部分を切り出して実行すると流れるってことは、
その条件判断が成立してないってことでしかない
そのifの処理にelseを追加して見て、else側のステップが実行されているなら
理由は明らかだよね?
この回答へのお礼
お礼日時:2018/06/16 17:52
elseを書いてみましたが、実行されていませんでした。
「結果の保存」は、ユーザーフォームで、チェックボックスがあって、それの値です。
No.4
- 回答日時:
>If 結果の保存 = True Then
>入力行 = Range("A1").End(xlDown).Row+1
上記を
If True Then
MsgBox ("OK")
入力行 = Range("A1").End(xlDown).Row+1
かえたらどうなりますか?
OKが表示されるなら、「結果の保存」は間違いなくtrueでthenの側が実行されています。
もし、OKが表示されないなら「結果の保存」はtrueになっていません。
No.2
- 回答日時:
「ある部分がカットされてしまい」とは具体的にどういうことでしょう?
その直前にIF文があり、その条件に見合わないため処理されないだけなのではありませんか?
プログラムは思った通りには動かず、作った通りに動きます。
ロジックを「思い」で追っても原因はつかめません。書いてあることをしっかり見て理解してどう動くかを追いましょう。
参考まで。
No.1
- 回答日時:
条件分岐の条件が一致しないから
『その部分をF8で試したり』
その部分とは?関数なのか、更にその内部のステップなのか
F8のステップ実行は分かった、個別で実行とは何か?
サブ関数になっていて、その関数を呼んだらってことか?
#if ディレクティブとか何か使っていないか?
コンパイルオプションは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- PHP php エラー 3 2022/11/18 23:32
- C言語・C++・C# 現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH 2 2023/01/18 16:22
- 電気・ガス・水道業 PLC プログラム 1 2023/02/03 22:29
- PHP ここで言う空文字の意味とは? 1 2022/08/05 16:27
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonって何のソフトで動くん...
-
エクセルVBA、ステップモードと...
-
VB.NETでボタンのクリックイベ...
-
パソコンに何かが勝手にダウン...
-
Excel実行時エラー-2146959355?
-
EXCEL-VBAでコマンド...
-
VB.NETでDataTableにデータ追加...
-
VBA 作成中のプログラムを使っ...
-
eclipseで、「ポート番号が使用...
-
パソコンのスクリーンセーバー...
-
latexでのエラー
-
VBA中断モードの解除
-
バッチファイル DOS Windows200...
-
ランタイム関数とは何ですか?
-
VBA コントロールパネルの機能...
-
PC版のMinecraftが応答なしにな...
-
ペンタブがパソコンに繋がらな...
-
長時間PCを起動しているとポッ...
-
【急いでます!】pythonでキー...
-
起動したアプリケーションを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
パソコンのスクリーンセーバー...
-
Excel実行時エラー-2146959355?
-
chatGPTで次々と質問をしていく...
-
PC版のMinecraftが応答なしにな...
-
VSコード
-
プログラミングについてです。...
-
latexでのエラー
-
VB.NETでボタンのクリックイベ...
-
管理者として実行を毎回すると...
-
エクセルVBA、ステップモードと...
-
Windows10 で青鬼を遊びたいの...
-
EXCEL-VBAでコマンド...
-
eclipseで、「ポート番号が使用...
-
プログラム実行中に強制停止さ...
-
VB.NETでDataTableにデータ追加...
-
pythonで他のアプリを操作する...
-
COBOLで集団項目から符号...
-
実行中のVBSをタスクバーに非表...
-
C言語再帰アルゴリズム
おすすめ情報
「カット」は、その部分が実行されていないことです。
ifがありますが、条件はtrueなので、本来実行されるはずです。
その部分のみを、別のマクロに書いて実行すると、できるようになります。
コードです。
If 結果の保存 = True Then
入力行 = Range("A1").End(xlDown).Row+1
With Worksheets("結果")
.Cells(入力行, 4).Value = Time
.Cells(入力行, 5).Value = 結果出題数
.Cells(入力行, 6).Value = 正答数
.Cells(入力行, 7).Value = 誤答数
.Cells(入力行, 10).Value = user
.Cells(入力行, 3).Value = DateDiff("n", Worksheets("結果").Cells(入力行, 2).Value, Worksheets("結果").Cells(入力行, 4).Value)
End with
問題を出して、その正答数や誤答数、時間を合計して、結果のシートに入力するプログラムです。
プログラムを書き直したところ、解決できました。
原因はわかっていません。
とりあえず解決したということで、皆様には大変ご迷惑をおかけしました。
解答してくださった皆様、ありがとうございました。