advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1215 for (Mook) (0.001 sec.)
[[20150301204159]]
#score: 9211
@digest: d74133a20e570abc842f3bd8000947ed
@id: 67374
@mdate: 2015-03-01T14:32:33Z
@size: 4421
@type: text/plain
#keywords: 番() (9276), 目開 (7162), 始コ (6721), デン (5406), 修得 (4031), 習慣 (3462), ンデ (3138), 桁目 (2950), while (2193), 考書 (2022), 連番 (1771), macro1 (1676), 見事 (1661), プ実 (1495), 、f8 (1403), やデ (1326), デバ (1287), テッ (1206), 見や (1119), 法則 (1114), loop (1067), 日) (1026), イン (997), 行や (960), 2015 (875), 構文 (830), バッ (809), ップ (768), 最近 (751), 大事 (742), ステ (689), 開始 (670)
『違いを教えてください。』(みちこ)
Sub 連番() Dim i Dim j Dim k i = 1 k = 1 Do While i <= 10 j = i Do While j <= 10 Cells(i, j) = k k = k + 1 j = j + 1 Loop i = i + 1 Loop End Sub Sub Macro1() Dim i Dim j Dim k i = 1 k = 1 Do While i <= 10 j = 1 Do While j <= 10 Cells(i, j) = k k = k + 1 j = j + 1 Loop i = i + 1 Loop End Sub 連番のマクロを実行するとしたのような結果になり 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 macro1のほうを実行すると 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 のような結果になります。 同じようなコードを書いたつもりなのですが、どうして、このような結果の違いになりますか?最近勉強し始めたばかりで、教えていただければ助かります。 < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- 同じようなでも、同じじゃないですよね。 j = i と j = 1 の違いが、結果の違いになっています。 動作を確認するときに、F8を押しながら、マウスを変数の上に置いたり、「ウォッチ」 ウィンドウに変数をドロップしてから、F8 でステップ実行すると、マクロがどのように 動いているか確認できると思います。 『デバッグトレースの開始方法』 http://www.asahi-net.or.jp/‾ef2o-inue/vba_k/sub04_030.html マクロを修得するには、まずステップ実行やデバッグを覚えるとよいかと思います。 (Mook) 2015/03/01(日) 21:05 ---- Mookさんともろかぶりですが、メモッたのでアップします。 よ〜く、目を凝らして眺めると、1点、異なってますね。 連番では j = i Macro1では j = 1 それより、マクロを勉強したところなら、今のうちに、コードにきちんとインデントをつける習慣を。 見事に(?)1桁目からコード記述がなされているけど、このように書くんだという参考書があるんでしょうか? (最近、いろんな人が、この見事なまでの1桁目開始コードをアップしているので、どこかに、そのように指導する参考書があるのかなと) Sub 連番() Dim i Dim j Dim k i = 1 k = 1 Do While i <= 10 j = i Do While j <= 10 Cells(i, j) = k k = k + 1 j = j + 1 Loop i = i + 1 Loop End Sub Sub Macro1() Dim i Dim j Dim k i = 1 k = 1 Do While i <= 10 j = 1 Do While j <= 10 Cells(i, j) = k k = k + 1 j = j + 1 Loop i = i + 1 Loop End Sub (β) 2015/03/01(日) 21:07 ---- ついでに。 連番 と Macro1 とどちらがやりたいことかわかりませんが、ループの範囲があらかじめ わかっているのであれば、For 文を使うと見やすくなる気がします。 Sub Sample() Dim i As Long Dim j As Long Dim k As Long k = 1 For i = 1 To 10 For j = 1 To 10 Cells(i, j) = k k = k + 1 Next Next End Sub (Mook) 2015/03/01(日) 21:40 ---- Mookさん、βさん ありがとうございます。 do while を解説してるところがあって、そこに上がってたのを練習のため、 自分で打ったのですが、間違えて入力していたみたいです。 見比べてみましたが、気が付きませんでした。 ステップ実行やデバッグ、覚えます。 インデントについては、単に見やすくするためのものなのでしょうか? グループごとにインデントをつけるのか、逆にどの頻度でインデントをつけるかの記述がなくて、 本等では、インデントはついてますが、それがどのような法則でつけられてるかがいまいちわからなくて、 とりあえず、1桁目開始している次第です…。 (みちこ) 2015/03/01(日) 22:49 ---- >インデントについては、単に見やすくするためのものなのでしょうか? そうです。 見やすくするためなのですが、コードが見やすいことは大事なことです。 インデントを付けるのは、 IF 〜 End If For 〜 Next Do 〜 Loop など、構文の最初と終わりで同じ位置にすることにより、構文の範囲が明確になります。 とりあえず見様見真似でも良いので、インデントを習慣にした方が良いでしょう。 (Mook) 2015/03/01(日) 22:57 ---- Mookさん ありがとうございます。 気になっていたので、助かりました。 アドバイスいただいたところなど、気を付けてみます。 (みちこ) 2015/03/01(日) 23:32 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201503/20150301204159.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97054 documents and 608268 words.

訪問者:カウンタValid HTML 4.01 Transitional