Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47752 / 76738 ←次へ | 前へ→

【33935】Re:FIND
発言  かみちゃん  - 06/1/24(火) 1:50 -

引用なし
パスワード
   こんにちは。かみちゃん です。

今日、ひさしぶりこのスレッドを見ました。

>なぜか失敗している箇所が少しですが見つかりました。
>何が原因なのでしょう?

[#33562][#33874]で提示しているコードを再度ご確認ください。
記述の仕方が違うと思います。違う記述をされて動かない、エラーが出ると言われましても、責任持てません。

どうしても、On Error 〜 を使いたいのならば、
行という変数を先頭で初期化しておけばいいと思います。
つまり、以下のような感じにします。
For x = 1 To シート数
 行 = 0 '行番号は、1〜65536であるため0は初期値(ありえない)
 On Error Resume Next
 行 = Worksheets(1).Cells.Find("シート名", , xlValues, , , xlPrevious).Row
 On Error GoTo 0

 If 行 > 0 Then '行 = Worksheets(1).Cells.Find〜に成功した場合
  Workbooks("ブック.xls").Worksheets(2).Cells(行, 256).End(xlToLeft).Offset(, 1).Value = 時間 '時間
  Workbooks("ブック.xls").Worksheets(2).Cells(行, 256).End(xlToLeft).Offset(, 1).Value = 野菜値段 * 魚値段 '金額
  Workbooks("ブック.xls").Worksheets(2).Cells(行, 256).End(xlToLeft).Offset(, 1).Value = 持ち金 - 購入金額 'おつり
 End If
Next x

なお、ゼロイオンさんがご提示のコードですが、何をしているのか、今ひとつわかりません。
というのは、
・変数xでシート数を繰り返しているが、コード中で使われていない。
 繰り返し処理をしているコード中のコードが同じなので無意味な処理と思う。
・Findメソッドで「シート名」という文字列を検索しようとしている
・Workbooks("ブック.xls").〜のコードが3行あるが、これは、右方向に3列書き込むことなのか?
 であれば、
 Workbooks("ブック.xls").Worksheets(2).Cells(行, 256).End(xlToLeft).Offset(, 1).Resize(, 3).Value = _
  Array(時間, 野菜値段 * 魚値段, 持ち金 - 購入金額) '時間
 という書き方で1行にまとめることができる
・その他
  投稿時に半角カタカナは使わない。できれば、ファイル名にも使わないほうがいいかと思う。
  変数名についても、日本語等全角文字は使わないほうがいいかと思う。
  コードを提示するときは、VBEで記述したコードをコピー貼り付けすると誤字がなくなる。
  (少なくとも、インデントや、for ではなく For と見やすくなる。)

ゼロイオンさんのご提示のコードが失礼ながら不完全なため、動作確認はしていませんのであらかじめご了承ください。

提示されたコードを参考にがんばってコードを自分で書いてみるというのは、とてもいいことなのですが、エラーが出る場合は、エラーメッセージとエラー箇所を正確に提示していただければいいかと思います。
「型があいません、みたいなメッセージ」ではなく、「型が一致しません」というように。
そうすれば、早く解決する糸口になります。
ぜひ御一考ください。

0 hits

【33561】FIND ゼロイオン 06/1/15(日) 17:43 質問
【33562】Re:FIND かみちゃん 06/1/15(日) 17:50 回答
【33567】Re:FIND BB 06/1/15(日) 19:43 発言
【33624】Re:FIND ゼロイオン 06/1/16(月) 23:50 お礼
【33867】Re:FIND ゼロイオン 06/1/23(月) 5:16 質問
【33868】Re:FIND プルート 06/1/23(月) 6:13 発言
【33869】Re:FIND プルート 06/1/23(月) 6:37 発言
【33870】Re:FIND ゼロイオン 06/1/23(月) 7:09 質問
【33873】Re:FIND プルート 06/1/23(月) 7:34 発言
【33874】Re:FIND プルート 06/1/23(月) 7:51 発言
【33875】Re:FIND ゼロイオン 06/1/23(月) 8:39 質問
【33876】Re:FIND プルート 06/1/23(月) 9:11 発言
【33877】Re:FIND ゼロイオン 06/1/23(月) 9:18 発言
【33878】Re:FIND プルート 06/1/23(月) 9:24 発言
【33886】Re:FIND 記録マクロに毛が3本 06/1/23(月) 11:13 発言
【33933】Re:FIND ゼロイオン 06/1/24(火) 0:30 質問
【33934】Re:FIND プルート 06/1/24(火) 1:22 発言
【33937】Re:FIND ゼロイオン 06/1/24(火) 2:21 発言
【33935】Re:FIND かみちゃん 06/1/24(火) 1:50 発言
【33938】Re:FIND ゼロイオン 06/1/24(火) 5:36 お礼
【33939】Re:FIND かみちゃん 06/1/24(火) 6:30 発言
【34016】Re:FIND ゼロイオン 06/1/25(水) 5:03 発言
【34018】Re:FIND かみちゃん 06/1/25(水) 7:38 発言
【34019】Re:FIND メカ大好き! 06/1/25(水) 7:53 発言

47752 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free