• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2022

シェア "PowerPoint プレゼンテーション"

Copied!
75
0
0

読み込み中.... (全文を見る)

全文

(1)

多分岐選択

(2)

 条件式

 If…Then…Else

 IIF

 Select

 Switch

今日の目的

(3)

(4)

Dim n As Long

n = 10

If n = 10 Then

Debug.Print “ゆっくりしていってね! End If

条件式

(5)

 条件式

・比較演算子

・その他・よく使用する演算子

・文字列型にたいする条件式

・オブジェクト型・バリアント型に対する条件式

(6)

= 等しい

<> 等しくない

>= 以上

> より大きい

<= 以下

< 小さい

比較演算子

(7)

Dim n As Long

n = 10

If n = 10 Then

Debug.Print “ゆっくりしていってね! End If

=演算子

=演算子

この場合はnと10は等しいので

Trueと評価されて命令が実行される

(8)

Dim n As Long

n = 10

If n <> 10 Then

Debug.Print “ゆっくりしていってね! End If

<> 演算子

<>演算子

この場合はnと10は等しいので

Falseと評価されて命令が実行されな

(9)

Dim n As Long

n = 10

If n >= 10 Then

Debug.Print “ゆっくりしていってね! End If

> =演算子

>=演算子

この場合はnが10以上なので

Trueと評価されて命令が実行される

(10)

Dim n As Long

n = 10

If n > 10 Then

Debug.Print “ゆっくりしていってね! End If

> 演算子

>演算子

この場合はnが10より多きくないの

でFalseと評価されて命令が実行され

ない

(11)

Dim n As Long

n = 10

If n <= 10 Then

Debug.Print “ゆっくりしていってね! End If

< =演算子

<=演算子

この場合はnが10以下なので

Trueと評価されて命令が実行される

(12)

Dim n As Long

n = 10

If n < 10 Then

Debug.Print “ゆっくりしていってね! End If

< 演算子

<演算子

この場合はnが10より小さくないの

でFalseと評価されて命令が実行され

ない

(13)

 条件式

・比較演算子

・その他・よく使用する演算子

・文字列型にたいする条件式

・オブジェクト型・バリアント型に対する条件式

(14)

exp1 And exp2 exp1 exp2

が両方真なら真

exp1 Or exp2 exp1exp2のどちらかが真なら真 Not exp1 exp1が偽なら真。真なら偽

条件式でよく使う演算子

(15)

Dim b1 As Boolean, b2 As Boolean

b1 = True : b2 = False If b1 And b2 Then

Debug.Print “ゆっくりしていってね! End If

AND 演算子

And演算子

両方の条件がTrueの場合に Trueになる

(16)

Dim b1 As Boolean, b2 As Boolean

b1 = True : b2 = False If b1 Or b2 Then

Debug.Print “ゆっくりしていってね! End If

OR演算子

Or演算子

どちらかの条件がTrueの場合に Trueになる

(17)

Dim b As Boolean

b = False

If b And fncTest() Then

Debug.Print “ゆっくりしていってね! End If

AND,OR での注意

VBAでは条件式全て評価される。

この場合、すでに偽が確定していて

も、fncTestというプロシージャが実

行されてしまう。

(18)

Dim b As Boolean

b = False

If b = True Then If fncTest() Then

Debug.Print “ゆっくりしていってね! End If

End If

AND,OR での注意

プロシージャーを実行させたくない ときはアンド演算子をつかわずに もう一つIF文を記述する

(19)

If fncTestA() Or fncTestB() Then

Debug.Print “ゆっくりしていってね! End If

AND,OR での注意

ORの場合の例

かりにプロシージャーAが真であっ ても、プロシージャBは実行されて しまう。

(20)

Dim b As Boolean b = fncTestA()

If b=False Then b=fncTestB() End if

If b Then

Debug.Print “ゆっくりしていってね! End If

AND,OR での注意

なので、プロシージャーAが偽のと きのみ、プロシージャーBを実行す るようにする

(21)

Dim b1 As Boolean

b1 = True

If Not b1 = True Then

Debug.Print “ゆっくりしていってね! End If

Not 演算子

Not演算子

真なら偽、偽なら真になる

(22)

 条件式

・比較演算子

・その他・よく使用する演算子

・文字列型にたいする条件式

・オブジェクト型・バリアント型に対する条件式

(23)

比較演算子 による文字の比較

StrCompによる文字列比較

Like によるパターンチェック

文字列型についての

条件式

(24)

Dim s As String

If s = “” Then

Debug.Print “ゆっくりしていってね! End If

比較演算子の例

この例では文字列型の変数が 空文字かチェックしている

(25)

Dim s As String

s = “TAKE IT EASY.”

If s = “Take it easy.” Then

Debug.Print “ゆっくりしていってね! End If

比較演算子の例

文字列に対して=演算子でチェック した場合

これがTrueかFalseになるかは ここだけでは判断できない

(26)

Option Compare Binary

‘* または省略した場合

~略

Dim s As String

s = “TAKE IT EASY.”

If s = “Take it easy.” Then

Debug.Print “ゆっくりしていってね! End If

比較演算子の例

Option Compare Binary の場合 大文字小文字は区別する

(27)

Option Compare Text

~略

Dim s As String

s = “TAKE IT EASY.”

If s = “Take it easy.” Then

Debug.Print “ゆっくりしていってね! End If

比較演算子の例

Option Compare Text の場合

大文字小文字は区別せず、また地域 できめられたテキスト並び順に依存 する。日本語の場合、かなとカナや 全角・半角は区別されない。

(28)

Dim s As String

s = “TAKE IT EASY.”

If StrComp(s, "TAKE it EASY! ", _ vbTextCompare) = 0 Then

Debug.Print “ゆっくりしていってね! End If

StrComp を使用した例

StrComp関数は文字の比較をする

(29)

Dim s As String

s = “TAKE IT EASY.”

If StrComp(s, "TAKE it EASY! ", _ vbTextCompare) = 0 Then

Debug.Print “ゆっくりしていってね! End If

StrComp を使用した例

StrComp関数の第3引数

vbUseCompareOption:オプションに依存 vbBinaryCompare: 完全一致か比較

vbTextCompare:大文字小文字、半角全角、

かなカタカナは区別しない

(30)

Dim s As String

s = “TAKE IT EASY.”

If StrComp(s, "TAKE it EASY! ", _ vbTextCompare) = 0 Then

Debug.Print “ゆっくりしていってね! End If

StrComp を使用した例

StrComp関数戻り値

0:文字列が等しい それ以外:等しくない

(31)

Dim s As String

s = “神はいっているゆっくりしていけと・・・

If s Like “*ゆっくり*” Then

Debug.Print “ゆっくりしていってね! End If

Like 演算子の例

Like演算子はパターンに比較ができ る

(32)

・比較演算子

・その他・よく使用する演算子

・文字列型にたいする条件式

・オブジェクト型・バリアント型に対する条件式

条件式

(33)

Nothingの判定

・オブジェクトのタイプ判定

Emptyの判定

Nullの判定

オブジェクト型やバリア ント型で使用する条件式

・オブジェクト型か?

・配列か?

・日付に変換できるか?

・数値に変換できるか?

(34)

Dim obj As Object

If obj Is Nothing Then

Debug.Print “objNothingだよ End If

Nothing の判定

Is Nothingを使用して

オブジェクトがNothingかどうか チェックする

(35)

Dim obj As Object

If Not obj Is Nothing Then

Debug.Print “objNothingじゃないよ End If

Nothing の判定

Not XXX Is Nothingを使用して

オブジェクトがNothingでないことを 確認する

(36)

Dim obj As Object

Set obj = ThisWorkbook

If TypeOf obj Is Workbook Then

Debug.Print “objWorkBookだよ End If

オブジェクトのタイプ

オブジェクトのタイプを確認するに はTypeOf XXX Is を使用する

(37)

Dim v As Variant

‘ v = Empty 初期値のままでもOK If IsEmpty (v) Then

Debug.Print “vEmpty”

End If

Empty の確認

EmptyはVariantの変数に

データが入っていないことを表す

これはIsEmpty()関数でチェックする

(38)

Dim v As Variant

v = Null

If IsNull (v) Then

Debug.Print “vNull”

End If

Null の確認

NullはVariantの変数に有効な

データが入っていないことを示す

これはIsNull()関数でチェックする

(39)

Dim v As Variant

Set v = ThisWorkbook If IsObject (v) Then

Debug.Print “vObject”

End If

オブジェクトか?

IsObjectはバリアント型がオブジェク

トを参照しているかチェックする

(40)

Dim v As Variant

v = Array(“a”,”b”,”c”) If IsArray (v) Then

Debug.Print “vは配列 End If

配列か?

IsArrayは指定の変数が配列かどうか

チェックしている

(41)

Dim v As Variant

v = “199911 If IsDate (v) Then

Debug.Print “vは日付 End If

日付に変換できるか?

IsDateは指定の変数が日付に変換でき

るかどうかチェックしている。

この関数は、地域や環境によって同 じ値をチェックしても結果がかわる

(42)

Dim v As Variant

v = “1999.345

If IsNumeric (v) Then

Debug.Print “vは数値” & CDbl(v) End If

数値に変換できるか?

IsNumericは指定の変数が数値に変換

できるかチェックしている。

(43)

 条件式

 If…Then…Else

 IIF

 Select

 Switch

今日の目的

(44)

If 条件式-1 Then

条件1をみたした場合の命令 [ElseIf 条件式-n Then

条件nを満たした場合の命令] [Else

条件を満たさなかった場合の命令] EndIf

If … Then … Else

(45)

If 条件式-1 Then

条件1をみたした場合の命令 [ElseIf 条件式-n Then

条件nを満たした場合の命令] [Else

条件を満たさなかった場合の命令] EndIf

If … Then … Else

If… ThenとEnd If は必須

(46)

If 条件式-1 Then

条件1をみたした場合の命令 [ElseIf 条件式-n Then

条件nを満たした場合の命令] [Else

条件を満たさなかった場合の命令] EndIf

If … Then … Else

もし条件式1を満たした場合ここが 実行されて、その後、End If へ

(47)

If 条件式-1 Then

条件1をみたした場合の命令 [ElseIf 条件式-n Then

条件nを満たした場合の命令] [Else

条件を満たさなかった場合の命令] EndIf

If … Then … Else

任意の数だけ記述できる

(48)

If 条件式-1 Then

条件1をみたした場合の命令 [ElseIf 条件式-n Then

条件nを満たした場合の命令] [Else

条件を満たさなかった場合の命令] EndIf

If … Then … Else

Elseは必要なら一つだけ記述できる

(49)

If a = 10 Then

Debug.Print “ EndIf

If … Then … Else

(50)

If a = 10 Then

Debug.Print “ Else

Debug.Print “Else”

EndIf

If … Then … Else

(51)

If a = 10 Then

Debug.Print “ ElseIf a = 20 Then Debug.Print “ Else

Debug.Print “Else”

EndIf

If … Then … Else

(52)

 条件式

 If…Then…Else

 IIf

 Select

 Switch

今日の目的

(53)

ret = IIf (条件式,真の場合の値

,偽の場合の値)

IIf 関数

(54)

Debug.Print IIf(a = 10, “

”, “")

IIf 関数

(55)

Debug.Print IIf(True , fncA() , fncB() )

 IIf 関数

評価は両方の引数に対して行われる ので注意。

(56)

 条件式

 If…Then…Else

 IIf

 Select

 Switch

今日の目的

(57)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

(58)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

(59)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

値の指定方法 Case 値

値の場合にステートメント実行

(60)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

値の指定方法:リスト Case 値1 , 値2, 値3

値1、値2、値3のいづれかのとき ステートメント実行

(61)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

値の指定方法:Toキーワード Case 値1 , 値x To 値y

値1または x~yの範囲

(62)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

値の指定方法:Isキーワード Case 値1 , Is 比較演算子 X

(63)

Select

[Case -n (n:1以上)

式が値に一致した場合に実行] [Case Else

すべてのCaseが条件を満たさなかった場合の命令] End Select

Select

(64)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(65)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(66)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(67)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(68)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(69)

Select Case a Case 1

Debug.Print “"

Case 2 To 4

Debug.Print “"

Case 5, 6, 7

Debug.Print “ Case Is > 1000

Debug.Print “ Case Else

Debug.Print “ End Select

(70)

 条件式

 If…Then…Else

 IIf

 Select

 Switch

今日の目的

(71)

Switch (1,1[,2,2…[,

n,n]])

Switch

(72)

Debug.Print Switch (a = 10, “

” _ , a = 20, "“ _ , a > 30, "")

Switch

(73)

Debug.Print Switch (True, “

” _ , a = 20, "“ _ ,fncSub() , "")

Switch

(74)

 条件式

 If…Then…Else

 IIf

 Select

 Switch

今日の目的

(75)

多分岐選択

参照

関連したドキュメント

「ユーゴ」と入力し、検索ボタンを

・ご登録いただいたカードの有効期限切れ、またはカード更新によるセキュリティコード変更などに より自動引

• アロメトリ式は、森林タイプ (forest type、常緑林evergreen forest や落葉林deciduous forest など)や生育地の環境に よって推定結果が異なる

2) 医療機器が受け取る医療情報 3) 医療機器が生成する医療情報 4) 医療情報の利活用.. 1)

DDR3 メモリを専用とする CPU 「Core i7」 が登場して普及、一般化し、価格も 低下。現在は DDR2 に代わる主流のメモリとなっています。 SDRAM

Check Point Gatewayオブジェクト オブジェクト名と IP アドレスを 変更する際は注意が必要です Security Gateway の Software Blade

geometry { motorBike.obj { type triSurfaceMesh; name motorBike; } refinementBox { type searchableBox; min (-1.0 -0.7 0.0); max ( 8.0

は任意の名前で,…に 任意の文章 を書く ¥documentclass {jsarticle} ¥newcommand {¥aaa} {注意:¥ } ¥begin{document} ¥aaa