Excel VBAを始めるには(008)

前回は繰り返し処理の話。
繰り返し処理の場合、Excelでは多くのセルを参照する事が可能となるが、その場合
必ず必要となるのが条件分岐。

条件分岐にはIf-Then-Else-Endif または Switch case -End Case などがある。

条件分岐はVBAに限らず、プログラム言語での重要性が高い。
これは「判断」を行う処理であるため、いわゆる「知能」の部分である、それゆえ
この構築で、処理速度を始め、結果などに大きな差が出ることがある。

しかし、最初はとにかく経験なので書いてみることが重要。
もう一点、条件分岐で重要なのは、実は可読性。

条件分岐は、整理して置かないと「抜け」や「重複」が発生する、想定外等の
値にも対応せねばならない。その意味でもVBAを構築する場合、一番の難関と言える。




わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma

People Who Wowed This Post

昨日は強風(2022.11.06)

昨日は強風(2022.11.0...
昨夕は、かなりの強風。
柿園での作業を終え、吉良の糟屋邸を見学し帰宅した。

強風で鈴鹿山系も名古屋市街もよく見ることが出来た。
特に名古屋付近は強風がない限り、視界が悪い、昨夕は良かった。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma_ichinomiya
#VegaSystems
#photography_Ichinomiya
#OM_D_E_M1X

#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#kuma

People Who Wowed This Post

Excel VBAを始めるには(007)

今回はLoop、いわゆる繰り返し処理。
プログラムは上から下へ1Stepずつ実行される。
これを後戻りするにはGotoという命令を使うが、これは本来の使用途ではない。

繰り返しとは、同じ形式の処理を何度も行う場合、それを普通のStepで書いては
大変なので、その処理を繰り返させる事をLoop処理という。

Loopには、Do Loop-End Loop と For-Next が使われる。

例えば50人分の一ヶ月の項目は1550となる、これは50行、31列で画面で視認出来る
大きさであるが、これの1セルづつをチェックして、相応の処理をするのは人力では
限界がある。

この処理を1550回繰り返させるのがLoop処理、近年のPCのなら1秒程度で、その
処理が出来る。

Excelでは簡単に出来ない処理だ。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma

People Who Wowed This Post

Excel VBAを始めるには(006)

VBAについてごちゃごちゃ書くことをお許しいただきたい。
VBAはプログラムであり、政府が騒ぐデジタル教育の中で最も身近にある「道具」で
ある。
プログラム教育を小学校からと騒いでいるが、プログラム教育に携わる方々は本当に
それを理解しているのか、私の知る限りでは、はなはだ疑わしい。

プログラム教育は「慣れろ」ではない、Sourceを見、Webの検索で理解出来る方は、
ごく少数であると言える。きちんした基本形があり、概念を学ばねばならないが、
小学校の教員でそれがどこまで出来ているのであろうか。

これは英語を理解していない人が、英語を教えているように思える。
なにやら視覚的に学べる道具を使うようだが、実際の現場ではSourceのコーディングと
なる、この事をどこまで文科省は方針として理解しているのだろうか。

VBAをきっかけとして、プログラミングを習得できれば、他の言語習得のハードルは
一気に低くなる。「プログラム言語」の基本は、どの言語でも大差はない。
むしろ、中身がBlackBoxのLIBなどをやたらくっつける言語などより、VBAのほうが
基礎学習には優れた部分が多い。

コロナ後、厳しい経済状況が予想される、「手に職」を付けることが、一番簡単で、
自分を有利にすることが出来る。私の経験では他国言語の習得より、ハードルは低く、
過度な「記憶能力」は要求されない。

いま、Excelで作業している事を、VBA化する事に集中することを強くすすめる。

「今やらないで、いつやるのか」

わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma

People Who Wowed This Post

Excel VBAを始めるには(005)

関数について解説する。
EXcelではSUM関数を始め、豊富な関数がある。VBAでも此等は宣言をするこで同様に
使うことが出来る(WorkSheetFunction)。
VBAでは関数の使用は変数を介することで、用途は飛躍的広がる、変数は表示名は
そのままで中身が入れ替わるので、様々な場面で有用であるが、これに関数を絡ませ
ると、更に用途が拡大する。

VBAで多用するのは文字関数で、セルの値を様々な形で切り出す事が出来る。
Excelにも同じ関数があるが、都度入力設定が必要な操作では無く、VBAではプログラム
として固定する事ができる。

文字関数としてLEFT/MID/RIGHTなどがよく使われる、詳細はWebでチェックしてほしい。
セルの値が「103-25-2」とある場合、103のみを切り出す事が出来、更に、これは
文字であるため、数値変換もVAL関数(文字から数値)で可能となる。
それも1Stepで記述が出来る。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma

People Who Wowed This Post

昨日の夕景(2022.11.06)

昨日の夕景(2022.11.0...
昨日の夕景。
中央が鎌ヶ岳、右山麓の二段目あたりから崩落で鎌状のえぐれがあり、これが
山名となっています。右は御在所、測候所の突起もみることが出来ます。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma_ichinomiya
#VegaSystems
#photography_Ichinomiya
#OM_D_E_M1X


#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#kuma

People Who Wowed This Post

今日の夜明け前

今日の夜明け前
今日の夜明け前


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma_ichinomiya
#VegaSystems
#photography_Ichinomiya

#HW01

#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#kuma

People Who Wowed This Post

Excel-VBA セルに背景色その2

少し簡単にパターンの紹介。
これはセルの値の部屋番号での着色。
すべてSelect Case文、
前後に着色のWith-EndWithを入れ、その中で
Case で値を決め、着色します。

以下、Source
Sub Room_Color()
'
' Room_Color Macro
'
' Helper Sheet上の部屋番号に着色します。

Sheets("HELPER").Select


Dim i, j, k As Long

Dim Rom_c As String

For i = 2 To 51

For j = 5 To 33

Rom_c = Cells(j, i)

If Rom_c = "" Then

GoTo CONTINUE:
Else

Rom_c = Left(Rom_c, 3)

Cells(j, i).Select

With Selection.Interior

.Pattern = xlSolid
.PatternColorIndex = xlAutomatic

Select Case Rom_c


Case "102"

.ColorIndex = 3

Case "103"

.ColorIndex = 4

Case "105"

.ColorIndex = 50

Case "106"

.ColorIndex = 6

Case "107"

.ColorIndex = 7

Case "108"

.ColorIndex = 8

Case "110"

.ColorIndex = 10

Case "111"

.ColorIndex = 12

Case "112"

.ColorIndex = 14

Case "201"

.ColorIndex = 15

Case "202"

.ColorIndex = 16

Case "203"

.ColorIndex = 17

Case "205"

.ColorIndex = 19

Case "206"

.ColorIndex = 20

Case "207"

.ColorIndex = 42

Case "208"

.ColorIndex = 22

Case "210"

.ColorIndex = 23

Case "211"

.ColorIndex = 24

Case "212"

.ColorIndex = 33

Case "213"

.ColorIndex = 34

Case "215"

.ColorIndex = 35

Case "216"

.ColorIndex = 36

Case "217"

.ColorIndex = 37

Case "218"

.ColorIndex = 38

Case "220"

.ColorIndex = 39

End Select


.TintAndShade = 0
.PatternTintAndShade = 0

End With

'Debug.Print Rom_c

End If

CONTINUE:



Next j


Next i

Range("A1").Select


'
End Sub



わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma

People Who Wowed This Post

今日の御嶽山(2022.11.05)

今日の御嶽山(2022.11....
今日の御嶽山
雲が少しあります、先日の雨はお山は雪になり、冠雪が始まりました。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#RX10M3
#kuma

People Who Wowed This Post

今日の日の出(2022.11.05)😄

今日の日の出(2022.11....
今日の日の出、位置は猿投山の頂上を過ぎ、南麓にかかりました。
今日は、少し雲があり、発色が綺麗です。


わかお かずまさ
VegaSystems

📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#kuma_ichinomiya
#VegaSystems
#photography_Ichinomiya
#S1H
#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#kuma

People Who Wowed This Post

×
  • If you are a bloguru member, please login.
    Login
  • If you are not a bloguru member, you may request a free account here:
    Request Account