[三流君] −−> [VBAで楽しく] −−> [バックナンバー一覧]
−−> No.145 固定値や基準値はConst宣言を使用して変更し易くする

固定値や基準値はConst宣言を使用して変更し易くする

メルマガ発行内容

<固定値や基準値はConst宣言を使用して変更し易くする>

こんにちは、三流プログラマーのKen3です。 今回は、 Const宣言、固定値の宣言はどんな時使うと効果あるか? について、軽く書いてみたいと思います。

/* * 1. 今回のキッカケ */

読者よりメルマガの返信メールで、 Constぐらい使ったら? とメールをいただいたので、ネタにして書いてみたいと思います。 ※ホントは、もっと激しい文体でクレームをもらったんだけど

/* * 2.例題の概要説明 */

No.130 Access クエリーをExcelシートへ10行x3列で出力する http://www.ken3.org/backno/backno_vba27.html#130 クエリーで集計した結果をExcelのシートへ出力してみました。 出力時、10行x3列を1ブロックとして、出力してみました。 No.138 AccessからExcel出力、色・列幅・行の高さを調整する http://www.ken3.org/backno/backno_vba28.html#138 色や列幅、高さを変える方法を上記で探りました、 クエリーを10行x3列で出力して、 列幅・行の高さを変更してました。
Private Sub btnMakeExcel_Click()
    Dim rs As New ADODB.Recordset  'ADOのレコードセット
    Dim objEXCEL As Object  'Excel参照用
    Dim nYLINE   As Integer '行セット位置
    Dim nXLINE   As Integer '列セット位置
    Dim nRCNT    As Integer 'レコードカウンタ
    Dim strWORK  As String  'ワーク変数

    'Excelを起動する、オブジェクトの作成
    Set objEXCEL = CreateObject("Excel.Application") 'オブジェクトの作成
    objEXCEL.Visible = True  'Excelを見えるようにする
    
    '新規のブックを追加する
    objEXCEL.Workbooks.Add   'Excelのブックを作成

    'Excelのシートを追加、シート名を変更する
    objEXCEL.Sheets.Add  'シートを追加する
    objEXCEL.ActiveSheet.Name = "DATA"  'シート名をDATAにする
    
    '列幅は、縦なので、ここ、頭で定義する
    For nXLINE = 1 To 9 Step 3
        objEXCEL.Columns(nXLINE).ColumnWidth = 8.5
        objEXCEL.Columns(nXLINE + 1).ColumnWidth = 8.5
        objEXCEL.Columns(nXLINE + 2).ColumnWidth = 1.8
    Next nXLINE

    'レコードセットを開く(Q_YUBIN_5)
    rs.Open "Q_YUBIN5", CurrentProject.Connection, _
                    adOpenKeyset, adLockOptimistic

    'カウンタの初期化 スタート位置のセット
    nYLINE = 1 '1行目だよ
    nXLINE = 1 '1列目(A列)だよ
    
    '見出しをセットする
    objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
    objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
    '罫線を引く(見出しの位置から+10行分)
    Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                    objEXCEL.Cells(nYLINE + 10, nXLINE + 1)))
    '行の高さを調整する
    objEXCEL.Rows(nYLINE).RowHeight = 25 '見出しの高さを25へ
    strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '10行分の範囲文字列
    objEXCEL.Rows(strWORK).RowHeight = 16 'データ高さを16へ

    nYLINE = nYLINE + 1 '見出し分行数が増えます
    nRCNT = 1  '見出し表示後は1レコード目だよ
    
    'レコードセットからExcelへデータをセットする
    'ループ処理
    While rs.EOF = False  'いつものEOFが偽の間
        'データをセットする(Accessから転記)
        objEXCEL.Cells(nYLINE, nXLINE) = rs("変換後郵便番号").Value
        objEXCEL.Cells(nYLINE, nXLINE + 1) = rs("変換後郵便番号のカウント").Value
        'セルの色を変える
        objEXCEL.Cells(nYLINE, nXLINE).Interior.ColorIndex = 33 'スカイブルー
        objEXCEL.Cells(nYLINE, nXLINE + 1).Interior.ColorIndex = 33
        '次を読む And カウンタを移動する
        rs.MoveNext  '次のレコードに移動しないと、とんでもないことに(笑)
        nRCNT = nRCNT + 1   '処理レコード数を増やす
        If nRCNT > 10 Then  '処理したレコードが10を越えた(次の列)
            nXLINE = nXLINE + 3  '次の列へカウンタを移動
            If nXLINE > 9 Then '列が越えた?
                nXLINE = 1  '1列目(A列)に戻す
                nYLINE = nYLINE + 2  '空白行にしたいのでセット位置を+2する
            Else
                nYLINE = nYLINE - 10 '列が変わったので行カウンタをマイナスする
            End If
            
            '見出しの表示
            objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
            objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
            '罫線を引く(見出しの位置から+10行分)
            Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                      objEXCEL.Cells(nYLINE + 10, nXLINE + 1)))
            '行の高さを調整する
            objEXCEL.Rows(nYLINE).RowHeight = 25 '見出しの高さを25へ
            strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '範囲文字列を作成
            objEXCEL.Rows(strWORK).RowHeight = 16 'データ高さを16へ
            
            nYLINE = nYLINE + 1 '見出し表示分行数が増えます
            nRCNT = 1  '見出し表示後は1レコード目だよ
        Else  '
            nYLINE = nYLINE + 1  '次の行へセット位置を移動
        End If
    Wend
    '通常は、ここでExcelを保存するんだけど、今回は開きっぱなしの手抜き

    rs.Close   '開いたら閉じろ、ドアを開けたら閉めるってしつけられたでしょ(笑)
    Set rs = Nothing  '変数も後始末しますか。使った器はキレイにしろって?

End Sub

/* * 3.もし、列幅変更の依頼が来たら? */

列幅の設定は、 ^^^^^^^^^^^^^^ 郵便番号 件数 空白を 8.5 8.5 1.8 とするために、 objEXCEL.Columns(nXLINE).ColumnWidth = 8.5 objEXCEL.Columns(nXLINE + 1).ColumnWidth = 8.5 objEXCEL.Columns(nXLINE + 2).ColumnWidth = 1.8 でセットしてます。 行の高さの設定は、 ^^^~~^^^^^^^^^^^ 見出しの行を25 データ行を16とするために、 '行の高さを調整する objEXCEL.Rows(nYLINE).RowHeight = 25 '見出しの高さを25へ strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '範囲文字列を作成 objEXCEL.Rows(strWORK).RowHeight = 16 'データ高さを16へ で、セットしました。 よし完成、なんて思っていたら、 客先担当者より、列幅と行の高さをもう少し広げてください。 幅が詰まっていないほうが見易いので なんて言われたら。 簡単なのは、幅8.5や高さ25など、数値を間違えないで変更すればOKかなぁ。 短いプログラムでも、高さの設定ヶ所は2ヶ所あるので慎重に直してね。 よし、修正終了。これでどうだ。 数日後、 非常に言いにくいんですけど、 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ やっぱり元に戻してもらえませんか? 前のほうがいいともう一人の上司が言うもんで。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ なんてことがシステム作りの世界ではよくある話なので、 固定の数値を使わないで、Constでワンクッション置いて使うといいんですよ。 使い方は簡単で、 ^^^^^^^^^^^^^^^ 数値の設定を洗い出して、変数名を決めて、 Const 変数名 = 99.9 と定義します。 こんな感じで、頭に定義してみました。 漢字の変数名はよくないけど、テストなので許してね。。。
Private Sub btnMakeExcel_Click()
    '定数
    '列の幅を定義
    Const 列幅_郵便番号 = 9.5
    Const 列幅_件数 = 8.5
    Const 列幅_空白 = 1.75
    '行の高さを定義
    Const 高さ_見出し = 26
    Const 高さ_データ = 14
    
    Dim rs As New ADODB.Recordset  'ADOのレコードセット
    Dim objEXCEL As Object  'Excel参照用
    Dim nYLINE   As Integer '行セット位置
    Dim nXLINE   As Integer '列セット位置
    Dim nRCNT    As Integer 'レコードカウンタ
    Dim strWORK  As String  'ワーク変数

    'Excelを起動する、オブジェクトの作成
    Set objEXCEL = CreateObject("Excel.Application") 'オブジェクトの作成
    objEXCEL.Visible = True  'Excelを見えるようにする
    
    '新規のブックを追加する
    objEXCEL.Workbooks.Add   'Excelのブックを作成

    'Excelのシートを追加、シート名を変更する
    objEXCEL.Sheets.Add  'シートを追加する
    objEXCEL.ActiveSheet.Name = "DATA"  'シート名をDATAにする
    
    '列幅は、縦なので、ここ、頭で定義する
    For nXLINE = 1 To 9 Step 3
        objEXCEL.Columns(nXLINE).ColumnWidth = 列幅_郵便番号
        objEXCEL.Columns(nXLINE + 1).ColumnWidth = 列幅_件数
        objEXCEL.Columns(nXLINE + 2).ColumnWidth = 列幅_空白
    Next nXLINE

    'レコードセットを開く(Q_YUBIN_5)
    rs.Open "Q_YUBIN5", CurrentProject.Connection, _
                    adOpenKeyset, adLockOptimistic

    'カウンタの初期化 スタート位置のセット
    nYLINE = 1 '1行目だよ
    nXLINE = 1 '1列目(A列)だよ
    
    '見出しをセットする
    objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
    objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
    '罫線を引く(見出しの位置から+10行分)
    Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                    objEXCEL.Cells(nYLINE + 10, nXLINE + 1)))
    '行の高さを調整する
    objEXCEL.Rows(nYLINE).RowHeight = 高さ_見出し '見出しの高さを設定
    strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '10行分範囲文字列を作成
    objEXCEL.Rows(strWORK).RowHeight = 高さ_データ 'データ高さを設定

    nYLINE = nYLINE + 1 '見出し分行数が増えます
    nRCNT = 1  '見出し表示後は1レコード目だよ
    
    'レコードセットからExcelへデータをセットする
    'ループ処理
    While rs.EOF = False  'いつものEOFが偽の間
        'データをセットする(Accessから転記)
        objEXCEL.Cells(nYLINE, nXLINE) = rs("変換後郵便番号").Value
        objEXCEL.Cells(nYLINE, nXLINE + 1) = rs("変換後郵便番号のカウント").Value
        'セルの色を変える
        objEXCEL.Cells(nYLINE, nXLINE).Interior.ColorIndex = 33 'スカイブルーをセット
        objEXCEL.Cells(nYLINE, nXLINE + 1).Interior.ColorIndex = 33
        '次を読む And カウンタを移動する
        rs.MoveNext  '次のレコードに移動しないと、とんでもないことに(笑)
        nRCNT = nRCNT + 1   '処理レコード数を増やす
        If nRCNT > 10 Then  '処理したレコードが10を越えた(次の列)
            nXLINE = nXLINE + 3  '次の列へカウンタを移動
            If nXLINE > 9 Then '列が越えた?
                nXLINE = 1  '1列目(A列)に戻す
                nYLINE = nYLINE + 2  '空白行にしたいのでセット位置を+2する
            Else
                nYLINE = nYLINE - 10 '列が変わったので行カウンタをマイナスする
            End If
            
            '見出しの表示
            objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
            objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
            '罫線を引く(見出しの位置から+10行分)
            Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                      objEXCEL.Cells(nYLINE + 10, nXLINE + 1)))
            '行の高さを調整する
            objEXCEL.Rows(nYLINE).RowHeight = 高さ_見出し '見出しの高さを設定
            strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '10行分範囲文字列を作成
            objEXCEL.Rows(strWORK).RowHeight = 高さ_データ 'データ高さを設定
            
            nYLINE = nYLINE + 1 '見出し表示分行数が増えます
            nRCNT = 1  '見出し表示後は1レコード目だよ
        Else  '
            nYLINE = nYLINE + 1  '次の行へセット位置を移動
        End If
    Wend
    '通常は、ここでExcelを保存するんだけど、今回は開きっぱなしの手抜き

    rs.Close   '開いたら閉じろ、ドアを開けたら閉めるってしつけられたでしょ(笑)
    Set rs = Nothing  '変数も後始末しますか。使った器はキレイにしろって?

End Sub

/* * 4.列数、行数の基準値もできれば定数で宣言しておく */

もし、客先から、列幅・行の高さの調整依頼が来ても、 頭で定義したConst定数を変更すれば、すぐに対応可能となりました。 めでたし、めでたし。 で、終わらないのがシステム開発ですよね。 ?????なぜ? 仕様は、10行3列の扱いだったのに、 少し短いから、12行X4列にしてくれとまたまた、依頼が来ました。 システム担当会社:チッ仕方ないなぁ。(仕様変更だよ、追加料金よこせよ) 客先担当:なんとかならないですかねぇ(少々の変更、出来るだろカネカネうるさい) なんて、険悪な場面もありつつ、 えっと、関係する部分は、 '罫線を引く(見出しの位置から+10行分) Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _ objEXCEL.Cells(nYLINE + 10, nXLINE + 1))) ↑罫線の範囲の計算だろ、 strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + 10) '10行分範囲文字列を作成↑行範囲でしょ 改行の判断と、列数の判断だよね・・・ If nRCNT > 10 Then '処理したレコードが10を越えた(次の列) nXLINE = nXLINE + 3 '次の列へカウンタを移動 If nXLINE > 9 Then '列が越えた? nXLINE = 1 '1列目(A列)に戻す nYLINE = nYLINE + 2 '空白行にしたいのでセット位置を+2する Else nYLINE = nYLINE - 10 '列が変わったので行カウンタをマイナスする End If 10って数字が10行だから、これを12行にして、 9列ってのが(項目数が2+空白1)x3列を越えたらって意味だから、 9列を12列にして nXLINE = nXLINE + 3 '次の列へカウンタを移動 この+3は、そのままでいいだろ・・・ ※3を無条件に4にすると思って変更すると、バグが発生する(笑) nYLINE = nYLINE - 10 '列が変わったので行カウンタをマイナスする これは、12行になったんだから、-12にへんこうして・・・ なんて感じで、自分が作っているのに、大変な変更になってしまう。 置き換え忘れたり、変えなくていい数値を変更してしまったり・・・・ 一見、見難くなるけど、基準値も定数にしておくと、 アトアトの変更でミスなくすばやく変更できます。 行を6行、列を4列と小さく変更が来たと仮定して、 定数を使って、Const MAX_行 = 6, Const MAX_列 = 4で組んでみます。 少し難しいのは、 For nXLINE = 1 To (MAX_列 * 3) Step 3 と、(MAX_列 * 3)で列の終わりの判断をしてます。 この3は、郵便番号+件数+空白で1つのブロックで3列使っている3です。 ※これも、変更したり、フィールドの項目数で可変になると、  完璧だけど、今回は、行と列の定数化だけで我慢してね。
Private Sub btnMakeExcel_Click()
    '定数
    '列の幅を定義
    Const 列幅_郵便番号 = 9.5
    Const 列幅_件数 = 8.5
    Const 列幅_空白 = 1.75
    '行の高さを定義
    Const 高さ_見出し = 26
    Const 高さ_データ = 14
    '行、列の基準値を設定する
    Const MAX_行 = 6  'で次の列へ
    Const MAX_列 = 4  'で次の段落へ
    
    Dim rs As New ADODB.Recordset  'ADOのレコードセット
    Dim objEXCEL As Object  'Excel参照用
    Dim nYLINE   As Integer '行セット位置
    Dim nXLINE   As Integer '列セット位置
    Dim nRCNT    As Integer 'レコードカウンタ
    Dim strWORK  As String  'ワーク変数

    'Excelを起動する、オブジェクトの作成
    Set objEXCEL = CreateObject("Excel.Application") 'オブジェクトの作成
    objEXCEL.Visible = True  'Excelを見えるようにする
    
    '新規のブックを追加する
    objEXCEL.Workbooks.Add   'Excelのブックを作成

    'Excelのシートを追加、シート名を変更する
    objEXCEL.Sheets.Add  'シートを追加する
    objEXCEL.ActiveSheet.Name = "DATA"  'シート名をDATAにする
    
    '列幅は、縦なので、ここ、頭で定義する
    For nXLINE = 1 To (MAX_列 * 3) Step 3
        objEXCEL.Columns(nXLINE).ColumnWidth = 列幅_郵便番号
        objEXCEL.Columns(nXLINE + 1).ColumnWidth = 列幅_件数
        objEXCEL.Columns(nXLINE + 2).ColumnWidth = 列幅_空白
    Next nXLINE

    'レコードセットを開く(Q_YUBIN_5)
    rs.Open "Q_YUBIN5", CurrentProject.Connection, _
                    adOpenKeyset, adLockOptimistic

    'カウンタの初期化 スタート位置のセット
    nYLINE = 1 '1行目だよ
    nXLINE = 1 '1列目(A列)だよ
    
    '見出しをセットする
    objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
    objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
    '罫線を引く(見出しの位置から+MAX_行行分)
    Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                    objEXCEL.Cells(nYLINE + MAX_行, nXLINE + 1)))
    '行の高さを調整する
    objEXCEL.Rows(nYLINE).RowHeight = 高さ_見出し '見出しの高さを設定
    strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + MAX_行) 'MAX_行範囲文字列を作成
    objEXCEL.Rows(strWORK).RowHeight = 高さ_データ 'データ高さを設定

    nYLINE = nYLINE + 1 '見出し分行数が増えます
    nRCNT = 1  '見出し表示後は1レコード目だよ
    
    'レコードセットからExcelへデータをセットする
    'ループ処理
    While rs.EOF = False  'いつものEOFが偽の間
        'データをセットする(Accessから転記)
        objEXCEL.Cells(nYLINE, nXLINE) = rs("変換後郵便番号").Value
        objEXCEL.Cells(nYLINE, nXLINE + 1) = rs("変換後郵便番号のカウント").Value
        'セルの色を変える
        objEXCEL.Cells(nYLINE, nXLINE).Interior.ColorIndex = 33 'スカイブルーをセット
        objEXCEL.Cells(nYLINE, nXLINE + 1).Interior.ColorIndex = 33
        '次を読む And カウンタを移動する
        rs.MoveNext  '次のレコードに移動しないと、とんでもないことに(笑)
        nRCNT = nRCNT + 1   '処理レコード数を増やす
        If nRCNT > MAX_行 Then  '処理したレコードがMAX_行を越えた(次の列)
            nXLINE = nXLINE + 3  '次の列へカウンタを移動
            If nXLINE > (MAX_列 * 3) Then '列が越えた?
                nXLINE = 1  '1列目(A列)に戻す
                nYLINE = nYLINE + 2  '空白行にしたいのでセット位置を+2する
            Else
                nYLINE = nYLINE - MAX_行 '列が変わったので行カウンタをマイナスする
            End If
            
            '見出しの表示
            objEXCEL.Cells(nYLINE, nXLINE) = "郵便番号"
            objEXCEL.Cells(nYLINE, nXLINE + 1) = "件数"
            '罫線を引く(見出しの位置から+MAX_行分)
            Call make_Border(objEXCEL.Range(objEXCEL.Cells(nYLINE, nXLINE), _
                                      objEXCEL.Cells(nYLINE + MAX_行, nXLINE + 1)))
            '行の高さを調整する
            objEXCEL.Rows(nYLINE).RowHeight = 高さ_見出し '見出しの高さを設定
            strWORK = Trim(nYLINE + 1) & ":" & Trim(nYLINE + MAX_行) 'MAX_行範囲文字列を作成
            objEXCEL.Rows(strWORK).RowHeight = 高さ_データ 'データ高さを設定
            
            nYLINE = nYLINE + 1 '見出し表示分行数が増えます
            nRCNT = 1  '見出し表示後は1レコード目だよ
        Else  '
            nYLINE = nYLINE + 1  '次の行へセット位置を移動
        End If
    Wend
    '通常は、ここでExcelを保存するんだけど、今回は開きっぱなしの手抜き

    rs.Close   '開いたら閉じろ、ドアを開けたら閉めるってしつけられたでしょ(笑)
    Set rs = Nothing  '変数も後始末しますか。使った器はキレイにしろって?

End Sub
-【けんぞう!】--------------------------------------------------------- 転職関係、在宅プログラマー、SOHOの広告まとめました http://www.ken3.org/etc/500yen/zaitaku.html いろいろとあるので転機の人はぜひ 登録料無料、匿名で探せるので在宅で小金稼ぎの人も見てね ~~~~~~~~~~~~~~~~ オレ様、私は、SE様だ、月給30万以上ボーナス100万を探すのもありだよ。 私にみたいにVBA少しできるぐらいだと仕事無いよ・・・ と軽く言われても匿名なら気にならないし(笑) 逆にこんな簡単な仕事で月給27万貰えるの?って会社もあるし、世の中イロイロ。 http://www.ken3.org/etc/500yen/job.html ------------------------------------------------------------------------ 

/* * 5.終わりの挨拶 */

今回は、Constの使い方、便利さの説明でした。 Constを使用すると、 変更に強い、修正ミスの無いプログラムを書くことが出来ます。 なんとなく、感覚はわかりましたか? この辺が(Constを使用するプログラムと直値を使うプログラム) 私みたいな三流プログラマー と 一言、アドバイスをくれた一流読者との違いなんですね。 In message "[VBAで楽しく No.141] - 箇条書きで必要部品を洗い出し単体テストする", >日光が斜めから射すので、まっすぐに伸びない? >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >植物の成長って、日光に向かって伸びるんですよね。 >太陽の光がナナメからだったら、ナナメに伸びる・・・ >(上司や先輩の育て方や光具合が、新人の成長に影響を与えるのも事実です・・・) --- って、話じゃないですが、私の変なサンプル見て、ナナメに育たないように、、、、 ※プログラム作法ってのも、頭に入れて、作成してくださいね・・・・ 今回の、サンプルファイルは、 http://www.ken3.org/vba/lzh/vba145.lzh にAccess2000版が保存されています。 ※定数の数値を変更して、便利さをテストしてみてください。 何かの参考となれば幸いです。 Excel/Access大好き、三流プログラマーKen3でした。


ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

種類別のリンク や 広告など

気になったジャンル↓を選択してください。

人気記事(来場者が多いTOP3):
[VBAでIE,WebBrowserを操作]・・・VBAでIE,WebBrowserを操作する サンプルです
[Access から Excel 連携 CreateObject("Excel.Application")]・・・AccessからExcelを操作したりデータの書き出しなどです
[VBAでOutlookの操作 CreateObject("Outlook.Application" )]・・・VBAからOutlookを使い、メール関係を処理するサンプルです
↑上記3つみたいなCreateObjectで他のアプリケーションを操作するサンプルが人気です。

Excel関係:
[Excel UserFormを操作する]・・・エクセルでユーザーフォームを作成して入力などを行ってます
[ExcelからAccessを操作する]・・・ExcelからAccessのマクロを起動してみました、
[Excel関係 関数、その他]・・・その他Excel関係です

Access関係:
[Access UserForm/サブフォーム 操作]・・・アクセスでフォームを使ったサンプルです
[Access レポート操作]・・・レポートを操作してみました
[Access クエリーやその他関数]・・・あまりまとまってませんが、スポット的な単体関数の解説です

その他:VBAの共通関数やテキストファイルの操作など
[VBAでテキストファイル(TextFile)の操作]・・・普通のテキストファイルを使ったサンプルです
[VBA 標準関数関係とその他解説]・・・その他、グダグタ解説してます

開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う]

仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力]

※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。
※※読んで、気分を悪くされたらスミマセン。

Blogとリンク:[三流君の作業日記]/ [VBAやASPのサンプルコード]/ 広告-[通販人気商品の足跡]



[三流君(TOP ken3.org へ戻る)] / [VBA系TOPへ] / [VBA系バックナンバー目次へ移動]