書店が作る注文書ソフト。エクセルを使い自動で出版社別にまとめて、作業も速い。

faxhatyudataeyecatch

じゅんぱ店長(@junpa33)です。

 

今回も引き続き書籍の注文書の作成について解説していきます。

今回は前々回作成のエクセルBOOK「FAX注文書作成.xlsm」を中心に加工していきます。

 

ここからご覧になる方や、前の記事を読み返したい方はこちらです。

 

<<< 前の記事を読み返す <<<

書籍の注文書、書店向けのA4テンプレートはFAXやメールで利用可能です。

tyutempeyecatchb 書籍の注文書、書店向けのA4テンプレートはFAXやメールで利用可能です。

 

FAX注文書作成記事一覧
faxexceltyumonsyo
発注作業で一番手間のかかるのは手書きで注文書を作成する作業ではないでしょうか? ここからの記事シリーズでは、この作業を速く簡単に行えるようにする方法を紹介させていただきます。 世の中ネット社会と言われだして大分、月日が経ちますよね。ほとんど ...
続きを読む
faxhatyusyoeyecatch
お待たせいたしました。 皆さま待望の、書誌FAX注文書の自動作成VBAについて説明を行っていきます。 完成すれば、今までの大変面倒な手書き作業から解放されます。頑張って取り組んでいきます。 <<< 前の記事を読み返す <<< 手書き発注書の ...
続きを読む
tyutempeyecatchb
こんにちはじゅんぱ(@junpa33)です。 前記事の続きで、今回はFAX注文用のテンプレートを作成します。 前回作成のエクセルBOOK「FAX注文書作成.xlsm」とは別にもう1つ新しくBOOKを作成します。 ここからご覧になる方や、前の ...
続きを読む
faxhatyudataeyecatch
じゅんぱ店長(@junpa33)です。 今回も引き続き書籍の注文書の作成について解説していきます。 今回は前々回作成のエクセルBOOK「FAX注文書作成.xlsm」を中心に加工していきます。 ここからご覧になる方や、前の記事を読み返したい方 ...
続きを読む
datatenkieyecatch
どうも じゅんぱ店長(@junpa33)です。 今回はテンプレートを複製して出版社別の注文書のシートを作ります。 「FAX注文書テンプレート.xlsm」での作業が中心となります。 ここからご覧になる方や、前の記事を読み返したい方はこちらです ...
続きを読む
faxsiageeyecatchb
どうもじゅんぱ店長(@junpa33)です。 今回が最終回となります。 よろしくお付き合いください。 <<< 前の記事を読み返す <<< FAX注文書作成の時短効果と無料に仰天!知った人だけラッキーです。 FAX注文書作成記事一覧 この記事 ...
続きを読む

 

 

 

フォルダを作成する

 

今回のエクセルBOOK編集作業の前に、重要な作業があります。

 

前回作成の「FAX注文書テンプレート.xlsm」と前々回作成の「FAX注文書作成.xlsm」を

一つのフォルダで保管します。

 

フォルダ名を書籍FAX注文書としてください。(お好きな名前でもOKです。)

「FAX注文書作成.xlsm」を開く

 

「FAX注文書作成.xlsm」を開いてください。

 

「Sheet1」の名前を変更

 

シート選択タブで「Sheet1」の名前を変更して、「操作ボタン」としてください。

 

新しくシートを追加する

新しくシートを追加します。その新しいシート名を「出版社リスト」とします。

 

この様な感じになります。

faxhatyudata001aa

 

注文内容を出版社別に振り分ける

 

先回の作業で書誌データを読み込んで「抽出データ」シートに一覧表示させました。

このデータは取り込んだ順番に並んでいます。

ですので、そのまま注文書テンプレートに転記するには非常に非効率です。

そこで、一覧表示されたデータを出版社別に”各出版社シート”を作り仕分けをしていきます。

 

「抽出データ」をソートします

 

ソートキーを”出版社名”として並び替えをします。

VBAコードを記入しますので、module2を挿入追加してください。

追加方法がイマイチと言われる場合は、

先記事の「VBE(ビジュアルベーシックエディター)を起動する」で確認してください。

参考記事です。

エクセルVBA 始めての起動。VBEの立ち上げ、保存と終了

 

MEMO

入力セルの最終行を取得する方法はこちらを参考にしてください。

vbalastcelleyecatchエクセルVBA データ入力済セルの最終行番号を取得する方法

 

コードはこのようになります。

コード①

Sub ソート()  

Dim Hsrow As Long

 Worksheets(“抽出データ”).Activate

 Hsrow = Cells(Rows.Count, 1).End(xlUp).Row

 Worksheets(“抽出データ”).Range(Cells(2, 1), Cells(Hsrow, 7)) _

 .Sort Key1:=Worksheets(“抽出データ”).Cells(1, 3), order1:=xlAscending

End Sub

 

faxhatyudata002a

 

出版社リストを作ります

 

「出版社リスト」シートに出版社の一覧を表示させます。

一覧に表示されるリストは、同じ出版社であっても表示方法の違いで区別されて表示されます。

例えば「新春社」、「新春 社」,「(株)新春社」などすべて区別されます。

社名の表示は完全一致です。(通常のエクセルシートのソートの癖と同じです。)

 

コードは少し長いですがこのような感じです。

このように”Dictionaryオブジェクト”を使って重複を排除したリストを作成します。

 

MEMO

重複データの整理についてはこちらの記事を参考にしてください。

vbajyufukueyecatchエクセルVBA 同じ項目をまとめる(重複データの整理)コード作成

If条件文についてはこの記事を参考にしてください。

vbaifjyokeneyecatchエクセルVBA 「If条件文」を最速に理解。条件の絞り方

For~Nextの使い方については、この記事も参考にしてください。

fornextirekoeyecatchエクセルVBA!For~Nextの入れ子ループを最速に理解する

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

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

 

コード②

Sub 出版社名抽出()

 Dim tRange As Range, dRange As Range

 Dim buf As Variant, buf2 As Variant

 Dim myDic As Object

 Dim i As Long

 Dim myKeys As Variant

 

Worksheets(“抽出データ”).Select

Aho = Worksheets(“抽出データ”).Range(“C2”).Value

HaRow = Cells(Rows.Count, 6).End(xlUp).Row

If HaRow > 2 Then

 Set tRange = Sheets(“抽出データ”).Range(“C2:C” & HaRow)

  buf = tRange

 Set myDic = CreateObject(“Scripting.Dictionary”)

  On Error Resume Next

 For i = 1 To HaRow

  myDic.Add buf(i, 1), “”

 Next i

  On Error GoTo 0

  With Sheets(“出版社リスト”)

   Set dRange = .Range(.Range(“A1”), .Range(“A” & myDic.Count))

  End With

  buf2 = dRange

  myKeys = myDic.keys

 If myDic.Count = 1 Then

  Worksheets(“出版社リスト”).Range(“A1”).Value = Aho

 Else

  For i = 1 To myDic.Count

  buf2(i, 1) = myKeys(i – 1)

  Next i

  dRange = buf2

 End If

Else

  Worksheets(“出版社リスト”).Range(“A1”).Value = Aho

End If

End Sub

 

faxhatyudata003a

 

出版社別のシートを作成

 

「出版社リスト」にある出版社別にシートを新しく追加します。

コード③

Sub シート作成()

 Worksheets(“出版社リスト”).Activate

 SuRow = Cells(Rows.Count, 1).End(xlUp).Row

 For t = 1 To SuRow

  Vn = Range(“A” & t).Value

  Worksheets.Add After:=Worksheets(Worksheets.Count)

  ActiveSheet.Name = Vn

  Worksheets(“出版社リスト”).Activate

 Next t

End Sub

Worksheetsの追加時に行うポイントは、

VBA 新規作成ブックとシート。アクティブ状態でやっておくこと」を参考にできます。

各出版社シートへのデータ振り分け

 

先ほど作った出版社シートへデータを振り分けていきます。

For~Nextの入れ子構造については、

エクセルVBA!For~Nextの入れ子ループを最速に理解する」を参考してください。

コード④

Sub 発注振り分け()

 Worksheets(“出版社リスト”).Activate

 SuRow = Cells(Rows.Count, 1).End(xlUp).Row

 For t = 1 To SuRow

  Vn = Range(“A” & t).Value

  Worksheets(“抽出データ”).Activate

   HaRow = Cells(Rows.Count, 6).End(xlUp).Row

   s = 1

   For N = 1 To HaRow

    If Range(“C” & N).Value = Vn Then

     Rows(N).Copy Destination:=Worksheets(Vn).Range(“A” & s)

     s = s + 1

     Worksheets(Vn).Columns(“A:G”).AutoFit

    End If

    Worksheets(“抽出データ”).Activate

   Next N

   Worksheets(“出版社リスト”).Activate

 Next t

End Sub

 

faxhatyudata004a

 

ここまでのVBA動作を纏める

 

VBAコード①から④を一つのボタン操作で一度に行えるようにします。

「操作ボタン」シートに「注文データまとめ」ボタンを作ります。

4つのコードを纏めるVBAコードを作ります。

コード⑤

Sub 注文データまとめ()   

  ソート   

  出版社名抽出   

  シート作成   

  発注振り分け   

 Worksheets(“操作ボタン”).Select   

 Range(“A1”).Select

End Sub

 

faxhatyudata006ca

 

次に「操作ボタン」シートにボタンを設置します。

 

先回に行ったのと同じ作業です。

作業確認はデータ抽出ボタンを設置するでご確認ください。

 

こんな感じになります。

faxhatyudata007a

 

FAX注文書テンプレートBOOKと連携する

ここで作成した注文書のデータを「FAX注文書テンプレート.xlsm」に送り、連携をセットします。

 

FAX注文書テンプレートの”Sheet2”のシート名を変更する

 

「FAX注文書テンプレート.xlsm」を開き、”Sheet2”のシート名を「発注資料表」としてください。

faxhatyudata005aa

 

 

注文データのBOOK間移動をセットする

 

「FAX注文書作成.xlsm」に戻ります。

この「FAX注文書作成.xlsm」のVBAマクロで「FAX注文書テンプレート.xlsm」のシートのデータをコントロールします。

 

先ほど名前変更した「FAX注文書テンプレート.xlsm」の「発注資料表」に作表します。

BOOKとシートを行ったり来たりしますので、記号化してコードを書いていきます。

 

VBAコードをmodule3に記入します。モジュールの挿入追加をしてください。

追加方法の再度の確認は

先記事の「VBE(ビジュアルベーシックエディター)を起動する」です。

 

テンプレートにある様に出版社(発注先)ごと、5品目ごとに区分けして40ページまで作ることができます。

「 For t = 1 To 40 」のところで 40を50にすれば50ページになります。ご自由に変更ください。

「発注資料表」シートのM列は、いまどこまでページ数を使っているかを調べる”マーカー”を挿入しています。

文字・記号などを書き入れないようにしてください。

コードは以下のようになります。

 

MEMO

ChDirの使い方についてはこちらの記事が参考になります。

vbachdireyecatchエクセルVBA カレントフォルダを簡単に変更できるChDirの使い方

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

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

 

 

コード⑥

Sub 発注資料()
    Dim Hsheet As Worksheet
    Dim Ssheet As Worksheet
    Dim SPRow As Long
    Dim VARow As Long
    Dim HBRow As Long
    Dim VA As Variant, Hva As Variant, Fva As Variant, Iva As Variant
    Dim Bva As Variant, Jva As Variant, Gva As Variant, Nva As Variant
    Dim i As Long, j As Long, x As Long, xx As Long, y As Long, t As Long, tt As Long
    Dim w As Long, ww As Long, z As Long, AR As Long

    ChDir ThisWorkbook.Path
    Workbooks.Open Filename:="FAX注文書テンプレート.xlsm"
    Set Hsheet = Workbooks("FAX注文書テンプレート.xlsm").Worksheets("発注資料表")
    Set Ssheet = Workbooks("FAX注文書作成.xlsm").Worksheets("出版社リスト")
    Ssheet.Activate
    SPRow = Cells(Rows.Count, 1).End(xlUp).Row
    Hsheet.Activate
    For t = 1 To 40 '40ページまで 50にすれば50ページまで可
        tt = t * 9 - 8
        Range("A" & tt) = "P" & t
        Range("A" & tt + 1) = "分類名"
        Range("B" & tt + 1) = "出版社名"
        Range("C" & tt + 1) = "書名"
        Range("D" & tt + 1) = "著者名"
        Range("E" & tt + 1) = "冊数"
        Range("F" & tt + 1) = "本体価格"
        Range("G" & tt + 1) = "シリーズ名"
        Range("H" & tt + 1) = "版数"
        Range("I" & tt + 1) = "送品条件"
        Range("J" & tt + 1) = "ISBNコード"
        Range("K" & tt + 1) = "客注名"
        Range("M" & 1) = "この列文字記入禁止"
        With Range(Cells(tt, 1), Cells(tt + 1, 13))
                .Font.Bold = True
                .Interior.ColorIndex = 35
        End With
    Next t
    Ssheet.Activate
    z = 1
    For i = 1 To SPRow
        VA = Range("A" & i).Value
        Worksheets(VA).Activate
        VARow = Cells(Rows.Count, 1).End(xlUp).Row
        For j = 1 To VARow
            Hva = Range("C" & j).Value
            Fva = Range("B" & j).Value
            Iva = Range("D" & j).Value
            Bva = Range("F" & j).Value
            Jva = Range("E" & j).Value
            Gva = Range("A" & j).Value
            Nva = Range("G" & j).Value
        Hsheet.Activate
        AR = WorksheetFunction.Match("P" & z, Hsheet.Columns("A"), 0)
            x = j Mod 5
            xx = j \ 5
        If x = 0 Then xx = j \ 6
           y = AR + 1 + j + 4 * xx
                Range("B" & y).Value = Hva  '出版社名
                Range("C" & y).Value = Fva  '書名
                Range("D" & y).Value = Iva  '著者名
                Range("E" & y).Value = Bva  '冊数
                Range("F" & y).Value = Jva  '本体価格
                Range("J:J").NumberFormatLocal = "0_ "
                Range("J" & y).Value = Gva  'ISBNコード
                Range("K" & y).Value = Nva  '客注名
                Range("M" & y).Value = "○" 'マーキング
            Workbooks("FAX注文書作成.xlsm").Activate
            Worksheets(VA).Select
        Next j
        Hsheet.Activate
        HBRow = Cells(Rows.Count, 13).End(xlUp).Row
        w = HBRow Mod 9
        ww = HBRow \ 9
    If ww = 0 Then
        If w < 3 Then
            z = 1
        Else
            z = 2
        End If
    Else
        z = ww + 1 + 1
    End If
        Workbooks("FAX注文書作成.xlsm").Activate
        Worksheets("出版社リスト").Select
    Next i
    Hsheet.Activate
    Hsheet.Columns("A:M").AutoFit
End Sub

 

複数に跨ってエクセルBOOKを操作しますので、注意点があります。

「FAX注文書作成.xlsm」のVBAを使って「FAX注文書テンプレート.xlsm」を開きますが、すでに「FAX注文書テンプレート.xlsm」が開いている場合、上のコードではエラーとなります。
ですので、すでに「FAX注文書テンプレート.xlsm」が開いていれば”VBAのBOOK オープンの命令”をスルーして次の作業に移らせるようにします。この修正コードはこのようになります。なお変数宣言のコードの下側にある
ChDir ThisWorkbook.Path
Workbooks.Open Filename:=”FAX注文書テンプレート.xlsm”
は削除してください。

コード⑥修正

 Dim flag As Boolean 
 Dim Wb As Workbook 
 Dim Fpa As String 
 ChDir ThisWorkbook.Path 
 Fpa = ThisWorkbook.Path & "\FAX注文書テンプレート.xlsm" 
 flag = False 
 For Each Wb In Workbooks 
   If Wb.FullName = Fpa Then 
     flag = True 
     Exit For 
   End If 
 Next Wb 
 If flag = False Then 
   Workbooks.Open Fpa 
 End If

 

この様になります。

faxhatyudata001aa
このVBAマクロのボタンを設置します。

「操作ボタン」シートに発注資料作成ボタンを作ります。

先ほどと同じようにしてください。

faxhatyudata009a

 

 データクリアボタンの設置

 

VBAコードの設置は新しいモジュール(module4)に記入します。

まず挿入設置してください。

「FAX注文書作成.xlsm」BOOKを使用後に、最初のデフォルト状態に戻すようにします。

データが入力された各シートと出版社ごとのシートをすべて削除します。

 

MEMO

シートのクリアのためのエクセルVBAコードの作り方については、この記事が参考になります。

vbacleareyecatchエクセルVBA シートのクリアーを目的のメソッド別に最速理解

 

抽出データをクリアーする

 

最初にクリアーするのは「抽出データ」シートです。

コード⑦

Sub 抽出データクリアー()
Worksheets("抽出データ").Select
Cells.Select
Selection.Clear
Range("A1").Select
Worksheets("操作ボタン").Select
Range("A1").Select
End Sub

 

出版社別シートを削除する

 

作成順で行うと「出版社リスト」になります。

しかしこれを先にクリアーすると、”出版社別シート”を削除するVBAコードの設計が面倒です。

コード⑧

Sub 出版社シートクリアー()
Dim PrRow as Long
Dim PrV as Variant
Worksheets("出版社リスト").Activate
  If Range("A1").Value <> "" Then
   PrRow = Cells(Rows.Count, 1).End(xlUp).Row
    For t = PrRow To 1 Step -1
      PrV = Range("A" & t).Value
      Worksheets(PrV).Select
      Application.DisplayAlerts = False
      Worksheets(PrV).Delete
      Worksheets("出版社リスト").Activate
    Next t
      Application.DisplayAlerts = True
 End If
End Sub

 

出版社リストをクリアーする

 

そして出版社リストをクリアーします。

コード⑨

Sub 出版社リストクリアー()
Worksheets("出版社リスト").Select
Cells.Select
Selection.Clear
Range("A1").Select
Worksheets("操作ボタン").Select
Range("A1").Select
End Sub

 

クリアーボタンを設置する

 

コード⑦から⑨のVBAを順に実行するALLクリアVBAコードとそのボタンを設置します。

コード⑩

Sub ALLクリアクリアー()
抽出データクリアー
出版社シートクリアー
出版社リストクリアー
End Sub

この様になります。

faxhatyudata011a

 

faxhatyudata010a

 

ここまでのまとめ

 

これで「FAX注文書作成.xlsm」の方は完成です。

操作方法についてですが、

 

  1. 「書誌データ貼付」シートにWebからの書籍情報をコピーペーストします。”形式を選択して貼り付け”で”テキスト”を選択します。
  2. 「抽出項目・抽出セル名表」に必要データのセル位置を入力します。
  3. 「書誌データ抽出ボタン」を押すと、「抽出データ」シートに情報が貼り付けられます。
  4. 「操作ボタン」シートに移動し「注文データまとめ」ボタンを押せば、情報が出版社別に仕分けされます。
  5. 「発注資料作成」ボタンを押せば、「FAX注文書テンプレート.xlsm」に情報が送られます。
  6. 最後に「ALLクリアー」ボタンで使用前のデフォルト状態に戻ります。終了時にはこの状態で保存終了してください。

 

次回の記事は「FAX注文書テンプレート.xlsm」での作業となります。

 

>>>次の記事へ進む>>>

FAX注文書作成の時短効果と無料に仰天!知った人だけラッキーです。

datatenkieyecatch FAX注文書作成の時短効果と無料に仰天!知った人だけラッキーです。

 

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

 

大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方
初めてのVBAの勉強、構えなくても気軽に始められる。
vbastudy020a
vbastudy021a

電子書籍版「大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方」をamazonで見てみる

(著者)大村あつし
(出版社)技術評論社
(税込価格)1,628円(本体1,480円+税)

学習書の新しい形です。
YouTubeと完全リンクした参考書です。入門と基礎を重点的に22本の動画で解説をしています。
ちょっとした空き時間を利用してでもスマホがあれば学習ができます。
動画は優しい語り口調で、視聴者にある意味安心感を与えてくれます。動画は5分から20分間ぐらいで22本の構成です。
文章解説と動画解説の関係性は、動画解説が主で、文章解説がサポートいう使い方もできます。

 

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