Excel VBA質問箱 IV

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

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


19882 / 76732 ←次へ | 前へ→

【62276】Re:VBSからマクロの呼び出し
発言  kanabun  - 09/7/6(月) 12:03 -

引用なし
パスワード
   ▼さくら さん:

>ご指摘の部分を編集してみたのですが、VBSで呼び出すとやはり同じところで
>「型が違います」とエラーが帰ってきます。

> 構文チェックとは、デバックのVBAコンパイルからでいいのですよね?
> これでは何のエラーもありませんでした。

そうです。VBAの構文的に問題がなくても、
実行時エラーという別のエラーがあります。

とりあえず、今のコードでは Rangeの親シートの指定がないですよね?
マクロを標準モジュールに書いておいて、そこで
親シートの指定を省略すると、ActiveSheetが親シートという解釈が
Excelによってなされますので、そこはプログラムのほうからどのシートの
範囲かを明示しないとまずいですよ

それから、構文エラーでなくても、Loopのなかで セルのプロパティに
何度もアクセスするのは 非効率なので、Loopに入る前に それ用の変数に
値をコピーしておいて、その変数の値と比較するようにします。
ws1.Range("D2").Value などがどのような値か分からないので
↓のサンプルでは Date型の値が入っているものと仮定して書いています。

 これをVBSから呼び出したら、どうなりますか?
 結果をお知らせください。

Public Sub Before()
 Dim ws0 As String
 Dim ws1 As Worksheet, ws2 As Worksheet
 Dim i As Long, k As Long
 Dim date1 As Date 'Double
 Dim date2 As Date 'Double
 
 ws0 = Format$(Date, "yyyyMM")
 Set ws1 = ThisWorkbook.Worksheets(ws0)
 Set ws2 = ThisWorkbook.Worksheets("日付")
 date1 = ws1.Range("D2").Value 
 date2 = ws1.Range("D3").Value
 
 Dim c As Range
 For Each c In ws2.Range("A1", ws2.Cells(ws2.Rows.Count, 1).End(xlUp))
   Select Case c.Value
    Case date1 To date2
      MsgBox c.Value
   End Select
 Next

End Sub
1 hits

【62268】VBSからマクロの呼び出し さくら 09/7/6(月) 10:21 質問
【62272】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 11:16 発言
【62274】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 11:43 発言
【62276】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 12:03 発言
【62278】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 13:08 発言
【62280】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 14:04 発言
【62281】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 14:30 発言
【62282】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 15:06 発言
【62284】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 15:28 発言
【62285】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 15:55 発言
【62287】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 16:35 発言
【62286】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 16:25 発言
【62288】Re:VBSからマクロの呼び出し さくら 09/7/6(月) 16:54 お礼
【62289】Re:VBSからマクロの呼び出し kanabun 09/7/6(月) 17:21 発言

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