VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/16(Fri) 11:48
投稿者ダンボ
URL
タイトル【解決】VBAで「型が一致しません」

花ちゃんさん、どうもありがとうございました。
下記コードで望みどおりの仕様になりました。助かりました。ちょっと一人では解決できなかった。

> Object型に変更して見てください。
う〜ん、納得できない。VBAのバグと言われてもしょうがないのでは?
> ありますよ。自動メンバ表示で出てきますよ。
Sub DateCheck(TBOX As TextBox)の編集時には出てこない。
Sub DateCheck(TBOX As Object)の編集時でも出てこない(こちらは当然?)。
> 文字を反転させたい
それでも反転しなかったのでプロパティリストを再確認すると"HideSelection"を発見。
ああ、VBAとVB6はちょっとずつ違いますね。

Private Sub cmdOK_Click()
If DateCheck(txt1) Then Exit Sub
If DateCheck(txt2) Then Exit Sub
If CDate(txt1.Text) > CDate(txt2.Text) Then
   MsgBox ("開始日>終了日")
   Exit Sub
End If
Me.Hide
End Sub

Private Sub txt1_AfterUpdate()
txt1.Text = Format(txt1.Text, "Long Date")
DateCheck txt1
End Sub

Private Sub txt2_AfterUpdate()
txt2.Text = Format(txt2.Text, "Long Date")
DateCheck txt2
End Sub

Private Function DateCheck(TBOX As Object) As Boolean
If Not IsDate(TBOX.Text) Then
   TBOX.SelStart = 0
   TBOX.SelLength = Len(TBOX.Text)
   TBOX.SetFocus
   MsgBox ("正しい日付を入力してください")
   DateCheck = True
Else
   DateCheck = False
End If
End Function
 


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -