11 VBAの配列をサザエさんで覚える

配列ってなんだか難しそうな感じですよね。
でも、きっと大丈夫です!!

この記事では国民的アニメの「サザエさん」を使って、VBAの配列を勉強して行きます。

サザエさんのメインキャラを、「サザエ一家」と言う 配列に格納して、デバックプリントを使って、イミディエイトウィンドウに書き出して(出力して)行きます。

Excel側でシート「国民的アニメ」を用意して、表の中のキャラクター名を
配列「サザエ一家」に格納します。

配列は、

サザエ一家[0]=磯野波平
サザエ一家[1]=磯野フネ
サザエ一家[2]=フグ田マスオ
サザエ一家[3]=フグ田サザエ
サザエ一家[4]=磯野カツオ
サザエ一家[5]=磯野ワカメ
サザエ一家[6]=フグ田タラオ

です。

この様に配列は「0から」始まります。
この0から始まる部屋番号みたいなものを、添え字といいます。

では、下記のコードで実際に「波平さん(=0) ~ タラちゃん(=6)」までの名前を配列「サザエ一家」に格納して、それをイミディエイトウィンドウに出力します。

Sub 配列1()

'文字列型の配列「サザエ一家(6)」と、添え字の変数i(数値型)を定義
    Dim サザエ一家(6) As String, i As Integer
 
'ループでiを0から6まで配列の長さ分指定する
     For i = 0 To 6

'ExcelのセルB3の磯野波平から順番に配列「サザエ一家」に格納する
       サザエ一家(i) = Worksheets("国民的アニメ").Cells(3 + i, 2).Value

'デバックプリントに配列「サザエ一家」を出力する
       Debug.Print サザエ一家(i)

'配列の添え字iを進める
   Next i

End Sub

イミディエイトウィンドウの出力結果です。


では次に、サザエさん一家の中から代表して、「磯野波平」さんに一家のメンバーカラーを割り当ててみましょう。

メンバーカラーも、配列を使います。
配列名を「メンバーカラー」とします。

配列メンバーカラーの型は、Variant(バリアント型)という何でも入る型を使います。
このVariant型は、段ボール箱に四次元ポケットの機能を付けたようなイメージです。

ここでも、配列は0から始まります。

インプットボックスに0から4までの数字を入力して、波平さんにメンバーカラーを割り当てます。

「配列メンバーカラー」は

メンバーカラー[0]=赤
メンバーカラー[1]=青
メンバーカラー[2]=黄
メンバーカラー[3]=緑
メンバーカラー[4]=紫

としました。

ここでは波平さんに4番の「紫」のメンカラを割り当てます。

出力結果です。

コードです。
配列はArrayを使って作成します。

Sub 配列2()

'Variant型の配列「メンバーカラー」と、数値型の「番号」を宣言
    Dim メンバーカラー As Variant, 番号 As Integer

'配列メンバーカラーの色を「赤、青、黄、緑、紫」とする
      メンバーカラー = Array("赤", "青", "黄", "緑", "紫")

'インプットボックスを使って、メンバーカラーの番号を入力する
      番号 = InputBox("赤:0、青:1、 黄:2、緑:3、紫:4", "「磯野波平」氏にどのメンバーカラーを割り当てますか?")

'メッセージボックスに、「磯野波平氏」のメンバーカラーは「メンバーカラー(番号)ですと出力する
     MsgBox ("磯野波平氏のメンバーカラーは" & "「" & メンバーカラー(番号) & "」です☆★")

End Sub


皆様お気付きの通り、サザエさん一家に大事なキャラクターの「タマ」がいません!
そこで先ほどの配列「サザエさん一家」を自動で範囲の拡張をさせます。

新たに、配列「サザエ一家」に「タマ」も追加したい時、配列に自動的に追加出来るようなコードを書いて行きます。

行の「上端」と、「下端」と、「配列の最後(この場合は[7])」を、このExcelの全ての行を使って用意します。

このExcelの表を下にず〜〜〜〜とスクロールして、スクロールして、更に下に行くと、とてつもなく大きい数の行数があります。

数えきれないので、下記のVBAのコードでは
このExcelの全ての行数 = ActiveSheet.Rows.Count
と掲載します。

一番下である「このExcelの全ての行数」から上に向かって最初にぶつかるのが、
「タマ」の行です。
ここでは10行目で、変数「下端」に代入します。

変数「上端」は、B1から最初にぶつかるのが、「サザエ一家」という見出しで2行目です。

一家の行数は全部で8行で、配列は0から始まって7で終わります。
10行目から見出しの2行目を引いた数が行数として8行と求まります。
配列の最後の添え字は7なので、そこから1を引いています。


下記のコードで、LBoundは配列「サザエ一家」の一番小さい番号で[0]、
UBoundは一番大きい番号で[7]です。

Sub 配列3()

'文字列型の配列「サザエ一家」、ループの添え字数値型「i」、Long型の「上端」、Long型の「下端」、Long型の「配列の要素数」、Long型の「このExcelの全ての行数」を宣言

    Dim サザエ一家() As String, i As Long, 上端 As Long, _
       下端 As Long, 配列の要素数 As Long, このExcelの全ての行数 As Long

'ワークシート「国民的アニメ」をアクティブにする
       Worksheets("国民的アニメ").Activate

'このExcelの全ての行数をActiveSheet.Rows.Countを使って求める
      このExcelの全ての行数 = ActiveSheet.Rows.Count

'「上端」をセルB1、1行目2列目から下に向かって求める
      上端 = Cells(1, 2).End(xlDown).Row

'「下端」を行が「このExcelの全ての行数」で、列がB列(2列目)から上に上がって求める
      下端 = Cells(このExcelの全ての行数, 2).End(xlUp).Row

'「配列の要素数」の[7]を下端(10)-上端(2)-1から求める
      配列の要素数 = 下端 - 上端 - 1

'ReDimを使って、新たに配列を出力
       ReDim サザエ一家(配列の要素数)

'Forループで配列の最初(LBound)から配列の最後(UBound)までを添え字iに代入
          For i = LBound(サザエ一家) To UBound(サザエ一家)

      '配列「サザエ一家」に、Excelのシート「国民的アニメ」のセルB3からB7までを格納
             サザエ一家(i) = Worksheets("国民的アニメ").Cells(上端 + i + 1, 2).Value

'デバックプリントを使って、イミディエイトウィンドウに配列サザエ一家[i]を出力
          Debug.Print サザエ一家(i)

'ループを進める
         Next i

End Sub

実行すると、無事に自動で「タマ」も出力されました。

お疲れ様でした。

ここでサザエさんTipsですが、サザエさんは「あわび女子学園大学」を卒業されています。
参考記事:サザエさんの登場人物の学歴がヤバい…卒業した大学や就職先を公開

サザエさんのBGMが聴きたい方は、こちらの動画がオススメです。
この記事を書き終わって、私も思わず聴きに行きました。

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

いたばし花火大会2023の「にこちゃんマーク」の花火です。
「♪はだしで かけてく、陽気なサザエさん」 に合いそうな写真だと、個人的に思います。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

自己紹介


VBA自作サンプルプログラム集へ戻る

取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ


MOSなどの資格試験対策

Excelショートカットキー セル操作基礎その2

この記事では、下記のExcel操作の中でも、非常に使用頻度の高いショートカットキー操作が学べます。

<<この記事で学べること>>

・シートを挿入する
・複数のセルに一括で入力する
・セルを編集して切り取りや貼り付けをする
・セル内で改行する
・真上のセルをコピーする
・左のセルをコピーする

新しいシートを挿入します。
[Shift] + [F11]
で、挿入できます。

挿入したタブをダブルクリックすると、
自由に名前を付けられます。

次にセルを編集します。
[Shift]キーを押しながら[↓]を押すと下の図の様に複数のセルを選択出来ます。


この、選択しているその状態で、
「スカイツリー」と入力して、Enterで確定した後、[Ctrl]+[Enter]を押すと、全てのセルに「スカイツリー」の文字が入りました。


では、「スカイツリー」と入力したセルのうちの1つを「スイカツリー」に変えます。
ここでは、セルC6を選択して、[F2]キーを押します。

すると編集モードになりますので、スカイツリーの「カ」の後ろにカーソルがある状態で、[Shift]キーを押しながら[←]キーを押して「カ」を選択して、[Ctrl]+[X]を押して切り取って、「イ」の後ろにカーソルを移動して、[Ctrl]+[V]で貼り付けます。

今、この様になりました。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

スイカっぽい色ですが、スカイツリーです。

では次に、セル内を改行するショートカットキーを掲載します。
セルC6の所で[F2]を押します。
編集モードになるので、「カ」の後ろにカーソルを移動して、
[Alt] + [Enter] を押すと改行されます。
もういちど[Enter]を押すと確定します。

無事に改行できました。
もしも、文字の一部が表示されていない場合は、6行目の高さが足りないかも知れませんので、行番号の6と7の間の所でダブルクリックをすると表示されます。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

スカイツリーと河津桜です。

次に、左のセルをそのまま右のセルにコピーするショートカットキーを掲載します。
先ほど「スイカツリー」と入力したセルのすぐ右隣のD6に移動します。

この状態で[Ctrl]+[R]を押すと、

左隣のセルをコピー出来ました。

今度は、真上のセルをコピーしたいと思います。
セルC8に移動します。

この状態で[Ctrl] + [D]を押します。

すると、


真上のセルをそのままコピー出来ました。

この辺りも覚えておくと仕事の時短に繋がりやすいです。

お疲れ様でした。
ここで一旦、写真で休憩を挟みます。

荒川土手から見た、スカイツリーと夜景です。




Excelもスプレッドシートも、学ぶ範囲が広すぎたり、自分が頑張って勉強してもあまり実務に役に立たなかったりということに悩んでおりました。

その悩みを解決する本を見つけましたので、早速紹介させて頂きます。
最近の学びでは、本と動画が連動していて、本にQRコードが付いていて、YouTube動画で講師の方が分かりやすく説明して下さる、「本×動画」という新しい学び方に目から鱗でした。

動画登録者20万越えの教育系YouTuberでお馴染み、Yousefulの長内孝平氏、神川陽太氏のExcelとスプレッドシートの本では、「現場の教科書」というタイトルが付いてある通り、実務に直結した内容をまずは本で要点を掴んで、動画で詳しく解説して下さっています。
個人的にはお二人の動画最後の「See you next time! Bye Bye!!」が好きで勉強のモチベーションが上がる教材です。

講師の長内氏も神川氏も私よりもだいぶ若い方ですので、私にとってはまさに中高年の学び直しという感じですね。

若い方から教わることに抵抗のある方もいらっしゃるかも知れませんが、Yousefulの講師の方は親しみやすいので大丈夫です!

ロスジェネ世代の方達は、いずれは若い方から学び直しなどで教わることも沢山出て来ると思います。
ですので、本や動画を通して若い方から教わることに慣れて置くというのもこれからより良く生きる為に役立てると私は考えております。

できるYouTuber式 Excel現場の教科書
ビジネス教育系ユーチューバー長内孝平氏

ベストセラー1位に輝いたExcelの本です。
長内氏はMicrosoft本社が公式で認めるテクノロジーの専門家であり、徹底的な分かりやすさで語りかけるように動画でExcelを教えて下さっています。
学習用のサンプルも付いています。

できるYouTuber式 Googleスプレッドシート 現場の教科書
神川陽太氏 & 長内孝平氏

この本には、スプレッドシートだけでなく、Excelではどう解くのかも書かれているので、スプレッドシートとExcelの復習を同時に行いたい方には、かなりオススメです!
教材のサンプルのスプレッドシートは閲覧用ですが、コピーをして自分のスプレッドシートに貼り付けて演習を行うことが可能です。

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

 

最後までご精読、誠にありがとうございました!!

最後までお付き合い頂き、誠にありがとうございました!!

■ 関連記事 ■

自己紹介



取りあえず事務職で働きたいから手っ取り早くExcel教えてくれに戻る

初めてのGoogleスプレッドシート

急にプレゼン資料を作ることになったから手っ取り早くパワポ教えてくれ

Wordのポイントを手っ取り早く教えてくれ!!!



コロナ禍・アフターコロナのテレワーク対策(Google Workspace)に戻る



メインメニューに戻る

モバイルバージョンを終了