ThisWorkbookで各sheetの操作をしたい。【VBA】

目次

経緯

VBAでプログラム書いていて、

各sheetに同じプログラムを記入していた。

プログラムの量も多くなるし、仕様を変えるとき、Sheet全部を書き換えないといけなくなるので、めんどくさかった。

なので、今回はThisWorkbookにプログラムを書いて処理できないか?

やってみました。

コード

早速、コードです。moduleで”kokoni_program ”というプログラムがありそれを指定したsheetで実行するという想定です。

実行するプログラムはsheet1から10です。

' シートがアクティブ化されたときに実行されるイベント
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ' シートが対象シートの一つかを判断して、条件に合致する場合にSheetActivatedプロシージャを実行
    If IsTargetSheet(Sh.Name) Then
        SheetActivated
    End If
End Sub

' シートのセルが変更されたときに実行されるイベント
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    ' シートが対象シートの一つかを判断して、条件に合致する場合にSheetChangedプロシージャを実行
    If IsTargetSheet(Sh.Name) Then
        kokoni_program Target
    End If
End Sub

' 対象シートかどうかを判断する関数
Function IsTargetSheet(sheetName As String) As Boolean
    ' 指定されたシート名がSheet1からSheet10のいずれかに合致するかどうかを判断
    IsTargetSheet = (sheetName = "Sheet1" Or _
                     sheetName = "Sheet2" Or _
                     sheetName = "Sheet3" Or _
                     sheetName = "Sheet4" Or _
                     sheetName = "Sheet5" Or _
                     sheetName = "Sheet6" Or _
                     sheetName = "Sheet7" Or _
                     sheetName = "Sheet8" Or _
                     sheetName = "Sheet9" Or _
                     sheetName = "Sheet10")
End Function

こんな感じでできました。

kokoni_programはmoduleで作った任意のプログラムを入れてください。

IsTargetSheet = (sheetName = “Sheet1” Or _…..
ここに実行したいシート名を入れてください。

参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

スクールの紹介

最後に宣伝をさせてください。

夢見るAIエンジニアへ、今こそ一歩を踏み出せ!

最近、AI技術やデータサイエンスに興味を持ち始めたあなた。将来、AIエンジニアやデータサイエンティストとして活躍したいと考えているかもしれません。また、AIを使って業務課題や研究課題を解決したい、あるいは教養としてAIの知識を深めたいと思っている方もいるでしょう。

しかし、学び始めるとなると「どこから手をつけて良いのか分からない」「専門的すぎて理解できない」といった悩みが生じることも。そんなあなたのために、この3ヶ月間集中してAIプログラミングを習得するオンラインコーチングサービスがオススメです!

なぜこのサービスが選ばれるのか?その理由はこちら

  1. 初心者から上級者まで
    完全なプログラミング初心者から研究者まで、幅広い方々に優良なコンテンツが提供されます。
  2. 徹底的な進捗管理
    受講者の進捗をしっかりとチェックし、つまずきやすいポイントでのフォローが万全です。
  3. 専属メンターによる徹底サポート
    AIの学び方から、実際の適用まで、専属のメンターが手厚くサポートします。
  4. 場所を選ばず学べるオンライン完結
    東京以外の地域からも、気軽に学び始めることができます。

信頼の実績多数!
・日本最大級のプログラミングスクール実績
・受講者総数700名以上
・SaaS型学習サービス会員65,000名以上
・企業導入実績120社以上
・グッドデザイン賞受賞
・著名な賞受賞歴や経団連加盟も実現

夢を叶えるための第一歩を、一緒に踏み出しませんか?今なら、あなたもその一員として学び始めることができます!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次