のし書き作成のエクセルVBAコードを組み立てる。 詳細設定シート編

nishigakisyousaieyecatch

のし書き作成のエクセルVBAコードを組み立てていきます。

今回は詳細設定シート編です。
シートを直接的に加工して作表するのではなく、作表をVBAから行うことで何度でも初期状態にリセットすることが出来ます。

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

今回より「のし書き作成エクセルソフト」のVBAコード組み立ての解説を行っていきます。

この記事は、「設定」シートの作り方についての第1回です。

 

 

のし書き作成のための詳細設定シートを作ります

 

のし書きを作成するには、結構、設定が必要な項目が多くあります。

入力セルやテキストボックスを指定してその都度、内容を入力指定してもらうか

チェックボックス、プルダウンメニューやオプションボタンで選択指定してもらうか

などが考えられます。

今回は

「パッと見」の視認性でオプションボタンとチェックボックスを採用しています。

 

詳細設定シートの作り方。項目の設置作業全体は

 

今回作る部分はこの部分です。

直接シートに作り込んでいってもいいのですが、

ここはエクセルVBAコードを使っていきます。

noshigakisettei001a

 

 

VBAコード組み立て作業の方針

 

9の代表項目の一覧表と数多くの選択肢欄があります。

それぞれの作表と選択肢項目の入力、セルのカラー設定とフォント設定

結構面倒くさいです。そこで、

この設定表をエクセルVBAコードで作成していきます。

Module2に記述していきます。

エクセルVBAコードで組み立て作成すれば、

コマンドボタンクリック一つで、いつでもデフォルト状態に戻すことが出来るようになります。

 

VBAコード全体

 

完成した設定表のエクセルVBAコード
コード

Option Explicit
Option Base 1

Sub 設定欄作成()

    Dim j As Long
    
'設定シートが存在するかどうか
    Dim Sh As Worksheet
    Dim Flg As Boolean
        Flg = False
        For Each Sh In Worksheets
            If Sh.Name = "設定" Then
                Flg = True
                Exit For
            End If
        Next
        
'存在しなければ設定シートを新規作成
        If Flg = False Then
                Worksheets.Add before:=Worksheets(1)
                ActiveSheet.Name = "設定"
        End If
        
'設定シートに設定表を作表していく
        Worksheets("設定").Activate
        
'セルのスタイル
        With Worksheets("設定")
            .Rows("2:43").RowHeight = 27
            .Range("C:C, F:F, I:I").ColumnWidth = 22
            
'セルA1
            With Range("A1")
                .RowHeight = 54
                .Font.Size = 33
                .Font.Bold = True
            End With
             
'設定項目の見出しセル
            With Range("B2:C2,E2:F2,H2:I2")
                .Merge
                .Interior.ColorIndex = 20
                .Font.Bold = True
                .Font.ColorIndex = 5
            End With
            
            With Range("B10:C10,E10:F10,H10:I10")
                .Merge
                .Interior.ColorIndex = 20
                .Font.Bold = True
                .Font.ColorIndex = 5
            End With
            
            With Range("B3:C3,E3:F3,H3:I3,B11:C11,E11:F11,H11:I11")
                .Interior.ColorIndex = 15
            End With
            
            With Range("H16:I16,E23:F23,E29:F29")
                .Interior.ColorIndex = 15
            End With
                      
            With Range("H15:I15,E21:F21,E22:F22,E28:F28")
                .Merge
                .Interior.ColorIndex = 20
                .Font.Bold = True
                .Font.ColorIndex = 5
            End With
            
'表の罫線
            With Range("B2:C8")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
        
            With Range("E2:F8")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
            
            With Range("H2:I8")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
            
            With Range("B10:C43")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
            
            With Range("E10:F19")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
            
            With Range("H10:I13")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
             
            With Range("H15:I19")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
             
            With Range("E21:F26")
                .Borders.LineStyle = xlContinuous
            End With
            
            With Range("E28:F32")
                .Borders.LineStyle = xlContinuous
            End With
            
            With Range("E21:F32")
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With
            
'選択済み一覧の作表
            With Range("H23:I43")
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick, ColorIndex:=5
            End With
                      
            For j = 24 To 42 Step 2
                Range(Cells(j, 8), Cells(j, 9)).Select
                
                With Selection
                    .Borders(xlEdgeTop).LineStyle = xlContinuous
                    .Interior.ColorIndex = 24
                End With
            Next j
            Range("H23:I23").Interior.ColorIndex = 24
            Range("H28:I28").Interior.ColorIndex = 0
            
            Range("H28:I28").Borders(xlEdgeTop).LineStyle = xlLineStyleNone
            
            With Range("H23").Font
                .Size = 14
                .Bold = True
                .ColorIndex = 5
            End With
            
            With Range("H24:H42").Font
                .Size = 13
                .Bold = True
            End With
            
'セル中の文字表示位置を指定します
            With Range("F24:F26,F30:F32,I41:I43")
                .HorizontalAlignment = xlLeft
            End With
            
'文字色を白にセットする(文字が見えないようにする)
            With Range("E4:E8")
                .Font.ColorIndex = 2
            End With
            
'文字記入一括処理
    Dim Mykmk(43, 9) As String
    Dim s As Long, t As Long
        
        Mykmk(1, 1) = "【熨斗書き】詳細設定"
        Mykmk(2, 2) = "熨斗サイズ"
        Mykmk(23, 8) = "項目選択済み一覧"
        Mykmk(24, 8) = "熨斗サイズ"
        Mykmk(2, 5) = "贈り主名入れ表書き"
        Mykmk(26, 8) = "贈り主名入れ表書き"
        Mykmk(2, 8) = "贈り主名印字スタイル 縦位置"
        Mykmk(30, 8) = "贈り主名印字スタイル 縦位置"
        Mykmk(4, 3) = "A5サイズ"
        Mykmk(4, 9) = "上詰め"
        Mykmk(5, 3) = "A4サイズ"
        Mykmk(5, 9) = "中央揃え"
        Mykmk(6, 3) = "B5サイズ"
        Mykmk(6, 9) = "下詰め"
        Mykmk(7, 3) = "B4サイズ"
        Mykmk(7, 9) = "両端揃え"
        Mykmk(8, 3) = "熨斗封筒"
        Mykmk(8, 9) = "均等割り付け"
        Mykmk(10, 2) = "慶弔名表書き"
        Mykmk(32, 8) = "慶弔名表書き"
        Mykmk(10, 5) = "文字フォント種"
        Mykmk(34, 8) = "文字フォント種"
        Mykmk(10, 8) = "贈り主名文字の制御"
        Mykmk(36, 8) = "贈り主名文字の制御"
        Mykmk(12, 3) = "御祝"
        Mykmk(12, 6) = "MS Pゴシック"
        Mykmk(12, 9) = "折り返して全体を表示"
        Mykmk(13, 3) = "寿"
        Mykmk(13, 6) = "MS P明朝"
        Mykmk(13, 9) = "縮小して全来を表示"
        Mykmk(14, 3) = "内祝"
        Mykmk(14, 6) = "メイリオ"
        Mykmk(15, 3) = "御礼"
        Mykmk(15, 6) = "游ゴシック"
        Mykmk(15, 8) = "贈り主名併記"
        Mykmk(38, 8) = "贈り主名併記"
        Mykmk(16, 3) = "御結婚御祝"
        Mykmk(17, 3) = "新築御祝"
        Mykmk(17, 9) = "併記しない"
        Mykmk(18, 3) = "御出産御祝"
        Mykmk(18, 9) = "2人併記"
        Mykmk(19, 3) = "御開店御祝"
        Mykmk(19, 9) = "3人併記"
        Mykmk(20, 3) = "御卒業祝"
        Mykmk(21, 3) = "御進学祝"
        Mykmk(21, 5) = "文字フォントサイズ"
        Mykmk(40, 8) = "文字フォントサイズ慶弔名"
        Mykmk(22, 3) = "御昇進祝"
        Mykmk(22, 5) = "慶弔名"
        Mykmk(23, 3) = "金賞"
        Mykmk(24, 3) = "銀賞"
        Mykmk(25, 3) = "佳作"
        Mykmk(26, 3) = "参加賞"
        Mykmk(27, 3) = "特別賞"
        Mykmk(28, 3) = "御中元"
        Mykmk(28, 5) = "贈り主名"
        Mykmk(42, 8) = "文字フォントサイズ贈り主名"
        Mykmk(29, 3) = "御歳暮"
        Mykmk(30, 3) = "御見舞"
        Mykmk(31, 3) = "御霊前"
        Mykmk(32, 3) = "御供"
        Mykmk(33, 3) = "志"
        Mykmk(34, 3) = "粗供養"
        Mykmk(35, 3) = "満中陰志"
        
        For s = 1 To 43
            For t = 1 To 9
                Cells(s, t).Value = Mykmk(s, t)
            Next t
        Next s

            With Range("B3,E3,H3,B11,E11,H11,H16,E23,E29")
                .Value = "チェック"
                .Font.Bold = True
            End With
            
            With Range("C3,F3,I3,C11,F11,I11,I16,F23,F29")
                .Value = "選択項目"
                .Font.Bold = True
            End With
            
        End With
    Range("A1").Select
    
End Sub

 

詳細設定のVBAコード 各ポイント説明

 

設定シートが既に存在をチェック

 

作成したい設定シートが既に存在するかどうかをチェックします。

コード

'設定シートが存在するかどうか
    Dim Sh As Worksheet
    Dim Flg As Boolean
        Flg = False
        For Each Sh In Worksheets
            If Sh.Name = "設定" Then
                Flg = True
                Exit For
            End If
        Next
        
'存在しなければ設定シートを新規作成
        If Flg = False Then
                Worksheets.Add before:=Worksheets(1)
                ActiveSheet.Name = "設定"
        End If

シートの存在をチェックする方法(コード組み立て)はいろいろあるかと思いますが、

自分がいつも使っている方法はこのコードになります。

ポイント

真偽(TrueとFalse)を使って判定しますが、

  • シート”名前”があればTrueが返り、その時に判定のループを抜け出す。
  • 次にあるIf条件文は条件満足外でスルーされ、次のコード文へと進む。
  • ”名前”がなければ、判定ループの次の条件文で、その”名前”シートが新規作成される。

 

MEMO

「For Each~Next」の使い方についてはこちらの記事を参考にしてください。

vbadoloopeyecatchVBA 回数不定のループ処理はDo LoopとFor Each

 

設定項目の見出しセル

 

設定項目の見出しセルのセッティングについては、

コード

'設定項目の見出しセル
            With Range("B2:C2,E2:F2,H2:I2")
                .Merge
                .Interior.ColorIndex = 20
                .Font.Bold = True
                .Font.ColorIndex = 5
            End With

このコードでは、一度に3か所について記述しています。(B2とC2、E2とF2、H2とI2)

ポイント

  • それぞれ2つずつのセルを連結
  • セルの色を設定
  • 値の表示を太字に設定
  • 文字の色を設定

 

MEMO

With~End Withの使い方については、この記事を参考にしてください。

vbawithstateeyecatchWith~End Withの使い方。VBAコードを簡潔に記述する

 

表の罫線

 

表に罫線を引く設定のコードです。

セルの上下左右それぞれに罫線のコード設定をしなくても、一度に引けてしまうコードです。

コード

'表の罫線
            With Range("B2:C8")
                .Borders.LineStyle = xlContinuous
                .BorderAround LineStyle:=xlContinuous, Weight:=xlThick
            End With

罫線の幅や実線破線は、「LineStyle」で指定します。

ポイント

  • 「Borders」を使えば4方向すべてに罫線を引くことが出来ます。
  • 「BorderAround」を使えばセル範囲の外周部分に罫線を引くことが出来ます。

 

選択済み一覧の作表

 

飛び飛びに罫線を引きます。

コード

'選択済み一覧の作表
            For j = 24 To 42 Step 2
                Range(Cells(j, 8), Cells(j, 9)).Select
                
                With Selection
                    .Borders(xlEdgeTop).LineStyle = xlContinuous
                    .Interior.ColorIndex = 24
                End With
            Next j

ポイント

  • For Step ~Next を使ったコード組み立てをします。
  • ループの中でセル範囲を移動させながらセルの上部に罫線を引いていきます。

 

文字色を白にセットする(文字が見えないようにする)

 

見せる必要のない表示をセル色と同色にして見えなくさせます。

コード

'文字色を白にセットする(文字が見えないようにする)
            With Range("E4:E8")
                .Font.ColorIndex = 2
            End With

 

文字記入一括処理

 

Rangeでそれぞれのセルに値をはめ込んでもできますが、

配列を使ってセルに値入力していきます。

コード

'文字記入一括処理
    Dim Mykmk(43, 9) As String
    Dim s As Long, t As Long
        
        Mykmk(1, 1) = "【熨斗書き】詳細設定"
        Mykmk(2, 2) = "熨斗サイズ"
        Mykmk(23, 8) = "項目選択済み一覧"
        Mykmk(24, 8) = "熨斗サイズ"
        Mykmk(2, 5) = "贈り主名入れ表書き"
        Mykmk(26, 8) = "贈り主名入れ表書き"
        Mykmk(2, 8) = "贈り主名印字スタイル 縦位置"
        Mykmk(30, 8) = "贈り主名印字スタイル 縦位置"
        Mykmk(4, 3) = "A5サイズ"
        Mykmk(4, 9) = "上詰め"
        Mykmk(5, 3) = "A4サイズ"
        Mykmk(5, 9) = "中央揃え"
        Mykmk(6, 3) = "B5サイズ"
        Mykmk(6, 9) = "下詰め"
        Mykmk(7, 3) = "B4サイズ"
        Mykmk(7, 9) = "両端揃え"
        Mykmk(8, 3) = "熨斗封筒"
        Mykmk(8, 9) = "均等割り付け"
        Mykmk(10, 2) = "慶弔名表書き"
        Mykmk(32, 8) = "慶弔名表書き"
        Mykmk(10, 5) = "文字フォント種"
        Mykmk(34, 8) = "文字フォント種"
        Mykmk(10, 8) = "贈り主名文字の制御"
        Mykmk(36, 8) = "贈り主名文字の制御"
        Mykmk(12, 3) = "御祝"
        Mykmk(12, 6) = "MS Pゴシック"
        Mykmk(12, 9) = "折り返して全体を表示"
        Mykmk(13, 3) = "寿"
        Mykmk(13, 6) = "MS P明朝"
        Mykmk(13, 9) = "縮小して全来を表示"
        Mykmk(14, 3) = "内祝"
        Mykmk(14, 6) = "メイリオ"
        Mykmk(15, 3) = "御礼"
        Mykmk(15, 6) = "游ゴシック"
        Mykmk(15, 8) = "贈り主名併記"
        Mykmk(38, 8) = "贈り主名併記"
        Mykmk(16, 3) = "御結婚御祝"
        Mykmk(17, 3) = "新築御祝"
        Mykmk(17, 9) = "併記しない"
        Mykmk(18, 3) = "御出産御祝"
        Mykmk(18, 9) = "2人併記"
        Mykmk(19, 3) = "御開店御祝"
        Mykmk(19, 9) = "3人併記"
        Mykmk(20, 3) = "御卒業祝"
        Mykmk(21, 3) = "御進学祝"
        Mykmk(21, 5) = "文字フォントサイズ"
        Mykmk(40, 8) = "文字フォントサイズ慶弔名"
        Mykmk(22, 3) = "御昇進祝"
        Mykmk(22, 5) = "慶弔名"
        Mykmk(23, 3) = "金賞"
        Mykmk(24, 3) = "銀賞"
        Mykmk(25, 3) = "佳作"
        Mykmk(26, 3) = "参加賞"
        Mykmk(27, 3) = "特別賞"
        Mykmk(28, 3) = "御中元"
        Mykmk(28, 5) = "贈り主名"
        Mykmk(42, 8) = "文字フォントサイズ贈り主名"
        Mykmk(29, 3) = "御歳暮"
        Mykmk(30, 3) = "御見舞"
        Mykmk(31, 3) = "御霊前"
        Mykmk(32, 3) = "御供"
        Mykmk(33, 3) = "志"
        Mykmk(34, 3) = "粗供養"
        Mykmk(35, 3) = "満中陰志"
        
        For s = 1 To 43
            For t = 1 To 9
                Cells(s, t).Value = Mykmk(s, t)
            Next t
        Next s

            With Range("B3,E3,H3,B11,E11,H11,H16,E23,E29")
                .Value = "チェック"
                .Font.Bold = True
            End With
            
            With Range("C3,F3,I3,C11,F11,I11,I16,F23,F29")
                .Value = "選択項目"
                .Font.Bold = True
            End With

配列の宣言のMykmk(43,9)はセルの番地に対応しています。

慶弔名表書きのデフォルト値を修正したり追加したりするのは、

ここの部分のコードから変更することが出来ます。

ポイント

  • 「Mykmk( , )= 」に値を修正・追加すればデフォルト値を変更することが出来ます。

 

MEMO

二次元配列変数(動的配列)の使い方について詳しくはこちらです。

vbahairetu3eyecatchエクセルVBA 2次元動的配列変数を実例的利用法で最速に理解

 

設定シートのエクセルVBA組み立てのまとめ

 

このような設定シートを作成するやり方として、

シート上に直接作表、書き込みをするのがメジャーな方法かもしれません。

けれども、

作表作業をVBA化することで、万が一シートの内容を壊してしまったりしても

すぐにリカバリーすることが出来ますので、

設定シートのエクセルVBA組み立ては、おすすめの方法です。

 

MEMO

のし書き作成エクセルソフトのダウンロードは、こちら↓の記事から行うことが出来ます。

nishigakieyecatch無料ダウンロード のし書き作成エクセルソフト!既製のし紙が使えます

 

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

 

のし書き作成エクセルのそのほかの記事はこちら

nishigakieyecatch
今回は、慶弔の贈り物に必要になる、のし書きについてです。 エクセルVBAを使った、既製ののし紙に文字を表書き印刷できる「のし書き作成エクセルソフト」についてです。 作成に必要な項目を指定するだけで、簡単に表書き文字を印字することが出来ます。 ...
続きを読む
nishigakisyousaieyecatch
のし書き作成のエクセルVBAコードを組み立てていきます。 今回は詳細設定シート編です。 シートを直接的に加工して作表するのではなく、作表をVBAから行うことで何度でも初期状態にリセットすることが出来ます。 こんにちは、じゅんぱ店長(@jun ...
続きを読む
noshigakisyousai2eyecatch
「のし書き作成エクセルソフト」のVBAコード組み立ての解説を行っています。 今回は、選択項目の選択方法でシート上にコントロールを配置します。 ユーザーフォームを設置しなくても利便性を上げることが出来ます。 こんにちは、じゅんぱ店長(@jun ...
続きを読む
noshitempeyecatch
のし書き作成のための印刷テンプレートを作ります。 作成のために設定される項目はたくさんあります。 このたくさんの設定項目のために、組み立てるVBAコードが煩雑なものにならないように注意が必要です。 こんにちは、じゅんぱ店長(@junpa33 ...
続きを読む
noshihozoneyecatch
のし書き作成の印刷テンプレートで、シートを保存するエクセルVBAコードを解説します。 作成したのし書きを再利用できるようにするためのものです。 毎回、同じものを作成しなくても大丈夫になります。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む

 

このサイトでよく使う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コードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。