Excel VBA質問箱 IV

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

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


2362 / 13646 ツリー ←次へ | 前へ→

【68485】findについて ポッピー 11/3/10(木) 0:07 質問[未読]
【68486】Re:findについて UO3 11/3/10(木) 6:30 回答[未読]
【68490】Re:findについて kanabun 11/3/10(木) 9:30 発言[未読]

【68485】findについて
質問  ポッピー  - 11/3/10(木) 0:07 -

引用なし
パスワード
   もし変数Xに半角ブランクが含まれていれば
処理Aを含まれていなければ処理Bをさせる
コードを書こうと考えています。

Sub aaa()
 X = Range("A1")
 If IsError(Application.WorksheetFunction.Find(" ", X)) = True Then
  処理A
 Else
  処理B
 End If
End Sub


と書いたのですが、「worksheetfunctionクラスのfindプロパティを取得できません」
というエラーが帰ってきました。
どう書き直せばいいのでしょうか?

【68486】Re:findについて
回答  UO3  - 11/3/10(木) 6:30 -

引用なし
パスワード
   ▼ポッピー さん:

If IsError(Application.Find(" ", X)) = True Then

WorksheetFunctionクラスのFindはエラー値をかえさず実行時エラーになります。

ところで、変数宣言は必須にしておき(Option Explicit) 必ず記述するように
されることを、強くおすすめします。

【68490】Re:findについて
発言  kanabun  - 11/3/10(木) 9:30 -

引用なし
パスワード
   ▼ポッピー さん:

よこからすみませんm(_ _)m

なぜ、わざわざ ワークシート関数を使われるのか、理由が分かりません。

>もし変数Xに半角ブランクが含まれていれば

'Find関数に対応するVBA関数は InStr です
>Sub aaa()
 Dim X As String
 X = Range("A1").Value
 If InStr(X, " ") > 0 Then
>  処理A
> Else
>  処理B
> End If
>End Sub

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