エクセルVBA Gotoで移動!シート非表示ソフトのコード解説

sheethiddeneyecatch003

今回は、エクセルシート非表示VBAソフトのコードの説明を行います。

こんにちは、じゅんぱ店長(@junpa33)です。

 

エクセルVBAのIf~Gotoで処理分岐します。シート非表示VBAソフトのコードの紹介です。

コントロールのイベント処理は、間違い防止のため、条件付き実行にしています。

 

Gotoステートメントは、多用するとコードの流れが複雑で訳が分からなってしまう事もあります。

Gotoの使用は、コードの可読性も悪くなりバグの発生や発見についても非常に不利に働く可能性が高くなります。

そのため、あまり使わないようにするというのが共通認識です。

しかし敢えて、

今回は敢えて作ってみました。Gotoの多用でコードがビュンビュン飛んでいます。If条件文で分岐もいっぱいです。

何の参考にもならないという話もありますが、そこはチャレンジ精神で作ってみました。

基本、Gotoを標準モジュールを使う場合は、コードを書くごとに「ステップイン」でチェックしながら行うのが吉です。

(今回の場合はイベントですので使えません。)

 

 

 

シート非表示VBAソフト作成のコンセプト

 

  • 条件分岐のコードはGotoでジャンプで移動処理していきます。
  • ソフトの起動にはイベントで鍵を付けます。
  • 今あるエクセルファイルにも導入できるようなツール的ソフトにします。
  • 多種多様なシート名にも使えるようにします。
  • 「非表示解除できるタイプと出来ないタイプ」の2種類の非表示にも対応します。
  • ユーザーフォームからの操作で、VBAコードの記述はフォームモジュールだけにします。
  • コンパクトに納めるため、このソフト用のための、新たなシート、標準モジュールを使いません。

 

ユーザーフォームにコントロールを配置します

 

このユーザーフォームを作ります。

sheethidden007

ユーザーフォーム全体にコントロールの「フレーム」を敷いています。

コントロールの配置

 

sheethidden008

 

他にチェックボックスの名称「強化Ver.」はラベルで作成しています。

 

UserForm

sheethidden009

①Frame1

sheethidden010

④CheckBox

sheethidden011

オブジェクト名 シート表示オブジェクト名 Frame1
Caption (空欄)
オブジェクト名 強化保護
Caption (空欄)

 

②コマンドボタン

sheethidden012

③トグルボタン

sheethidden012

オブジェクト名 非表示シート名
Caption 非表示シート名
オブジェクト名 表示操作
Caption 非表示OFF

 

Gotoでジャンプするコードを組み立てる

 

ユーザーフォームモジュールへイベントコードを記述していきます。

変数の宣言

記述の先頭で、変数の宣言を行います。変数をモジュールレベルとします。

Dim UVS, ANSa, ANSb, ANSc, ANSd, MsUV
Dim ws As Worksheet
Dim FL As Boolean, key1 As Boolean
Dim WSN(1 To 500)
Dim i As Long, s As Long, Va As Long, Vb As Long
Dim TYPa As String, TYPb As String

変数の宣言をする場所で、変数の有効範囲を替えることが出来ます。

こちらの「エクセルVBA 変数の適用範囲を宣言方法でコントロールする」の記事を参考にしてください。

 

Frame1のイベントコード

「Frame1」がダブルクリックされたときにイベントを発生させます。クリックされたときにkey1をTrueにします。

Private Sub Frame1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

key1 = True

End Sub

 

CheckBox「強化保護」のイベントコード

クリックをしたかどうかの条件分岐を行います。

key1がTrueでなければ、プロシージャーを実行しません。

Private Sub 強化保護_Click()

TYP = “”
If key1 = False Then
  強化保護.Value = False
Exit Sub
Else
  If 強化保護.Value = True Then
    TYPa = xlSheetVeryHidden
    TYPb = xlSheetVisible
  Else
    TYPa = xlSheetHidden
    TYPb = xlSheetVisible
  End If
End If
End Sub

 

コマンドボタン「非表示シート名」のイベントコード

非表示には「VeryHidden」と「Hidden」の2種類がありますのでその両方で調べます。

ここでは「Frame1」のイベントの発生とは無関係にします。

Private Sub 非表示シート名_Click()
MsUV = “”
UVS = “”
For Each ws In Worksheets
If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
MsUV = ws.Name
UVS = UVS & MsUV & “ を非表示中です。” & vbCrLf
End If
Next ws
MsgBox UVS, vbOKOnly + vbInformation, “非表示チェック”
End Sub

「For Each~Next」の使い方については、

VBA 回数不定のループ処理はDo LoopとFor Each」を参考にしてください。

「If条件文」の使い方については、

エクセルVBA 「If条件文」を最速に理解。条件の絞り方」を参考にしてください。

 

トグルボタン「表示操作」のイベントコード

少々混み入っていますので、順番に区切って説明します。

Private Sub 表示操作_Click()

 

If key1 = False Then
  Exit Sub

「Frame1」のイベントが発生しなければこのプロシージャーを終了させます。

 

Else
  Va = 0
  Vb = 0
  For Each ws In Worksheets
    If ws.Visible = True Then
      Va = Va + 1
    ElseIf ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
      Vb = Vb + 1
    End If
  Next ws

「表示シート」数と「非表示シート」数をカウントします。

  If Va = Worksheets.Count And Va = 1 Then
    MsgBox “表示シート数が1つでは非表示機能は使えません。”, vbOKOnly + vbExclamation, “非表示警告”
    シート表示.表示操作 = False
    シート表示.表示操作.Caption = “非表示OFF”
    シート表示.表示操作.BackColor = &H8000000F
    key1 = False
  Exit Sub
  End If

シート数が1枚のみ表示のエクセルBOOKの設定の場合、エクセルの仕様で非表示にはできません。

アラートウインドウを出してこのプロシージャーを終了します。

メッセージボックスの使い方については、こちらが参考になります。

メッセージボックス MsgBox実際の使い方を最速に理解

 

  If Worksheets.Count – Vb = 1 Then
    MsgBox “非表示にできる最大シート数に達しました。” & vbCrLf & “これ以上は不可能です。”, vbOKOnly + vbExclamation, “非表示警告”
    シート表示.表示操作.Caption = “非表示ON”
    シート表示.表示操作.BackColor = &H80000010
    ANSd = MsgBox(“非表示を解除しますか?”, vbYesNo, “確認”)
    If ANSd = vbYes Then
      For s = 1 To Worksheets.Count
        Worksheets(s).Visible = True
      Next s
      MsgBox “シートはすべて表示します。” & vbCrLf & “シートの非表示はありません。”, vbOKOnly, “非表示”
      シート表示.表示操作.Caption = “非表示OFF”
      シート表示.表示操作.BackColor = &H8000000F
      key1 = Fals
      Exit Sub
    Else
      シート表示.表示操作.Caption = “非表示ON”
      シート表示.表示操作.BackColor = &H80000010
      key1 = False
      Exit Sub
    End If
  End If

「非表示シート」が最大数(全シート数ー1)になった時の処理です。

 

  If 強化保護.Value = True Then
    TYPa = xlSheetVeryHidden
    TYPb = xlSheetVisible
  Else
    TYPa = xlSheetHidden
    TYPb = xlSheetVisible
  End If

チェックボックス「強化保護」がクリックされた時、されなかった時のコードです。

 

MEMO

一次元配列変数の使い方について詳しくはこちらです。

vbahairetueyecatchエクセルVBA 1次元配列変数の利用法を最速に理解

 

  If シート表示.表示操作 = True Then

    GoTo step1
stepA:

    Va = 0
    Vb = 0

      For Each ws In Worksheets
        If ws.Visible = True Then
          Va = Va + 1
        ElseIf ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
          Vb = Vb + 1
        End If
      Next ws

      If Worksheets.Count – Vb = 1 Then
        MsgBox “非表示にできる最大シート数に達しました。” & vbCrLf & “これ以上は不可能です。”, vbOKOnly + vbExclamation, “非表示警告”
        シート表示.表示操作.Caption = “非表示ON”
        シート表示.表示操作.BackColor = &H80000010
        key1 = False
        Exit Sub
      End If

    FL = False
      For i = 1 To Worksheets.Count
        WSN(i) = Worksheets(i).Name
        If WSN(i) = UVS Then
          FL = True
          GoTo stepB
        End If
      Next i

If~GotoでstepAに飛んできたときの処理です。

非表示にできるシート数が残っているかを区別し、

  1. 残っていなければ、プロシージャーを終了します。
  2. 残っていれば、エクセルBOOKにその「シート名」があるかを調べ、あればstepBに飛びます。

Gotoステートメントの基本的な使い方については、

Gotoステートメントの利用法を最速に理解。毒コードと薬コード」を参考にしてください。

 

    If FL = False Then
      ANSc = MsgBox(UVS & “シートは存在しません!!” & vbCrLf & ” 続けますか?”, vbYesNo, “確認”)
        If ANSc = vbYes Then
          GoTo step1
        Else
          For Each ws In Worksheets
            If ws.Visible = False Then
              MsUV = ws.Name
            End If
          Next ws
          If MsUV = “” Then
            シート表示.表示操作 = False
            シート表示.表示操作.Caption = “非表示OFF”
            シート表示.表示操作.BackColor = &H8000000F
            key1 = False
            Exit Sub
          Else
            シート表示.表示操作.Caption = “非表示ON”
            シート表示.表示操作.BackColor = &H80000010
            key1 = False
            Exit Sub
          End If
        End If
    End If

その「シート名」がエクセルBOOKになかった時の処理です。更に条件分岐で、

「YES」操作を続ける場合は、If~Gotoでstep1に戻します。「NO」の場合は終了します。

 

step1:
  mymsg1 = “非表示にするシート名を入力”
  mytitle1 = “非表示シート”
  UVS = Application.InputBox(prompt:=mymsg1, Title:=mytitle1, Type:=2)
  If UVS = “” Then
    ANSa = MsgBox(“終了しますか?”, vbYesNo, “確認”)
      If ANSa = vbYes Then
        シート表示.表示操作 = False
        シート表示.表示操作.Caption = “非表示OFF”
        シート表示.表示操作.BackColor = &H8000000F
        key1 = False
        Exit Sub
      Else
        GoTo step1
      End If
  ElseIf UVS = False Then
    シート表示.表示操作 = False
    シート表示.表示操作.Caption = “非表示OFF”
    シート表示.表示操作.BackColor = &H8000000F
    key1 = False
    Exit Sub
  Else
    GoTo stepA
If~Gotoでstep1に飛んできたときの処理です。
インプットボックスで非表示にするシート名を入力させます。
「空欄」・「NO」・「シート名」の場合に処理が分岐されます。
「シート名」が入力された場合のみstepAに飛びます。
stepB:
      Worksheets(UVS).Visible = TYPa
      MsgBox UVS & “シートを非表示にしました!!”, vbOKOnly, “非表示”
      ANSb = MsgBox(“他に非表示にするシートがありますか?” & vbCrLf & ” 続けますか?”, vbYesNo, “確認”)
      If ANSb = vbYes Then
        GoTo step1
      Else
        シート表示.表示操作.Caption = “非表示ON”
        シート表示.表示操作.BackColor = &H80000010
        key1 = False
        Exit Sub
      End If
    End If

If~GotoでstepBに飛んできたときの処理です。

入力した「シート名」を非表示にします。続ける場合はstep1に戻ります。

  ElseIf シート表示.表示操作 = False Then
    For s = 1 To Worksheets.Count
      Worksheets(s).Visible = True
    Next s
    MsgBox “シートはすべて表示します。” & vbCrLf & “シートの非表示はありません。”, vbOKOnly, “非表示設定”
    シート表示.表示操作.Caption = “非表示OFF”
    シート表示.表示操作.BackColor = &H8000000F
    key1 = False
  End If
End If
End Sub

トグルボタンを「ON」から「OFF」にした時のコードです。

ユーザーフォームを表示するためのVBA

 

シートモジュールに記述するコード

 

Sheet1のシートモジュールに記述します。

Bookのシートの表示状態を調べて、トグルボタンの状態を設定します。

Private Sub Worksheet_Activate()

  If シート表示.Visible Then Exit Sub
    シート表示.Show vbModeless

Dim ws As Worksheet
Dim MsUV As Variant

  For Each ws In Worksheets
    If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
      MsUV = ws.Name
    End If
  Next ws

  If MsUV = “” Then
    シート表示.表示操作 = False
    シート表示.表示操作.Caption = “非表示OFF”
    シート表示.表示操作.BackColor = &H8000000F
    Exit Sub
  Else
    シート表示.表示操作.Caption = “非表示ON”
    シート表示.表示操作.BackColor = &H80000010
    Exit Sub
  End If

End Sub

 

ブックモジュールに記述するコード

 

ThisWorkbookのブックモジュールに記述します。

Private Sub Workbook_Open()

  If シート表示.Visible Then Exit Sub
    シート表示.Show vbModeless

Dim ws As Worksheet
Dim MsUV As Variant

  For Each ws In Worksheets
    If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
      MsUV = ws.Name
    End If
  Next ws

  If MsUV = “” Then
    シート表示.表示操作 = False
    シート表示.表示操作.Caption = “非表示OFF”
    シート表示.表示操作.BackColor = &H8000000F
    Exit Sub
  Else
    シート表示.表示操作.Caption = “非表示ON”
    シート表示.表示操作.BackColor = &H80000010
    Exit Sub
  End If

End Sub

 

VBAコード組み立てのまとめ

 

シートモジュールに記述するコード

sheethidden016

 

ブックモジュールに記述するコード

sheethidden017

 

 

 

ユーザーフォームモジュールのイベントコードコード全体はこのようになります。

sheethidden013a

色枠はそれぞれの「If条件文」の範囲です。

sheethidden015b

「メッセージボックス」でY・Nのボタンを作るごとに分岐処理が増えてきます。

YES/NOの分岐を減らせば階層も深くなり過ぎずにコードを組み立てることが出来ると思います。

どこまで細かく選択条件を作るか、これは、利用者側の使い勝手にもかかわる部分になってくると思います。

作る側としては、判断が迷う部分にもなります。

 

 

エクセルVBAの独習を始めるためのポイントについて vbastudyeyecatchエクセルVBAを独学で習得するためのポイントは?良書との出会いは重要 基礎知識習得のためのオンライン学習講座の参考記事 Udemy1eyecatchエクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。
  今回の記事はここまでです。
最後までご覧いただき有難うございました。

 

このテーマの最初の記事に戻るにはこちら↓になります。

無料DL!エクセルシートの非表示ソフト。VBAで簡単ボタン操作

sheeethiddeneyecatch001 無料DL!エクセルシートの非表示ソフト。VBAで簡単ボタン操作

 

業務効率を上げて行くのにエクセルVBAを使って、始めのうちに知っておきたい内容を纏めています。

 

vbaintfixeyecatch
エクセルVBA関数で、数値の整数部分だけを分離します。 整数値取得のFix関数でなくInt関数の使用の場合でも、 他の関数との組み合わせで解決することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回のテーマは、数値の整 ...
続きを読む
vbarndeyecatch
エクセルVBAのRnd関数で乱数を取得します。 実用のためにはコードに簡単な加工をする必要があります。特に乱数値の整数化とRandomizeは必須です。 6.5兆通りのパスコードの生成方法も解説しています。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbaroundupdowneyecatch
エクセルVBA 数値の切り上げ、切り捨てをするときには注意しなければいけません。 RoundUp関数とRoundDown関数を使う時に負の数が混在していると、そのままだと誤った計算結果になることがあります。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbaroundeyecatch
エクセルVBAでも数値を四捨五入したい時は、Round関数を利用することが多いです。 Round関数の使い方はワークシートと同様ですが、ただ大きな注意点があります。 ここではその注意点も含めて使い方の説明を行います。 こんにちは、じゅんぱ店 ...
続きを読む
vbamaxminaveeyecatch
エクセルVBAで、ワークシート関数 Max・Min・Averageを利用して最大値・最小値・平均を求めます。 「簡単で短いエクセルVBAコード組み立て」を目指す上では、ワークシート関数は強い味方です。 こんにちは、じゅんぱ店長(@junpa ...
続きを読む
vbainsteeyecatch
InStr関数・InStrRev関数は、文字列操作系の関数の中でも最重要です。 この関数により指定の文字(列)の存在位置が取得できます。 そしてそれを目盛基準として、文字列操作をすることもできます。 こんにちは、じゅんぱ店長(@junpa3 ...
続きを読む
vbareplaceeyecatch
エクセルVBAで使える関数にReplace関数があります。 Replace関数は検索の文字列を指定の文字列に置換したり、削除したり出来ます。 利用価値の高い関数です。使い慣れておきましょう。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbaselectcaseeyecatch
エクセルVBAで、必須の条件文。 その中の一つで、Select Case 条件分岐 ステートメントの使い方を説明します。 簡単なコード、可読性の向上が特徴のステートメントです。是非、知っておきましょう。 こんにちは、じゅんぱ店長(@junp ...
続きを読む
VBAValeyecatch
エクセルVBAのVal関数の使い方についてです。 「値を文字列型から数値型へ変換する」という機能があります。 データ型が不一致の場合、プログラムエラーでコード停止が発生することが良くあります。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
VBAStringeyecatch
エクセルVBA String関数の使い方についてです。 「文字を指定した数だけ並べることが出来る」という機能の関数です。 この関数を使えば簡潔なコード記述で実行することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回は ...
続きを読む
vbajoineyecatch
エクセルVBAでJoin関数の使い方について説明します。 文字列を接続する関数ですが、 配列変数で文字列を要素化した時にはこれを使います。 また「区切り文字」も自由に設定できます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回は ...
続きを読む
vbamideyecstch
エクセルVBAで文字列操作は、コード作成の中でも重要な部分です。 Mid・Right・Left関数は、その操作の中で重要な働きをする関数です。 文字列を切り出すこの関数の基本部分を説明します。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
vbatrimeyecatch
Trim・RTrim・LTrimは文字列の端にあるスペースを取り除きます。 ちょっとのことですが、取り込みデータにスペースが付いていることでのエラーは発見修正が結構厄介です。 注意が必要です。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
vbastrcstreyecatch
エクセルVBAで、Str関数とCStr関数に使い方とその違いについて説明します。 戻り値にちょっとした違いがあります。 使い方の違いでその後のコードの進行に影響が出ることがあり、なおざりにはできません。 こんにちは、じゅんぱ店長(@junp ...
続きを読む
vbaleneyecatch
Len関数の使い方ついて説明します。 エクセルVBAでプログラミングを行う時に、テキストデータを加工処理するには必須の関数です。 非常に有用な関数ですので、是非使えるようになっておきましょう。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
VBACheckBoxeyecatch
エクセルシートで使う場合の、2種類あるチェックボックスの設置と使い方の違いを解説します。 一見簡単そうですが、 単純でない使い方をしたい時は、設置方法と設定方法を工夫する必要があります。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
VBAOptionbuttoneyecatch
エクセルで書類を作成する時、項目を選択できるようにするのがオプションボタンです。 これには2種類あり、使い方にかかわる違いもあります。 詳しいオプションボタン設置方法と使い方のコツを解説します。 こんにちは、じゅんぱ店長(@junpa33) ...
続きを読む
vbamojisousaeyecatch
エクセルVBAコードで、ファイルの保存時に名前を付けて保存について、その時の年月日を付けたい時の設定方法についてです。 保存されたファイルがたくさん増えて行く中で、ファイルの判別で年月日を付けている(付けたいと思っている)人も多いでしょう。 ...
続きを読む
vbajyufukueyecatch
今回は、同じ項目を一つにまとめるためのエクセルVBAコードを紹介します。 多数銘柄の商品を複数の店で扱っている場合、商品銘柄集計表を作るには、商品銘柄の種類だけをリストにしないといけません。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbafolderdeleteeyecatch
今回は、不要なフォルダをサクッと削除するエクセルVBAコードを紹介します。 削除の仕方は2つあります。VBA自身の機能を使うことと、FSOの機能を使うことの2つです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、不 ...
続きを読む
vbadirkilleyecatch
今回は、フォルダに保存されている要らないファイルを削除するエクセルVBAコードを紹介します。 フォルダを開いて一つずつファイル名を確認して、ではなくて、コード実行一発でササッと完了します。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
vbachdireyecatch
エクセルVBAのステートメントで「ChDir(チェインジディレクトリ)」というのがあります。 少々地味感のあるステートメントですが、この使い方のポイントを説明いたします。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAの ...
続きを読む
vbafindeyecatch001
今回は、データの検索方法で、エクセルVBAでできるメソッドについてです。 「FindとFindNextメソッド」の使い方と最速理解のコードの組み立て方を説明したいと思います。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルの検 ...
続きを読む
今回も、エクセルVBAで利用できるワークシート関数についてがテーマです。 この記事では、データナンバーなどから、その必要な値や数値を抽出する「Vloolup関数」について使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbaindexeyecatch001
今回も、エクセルVBAで利用できるワークシート関数についてがテーマです。 この記事では、データリストから必要な値や数値を取り出してくる「Index関数」について使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセ ...
続きを読む
vbamatcheyecatch001
エクセルVBAで利用できる関数についてがテーマです。 今回は、データリストから必要な値や数値を取り出してくる「Match関数」について、使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAでよく使うワーク ...
続きを読む
vbahairetu3eyecatch
エクセルVBAで変数を利用するとき、二次元配列変数を知っていれば何かと便利なことがあります。 今回はそんな配列変数をより実際に近い例題で説明していきます。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのプログラムでは、 ...
続きを読む
vbahairetu2eyecatch
エクセルVBAで配列を利用する時、それに関わる関数やステートメントを利用すれば、 より簡潔にコードを作成することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBA 配列を扱うときに利用できる関数とステートメント ...
続きを読む
vbahairetueyecatch
エクセルVBAで変数を利用するとき、複数の同じ型で変数を設定したいときがあります。 そんな時、出番となるのが配列変数ということです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAの1次元配列変数の使い方を説明します。 ...
続きを読む
vbabuttoneyecatch
エクセルVBAのプログラムを実行するのに、ワークシート上に設置したボタンのクリックでワンポチっとで行いたい。 そんなボタンの簡単設置方法を紹介します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、シートにマクロ(プ ...
続きを読む
vbasumeyecatch
エクセルVBAで、羅列された数値の集計作業をパパッと熟していきたいときがありますよね。 それを簡単に行える方法としてSUM関数があります。今回はこのSUM関数の使い方についてです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセ ...
続きを読む
vbainputboxeyecatch
エクセルVBAのプログラムで、利用者からの入力データを取り込んでコードを実行していくことがあります。 その簡潔な方法としてInputBoxがあります。今回はこのInputBoxの使い方についてです。 こんにちは、じゅんぱ店長(@junpa3 ...
続きを読む
vbalastcelleyecatch
エクセルVBAのプログラム作成で、入力データをその都度蓄積していく場合など、 既にデータの入っている最終セルの位置を調べたいという時が多くあります。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのコード組み立てで、デー ...
続きを読む
vbawithstateeyecatch
エクセルVBAのコードの組み立てでは、視認性や可読性を上げるためにできるだけ記述を簡潔にしたいところです。 Withステートメントは、そういったコード記述を簡潔にする役割があります。 こんにちは、じゅんぱ店長(@junpa33)です。 エク ...
続きを読む
vbacleareyecatch
エクセルVBAでシートを再利用するために、一度内容すべてをクリアしたい時があります。 普通は、Clearメソッドを使ってクリア操作を行いますが・・・ こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAを組み上げる中で、シート ...
続きを読む
vbaoffseteyecatch
エクセルVBAで、セルやセルの選択範囲を移動させるのにOffsetプロパティがあります。 今回の「VBA最速で理解」は、この便利な「Offsetプロパティ」の使い方について説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エ ...
続きを読む
vbanameeyecatch
エクセルVBAで、アクティブセル、アクティブシート、アクティブブックという「現在参照中の・・・」というオブジェクトがあります。 今回の「VBA最速で理解」は、この「ActiveWorkbook」「ActiveSheet」「ActiveCel ...
続きを読む
vbaselacteyecatch
エクセルVBAで、そのコードを実行する先のオブジェクトに、フォーカスするためのメソッドに、「Select」と「Activate」があります。 今回は、このよく似た「Select」と「Activate」について説明します。 こんにちは、じゅん ...
続きを読む
vbavbekidoeyecatch
エクセルVBAを始めようとしたときに一番最初に戸惑うのが、「どうしたらVBAコードを書く表示画面になるのか?」だと思います。 今回は、この「どうしたら、その画面になるんだろう?」についての方法を説明します。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbamsgboxeyecatch
エクセルVBAでユーザーフォームを使わなくても、簡単なユーザーとのやり取りならメッセージボックスでも可能です。 今回は、この「ユーザーへのメッセージや選択肢を提示する」ユーザーフォームについての説明をします。 こんにちは、じゅんぱ店長(@j ...
続きを読む
vbadoloopeyecatch
以前の記事でも書いたように、エクセルを使った業務で、「ループの処理」コードは重要な実行処理部分です。 今回は、このもう一つの「ループの処理」である「実行回数が限定されないループ処理」を行うコードについて説明します。 こんにちは、じゅんぱ店長 ...
続きを読む
vbafoldereyecatch
エクセルを使った業務で、「作成したファイルの保存」は作業の最後に必ず必要な部分です。 今回は、この「作成したファイルの保存」を行うための重要部分。保存先フォルダをVBAで指定する方法を説明します。 こんにちは、じゅんぱ店長(@junpa33 ...
続きを読む
vbasengeneyecatch
エクセルVBAのコード組み立てで使う変数。「この変数を使いますよ!」というのが「変数の宣言」です。 今回は、この変数の宣言についてです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBA のコード組立ての中で、変数の宣言は ...
続きを読む
vbaifjyokeneyecatch
エクセルVBAのコード組み立てで最も必要な、最もよく使うメソッドの1つで「If~Then~Else」があります。 今回はこの「If~Then~Else」メソッドについて設定条件の絞り方のポイントを説明します。 こんにちは、じゅんぱ店長(@j ...
続きを読む
VBACopyeyecatch
エクセルVBAのコード組み立てで、よく使うメソッドの1つで「Copy」メソッドがあります。 今回はこの「Copy」メソッドの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、ワークシートのコピーをを ...
続きを読む
VBAGotoeyecatch001
エクセルVBAのコードで、Gotoステートメントは嫌われ系のグループにはいっています。 それでも、GotoがあるのでVBAコード組み立てがスムーズに、楽に、なる事も多いと言うのも事実です。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
fornextirekoeyecatch
エクセルVBAのコード組み立てで、非常によく使うステートメントの一つにFor~Nextでのループ処理があります。 今回はこのFor~Nextステートメントの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルV ...
続きを読む

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません

 

プチなVBAコードシリーズは他にこのようなもの↓があります。よろしければ参考にどうぞ!

プチなVBAコード一覧
stampboxeyecatch1
こんにちは、じゅんぱ店長(@junpa33)です。 今回は、ちょっとしたお遊び要素もあるエクセルVBAの紹介です。 同じデータを複数のセルに入力できる「データスタンプVBAソフト」を紹介します。 データの入力を、まるでスタンプを押すような感 ...
続きを読む
stampboxeyecatch2
こんにちは、じゅんぱ店長(@junpa33)です。 今回は、「データスタンプVBAソフト」のVBAコードの説明を行います。 簡単なコードですので、すぐに出来てしまうと思います。 どんなソフトかというのは、こちら↓でご覧いただけます。 1クリ ...
続きを読む
multipageeyecatch
こんにちは、じゅんぱ店長(@junpa33)です。 今回は知識編、マルチページの設置方法です。 ユーザーフォームはマルチページでデザイン数も広がります。 使ってみる前は難しく思えますが、設置は至って簡単!非表示化で秘密コマンドも作れます。 ...
続きを読む
sheeethiddeneyecatch001
今回はエクセルVBAソフトのプチなバージョンです。 こんにちは、じゅんぱ店長(@junpa33)です。 無料ダウンロードできます。エクセルシートを非表示に変更するソフト。 VBAコードで「ボタンのONとOFF」で行います。使用中エクセルBO ...
続きを読む
sheethiddeneyecatch002
今回は前記事のエクセルVBAソフトの使い方を解説します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルシートを表示と非表示に変更できるソフトの使い方です。起動させるにはまずロックを外す必要があります。 トグルボタンのONとO ...
続きを読む
sheethiddeneyecatch003
今回は、エクセルシート非表示VBAソフトのコードの説明を行います。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのIf~Gotoで処理分岐します。シート非表示VBAソフトのコードの紹介です。 コントロールのイベント処理 ...
続きを読む
vbafilelisteyecatch
今回は、フォルダに保存されているファイル名をリスト化するエクセルVBAコードを紹介します。 ダイアログでフォルダを選択するだけで、そこにあるファイル名を一覧化表示できるというものです。 こんにちは、じゅんぱ店長(@junpa33)です。 超 ...
続きを読む
vbaabspatheyecatch
エクセルVBAで、絶対パスはちょっと記述が面倒で、相対パスのほうが使いやすいという方も多いと思います。 それぞれに利点と欠点はあります。 今回は絶対パスを変数化して使用時の利便性UPを考えていきます。 こんにちは、じゅんぱ店長(@junpa ...
続きを読む