Excel VBA質問箱 IV

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

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


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

【57885】If Not〜Is Nothing Thenの使い方 わかば 08/9/19(金) 9:33 質問[未読]
【57886】Re:If Not〜Is Nothing Thenの使い方 Jaka 08/9/19(金) 9:50 発言[未読]
【57890】Re:If Not〜Is Nothing Thenの使い方 ひげくま 08/9/19(金) 10:33 回答[未読]
【57892】Re:If Not〜Is Nothing Thenの使い方 わかば 08/9/19(金) 11:54 お礼[未読]

【57885】If Not〜Is Nothing Thenの使い方
質問  わかば  - 08/9/19(金) 9:33 -

引用なし
パスワード
   おはようございます。
ネットや参考書等でいろいろ調べてみましたが、
読解力がないせいか

 1 If Not〜Is Nothing Then
 2 If 〜Is Nothing Then

が、いまいち理解できません。
申し訳ありませんが、
解りやすく教えてください。
宜しくお願いします。

【57886】Re:If Not〜Is Nothing Thenの使い方
発言  Jaka  - 08/9/19(金) 9:50 -

引用なし
パスワード
   これで解るかな?
オブジェクトに対してないとか...。

sub aaaa()
Dim mySheet As Worksheet
Dim SHNM As String

SHNM = "Sheet3"
On Error Resume Next
Set mySheet = Sheets(SHNM)
On Error GoTo 0

If Not mySheet Is Nothing Then
  MsgBox SHNM & "は、なくはないです。" & vbLf & _
     "つまりは、ある と、いうこと。"
End If
Err.Clear
Set mySheet = Nothing

SHNM = "Sheet4"
On Error Resume Next
Set mySheet = Sheets(SHNM)
On Error GoTo 0

If mySheet Is Nothing Then
  MsgBox SHNM & "は、ありません。"
End If
end sub

【57890】Re:If Not〜Is Nothing Thenの使い方
回答  ひげくま  - 08/9/19(金) 10:33 -

引用なし
パスワード
   こんにちは。

括弧をつけると解りやすくなったりしませんかね?

 1 If Not (〜 Is Nothing) Then
 2 If (〜Is Nothing) Then

If 〜 Is Not Nothing Then
だと解りやすいんでしょうけど、こういう書き方は許されていないんですよ。

【57892】Re:If Not〜Is Nothing Thenの使い方
お礼  わかば  - 08/9/19(金) 11:54 -

引用なし
パスワード
   Jakaさん  有り難うございます。

>オブジェクトに対してないとか...。
>If Not mySheet Is Nothing Then
  MsgBox SHNM & "は、なくはないです。" & vbLf & _
     "つまりは、ある と、いうこと。"

この部分で、やっと理解できました。


ひげくまさん

>括弧をつけると解りやすくなったりしませんかね?
> 1 If Not (〜 Is Nothing) Then
> 2 If (〜Is Nothing) Then

本当に解りやすいです。

>If 〜 Is Not Nothing Then
>だと解りやすいんでしょうけど、こういう書き方は許されていないんですよ。

勉強になりました。

モヤモヤが取れて、スッキリしました。
Jakaさん ひげくまさん 本当に有り難うございました。

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