販売王の売上伝票を一挙に作成。読み込み可能な外部データの作り方。

hanbaiurieyecatchaa

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

先回作成しましたエクセルBOOK「販売データ入力.xlsm」で、販売王への商品登録を外部データから行えるようになりました。

今回は、販売伝票(売上伝票)を外部データのインポートによって素早く作成できる方法を解説していきます。

 

この外部データのインポートによって作業手間MAXの伝票作成を、手早く行いたいという願いにお答えできるようになると思います。例えば、

「当日着荷した○○図書館注文分の30冊の単行本を、午前中に納品伝票と請求書を作成してしっかり納品する!!」

ことも出来るようになると思います。

 

先に進む前に先回の記事を読み返す↓

販売王の商品登録を外部データからCSVでインポートする方法

hancus2eyecatch 販売王の商品登録を外部データからCSVでインポートする方法

 

販売王カスタムツール作成記事一覧
hanbaioueyecatch01aaa
こんにちは、じゅんぱ店長(@junpa33)です。 販売管理に必須のソフト、販売王の使い方について考えていきます。 はじめてパッケージを開けたときに出てくる使い方マニュアルは確かにかなり分厚いです。でも、この記事を読み進んでいただくと、使い ...
続きを読む
hanbaiou2eyecatchaa
こんにちは、じゅんぱ店長(@junpa33)です。 今回は、販売管理ソフトの販売王のカスタマイズについてもっと掘り下げていきます。 販売王のデータ入力やデータ出力についてのカスタマイズについてです。 しかもエクセルがあれば、ソフトの追加費用 ...
続きを読む
hancus1aa
こんにちは、じゅんぱ店長(@junpa33)です。 販売管理ソフトの販売王の効率的な利用で、今回から客注注文品の販売伝票(売上伝票)を迅速に作成する裏ワザテクニックについてもっと掘り下げていきます。 今回の記事は、商品登録に必要な書誌データ ...
続きを読む
hancus2eyecatch
こんにちは、じゅんぱ店長(@junpa33)です。 今回のテーマは、 先回解説しました「書誌データ抽出.xlsm」をVBAコードのパーツで使って、販売商品の商品データ(書誌データ)を販売王にインポートする方法を完成させます。 販売王へのデー ...
続きを読む
hanbaiurieyecatchaa
こんにちは、じゅんぱ店長(@junpa33)です。 先回作成しましたエクセルBOOK「販売データ入力.xlsm」で、販売王への商品登録を外部データから行えるようになりました。 今回は、販売伝票(売上伝票)を外部データのインポートによって素早 ...
続きを読む
hancustorieyecatchaa
こんにちは、じゅんぱ店長(@junpa33)です。 今回は「販売データ入力.xlsm」の使い方について、設置方法から取扱説明書風に説明していきたいと思います。 このエクセルソフトは以下からダウンロードすることができます。ダウンロード頂いた「 ...
続きを読む

 

 

 

今回のテーマは、外部データから売上伝票を作成できるようにする

 

 

外部データのCSVテキストデータを販売王にインポートして、販売伝票(売上伝票)を作成できるようにします。

先回作成しましたエクセルBOOK「販売データ入力.xlsm」にこの機能を追加して行います。

 

今回の機能を追加することで、エクセルBOOK「販売データ入力.xlsm」を使って、
販売王への外部データからの商品登録と販売伝票(売上伝票)作成を効率よく時間短縮で行えるようになります。

 

 

売上伝票作成のためのエクセルVBA

 

 

先回作成したエクセルBOOK「販売データ入力.xlsm」に新しくSheetと標準モジュールを挿入します。

 

作業の大きな流れは、

  • 事前に顧客情報を保存しておきます。
  • 販売先(納品先)によって、納品価格が異なる場合がありますので、納品価格を事前に設定しておくようにします。
  • 情報入力窓を表示させて、売上伝票発行番号と販売先のコード番号を入力します。
  • 販売王が要求しているデータを付け加え必要なデータを揃えます
  • 作成したデータシートをCSVデータ化して指定のフォルダに保存します。

という感じです。

 

顧客情報を所定のフォルダに保存する

 

以前に作成した「販売王入力」フォルダの中に新しく「顧客登録」フォルダを作成します。

その作成したフォルダの中に販売王の得意先登録データをテキストデータ出力して保存します。

ファイル名は「顧客登録.CSV」とします。

 

このCSVデータは、販売王への売上伝票の入力データ作成の時に、

得意先登録番号と得意先名のマッチング作業で利用するためのものになります。

 

販売王からの登録された得意先データの出力方法は、先回の商品登録の場合と同じような方法で行います。

販売王のツールタブ → 「テキストデータ出力」で表示される窓の「出力形式名称」のプルダウンメニューで「得意先台帳」を選択します。

出力ファイル名を「顧客登録」で保存先を「顧客登録」フォルダにしてください。

hanbaicusuri001a

 

販売王で新たに得意先の登録を行った時は、その都度このように「テキストデータ出力」でCSVデータを更新してください。

 

得意先別の納品価格(値引率)の事前登録

 

「販売データ入力.xlsm」の「操作ボタン」シートに記入登録するようにします。

ここでは、単に情報入力のみの表の作成となります。

今回は「特別価格対応表」というタイトルにしました。

 

hanbaicusuri003na

 

表の作成位置はI列6行目の書き出しで表の形はこのようにしてください。

 

CSVデータ作成のエクセルVBAコード

 

はじめに「販売データ入力.xlsm」に新しいSheetを追加しておきます。

シート名を「売上CSV作成」としてください。

 

Module5に記述する

マクロ名を「売上CSV作成」としてVBAコードを組み立てていきます。

  • 変数の定義の項目
  • InputBox(データ入力窓)を開いて基本情報を入力します。
  • 入力したデータから「顧客登録」より顧客名をピッキングします。(「顧客登録」は販売王からDLしたCSVファイルです。)

 

MEMO

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

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

インプットボックスについてはこちらの記事を参考にしてください。

vbainputboxeyecatchエクセルVBA 2つのInputBox。特徴を生かした使い分け

メッセージボックスについてはこの記事を参考にできます。

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

Match関数について詳しくはこちらになります。

vbamatcheyecatch001エクセルVBAで使うMatch関数 活用度アップでテッパン関数に!

 

コード
Sub 売上CSV作成()

Dim myYear As Integer 
Dim myMonth As Integer 
Dim myDay As Integer 
Dim TKD As Range, INR As Range 
Dim myMsga As String, myMsgaa As String, myMsgab As String, myMsgac As String 
Dim myTitle As String, myCustom As String, SYO As String 
Dim myNOme As Long, myNOmf As Long, myNOMd As Long 
Dim TAX As Variant, Ans As Long, s As Long, n As Long, t As Long 
Dim SRow As Long, LRowa As Long 
Dim Tcode As Long, TB As Long, TBP As Long, TBPa As Long 
Dim tr As Long, NBK As Variant

  ChDir ThisWorkbook.Path & "\顧客登録" 
  Workbooks.Open Filename:="顧客登録.csv" 
  Set TKD = Workbooks("顧客登録.csv").Worksheets("顧客登録").Range("A:A") 
  Workbooks("販売データ入力.xlsm").Activate 
    Worksheets("売上CSV作成").Select 
    Cells.Select 
    Selection.Clear 
    myMsga = "売上伝票番号は何番ですか?" 
    myTitle = "売上登録" 
    myNOmf = Application.InputBox(prompt:=myMsga, Title:=myTitle, Type:=1) 
    myMsgaa = "販売先コードは何番ですか?" 
    myTitle = "売上登録" 
    myNOme = Application.InputBox(prompt:=myMsgaa, Title:=myTitle, Type:=1) 
    myMsgab = "税金は何パーセントですか?8 or 10" 
    myTitle = "売上登録" 
    TAX = Application.InputBox(prompt:=myMsgab, Title:=myTitle, Type:=1) * 1 / 100 
    Ans = MsgBox("特別価格対応の売上伝票ですか?", vbYesNo + vbExclamation, "確認") 
  Workbooks("顧客登録.csv").Worksheets("顧客登録").Activate 
    s = Application.WorksheetFunction.Match(myNOme, TKD, 0) 
    myCostom = Range("I" & s).Value ActiveWorkbook.Close 
    myYear = Year(Date) 
    myMonth = Month(Date) 
    myDay = Day(Date)

 

売上CSVの入力データの設定の部分になります。

多くの項目がありますが、必要項目のみ設定していきます。

商品価格の計算について価格を設定するためのパラメーターがいくつかあります。

  • Webから取り出した「作業シート」にある価格は元々の本体価格です。
  • 「操作ボタン」シートにある特別価格対応表から特定得意先の対応価格データを取り込みます。
  • 消費税が何パーセント(書誌は10%ですが)かをチェックします。

 

MEMO

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

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

Round関数の使い方についてはこの記事を参考にしてください。

vbaroundeyecatchエクセルVBA 数値を四捨五入したい時のRound関数の使い方と注意点

 

コード
Workbooks("販売データ入力.xlsm").Activate
  Worksheets("作業シート").Select
  LRowa = Range("B1").CurrentRegion.Rows.Count - 1
  For n = 1 To LRowa
   SYO = Sheets("作業シート").Cells(n + 1, 2).Value
   Worksheets("売上CSV作成").Select
   Cells(n + 1, 1).Value = myNOmf '売上伝票番号
   Cells(n + 1, 2).Value = myYear & "/" & myMonth & "/" & myDay '売上伝票発行日
   Cells(n + 1, 3).Value = 2 '売上伝票区分(通常売上)
   Cells(n + 1, 6).Value = 0
   Cells(n + 1, 7).Value = 0
   Cells(n + 1, 8).Value = 1
   Cells(n + 1, 11).Value = myNOme '得意先コード
   Cells(n + 1, 12).Value = myCostom '得意先名
   If TAX = 8 * 1 / 100 Then
     Tcode = 3
   Else
     Tcode = 4
   End If
   Cells(n + 1, 13).Value = Tcode '消費税設定 '
   Cells(n + 1, 16).Value = 1
   Cells(n + 1, 17).Value = myNOme '売上請求先コード
   Cells(n + 1, 18).Value = myCostom '売上請求先名
   Cells(n + 1, 19).Value = 0
   Cells(n + 1, 20).Value = DateSerial(Year(Now), Month(Now) + 1, 1) - 1 '請求締め日月末
   Cells(n + 1, 25).Value = myYear & "/" & myMonth & "/" & myDay '商品発送予定日(本日設定)
   Cells(n + 1, 26).Value = 1 '商品発送済チェックマーク
   Cells(n + 1, 30).Value = "お買い上げありがとうございます"
   Cells(n + 1, 32).Value = n
   Cells(n + 1, 33).Value = 1
   Cells(n + 1, 36).Value = Worksheets("商品CSV作成").Cells(n + 1, 1) '商品台帳商品コード
   Cells(n + 1, 37).Value = Left(SYO, 20) '販売王は商品名は20文字まで入力可
   myMsgac = "「" & SYO & "」 の売上冊数は" myTitle = "売上登録"
   myNOMd = Application.InputBox(prompt:=myMsgac, Title:=myTitle, Type:=1)
   Cells(n + 1, 47).Value = myNOMd '販売数量
   Cells(n + 1, 51).Value = 2 '課税区分(税込)
   Cells(n + 1, 52).Value = 9 '簡易課税事業区分
 '商品価格計算のコード
   If Ans = vbNo Then
     TB = 0
     GoTo step1
   End If
   Worksheets("操作ボタン").Select
   On Error Resume Next
   tr = Application.WorksheetFunction.Match("得意先コード", Range("I:I"), 0)
   On Error GoTo 0
   If tr = 0 Then
     MsgBox "I列に項目名「得意先コード」で表を作成してください。"
     MsgBox "売上CSVデータ作成を終了します。"
     Module6.売上CSV作成クリア
     Exit Sub
   End If
   SRow = Cells(Rows.Count, 9).End(xlUp).Row
   Set INR = Range("I1", "I" & SRow)
   TB = 0
   On Error Resume Next
   t = Application.WorksheetFunction.Match(myNOme, INR, 0)
   On Error GoTo step1
   Worksheets("操作ボタン").Select
   NBK = Range("K" & t).Value * 1 / 100
   TB = WorksheetFunction.Round(Worksheets("作業シート").Cells(n + 1, 5) * (1 - NBK), 0)
   TBP = WorksheetFunction.Round(TB * (1 + TAX), 0)
   Worksheets("売上CSV作成").Select
   Cells(n + 1, 49).Value = TBP 
step1:
   Worksheets("売上CSV作成").Select
   If TB = 0 Then
     TBPa = WorksheetFunction.Round(Worksheets("作業シート").Cells(n + 1, 5) * (1 + TAX), 0)
     Worksheets("売上CSV作成").Select
     Cells(n + 1, 49).Value = TBPa
   End If
   Cells(n + 1, 54).Value = Cells(n + 1, 47) * Cells(n + 1, 49)
 '商品価格計算のコードここまで
  Next n

 

CVSデータの項目を一行目に表示するようにするコードです。

データ入力を完了した「売上CSV作成」シートをCSVファイルとして外部に書き出します。

この「販売データ入力.xlsm」と同じディレクトリにフォルダ「販売王売上登録CSV」を作成して、そこに保存先を指定します。すると、

自動的にファイル名が「売上登録_(得意先コード)-年月日-登録時間.csv」で保存されます。

登録時間をファイル名に入れていますので、時間差(分差)で同じデータを別名ファイルに保存することができます。

外部に書き出したCSVファイルですが、”VBAのコード命令で自動保存させる”ことは当然できますが、ここでは敢えて手動で保存終了する様にしています。

この売上CSVデータの中に日付情報が含まれていますが、その日付表記がVBAで自動保存すると日本式表記がアメリカ式に変換されてしまいます。

恐らく、エクセルの仕様だと思います。

 

MEMO

フォルダをダイアログ指定する方法はこちらの記事を参考にしてください。

vbafoldereyecatchExcel VBA 保存先フォルダをダイアログ指定で変数化

 

コード
    Cells(1, 1).Value = "売上伝票.売上伝票番号"
    Cells(1, 2).Value = "売上伝票.売上伝票日付"
    Cells(1, 3).Value = "売上伝票.売上伝票区分"
    Cells(1, 4).Value = "売上伝票.統一伝票区分"
    Cells(1, 5).Value = "売上伝票.統一伝票分類コード"
    Cells(1, 6).Value = "売上伝票.直送指定"
    Cells(1, 7).Value = "売上伝票.委託区分"
    Cells(1, 8).Value = "売上伝票.赤伝票指定"
    Cells(1, 9).Value = "売上伝票.赤伝対応伝票番号"
    Cells(1, 10).Value = "売上伝票.見積番号"
    Cells(1, 11).Value = "売上伝票.得意先コード"
    Cells(1, 12).Value = "売上伝票.得意先名"
    Cells(1, 13).Value = "売上伝票.税率区分コード(明細)"
    Cells(1, 14).Value = "売上伝票.発送先コード"
    Cells(1, 15).Value = "売上伝票.発送先名"
    Cells(1, 16).Value = "売上伝票.自社担当者コード"
    Cells(1, 17).Value = "売上伝票.請求得意先コード"
    Cells(1, 18).Value = "売上伝票.請求得意先名"
    Cells(1, 19).Value = "売上伝票.随時請求区分"
    Cells(1, 20).Value = "売上伝票.請求予定日"
    Cells(1, 21).Value = "売上伝票.請求書発行日"
    Cells(1, 22).Value = "売上伝票.請求書発行済み"
    Cells(1, 23).Value = "売上伝票.請求先送月数"
    Cells(1, 24).Value = "売上伝票.回収日締切"
    Cells(1, 25).Value = "売上伝票.発送予定日"
    Cells(1, 26).Value = "売上伝票.発送済"
    Cells(1, 27).Value = "売上伝票.納品書発行済み"
    Cells(1, 28).Value = "売上伝票.付箋1"
    Cells(1, 29).Value = "売上伝票.付箋2"
    Cells(1, 30).Value = "売上伝票.摘要"
    Cells(1, 31).Value = "売上伝票.広告企画区分"
    Cells(1, 32).Value = "売上伝票.売上明細番号"
    Cells(1, 33).Value = "売上伝票.売上明細区分"
    Cells(1, 34).Value = "売上伝票.倉庫コード"
    Cells(1, 35).Value = "売上伝票.発送済"
    Cells(1, 36).Value = "売上伝票.商品コード"
    Cells(1, 37).Value = "売上伝票.商品名"
    Cells(1, 38).Value = "売上伝票.規格・型番"
    Cells(1, 39).Value = "売上伝票.カラー"
    Cells(1, 40).Value = "売上伝票.サイズ"
    Cells(1, 41).Value = "売上伝票.計算式コード"
    Cells(1, 42).Value = "売上伝票.計算値1"
    Cells(1, 43).Value = "売上伝票.計算値2"
    Cells(1, 44).Value = "売上伝票.計算値3"
    Cells(1, 45).Value = "売上伝票.販売入数"
    Cells(1, 46).Value = "売上伝票.箱数"
    Cells(1, 47).Value = "売上伝票.数量"
    Cells(1, 48).Value = "売上伝票.数量単位"
    Cells(1, 49).Value = "売上伝票.単価"
    Cells(1, 50).Value = "売上伝票.原単価"
    Cells(1, 51).Value = "売上伝票.課税区分"
    Cells(1, 52).Value = "売上伝票.簡易課税事業区分"
    Cells(1, 53).Value = "売上伝票.備考"
    Cells(1, 54).Value = "売上伝票.金額"
    Cells(1, 55).Value = "売上伝票.粗利益"

'csvで別ホルダーにデータシート出力

Dim Shell As Object
Dim FolderPath As String
    Set Shell = CreateObject("Shell.Application") _
    .BrowseForFolder(0, "フォルダを選択してください", 0, ThisWorkbook.Path & "\販売王売上登録CSV")
If Shell Is Nothing Then
     FolderPath = ""
Else
    FolderPath = Shell.Items.Item.Path
End If

Dim FN As String
ChDir ThisWorkbook.Path & "\販売王売上登録CSV"
    Workbooks.Add
    ActiveSheet.Select
    Range("B:B").Select
    Selection.NumberFormat = "@"
    Range("T:T").Select
    Selection.NumberFormat = "@"
    FN = Format(Now(), "yymmdd-hhmm")
    ActiveWorkbook.SaveAs Filename:=FolderPath & "\" & "売上登録_" & myNOme & "-" & FN & ".csv", _
    FileFormat:=xlCSV, CreateBackup:=False

Workbooks("販売データ入力.xlsm").Activate
    Sheets("売上CSV作成").Select
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Workbooks("売上登録_" & myNOme & "-" & FN & ".csv").Activate
    Worksheets("売上登録_" & myNOme & "-" & FN).Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Range("B:B").Select
    Selection.NumberFormatLocal = "yyyy/m/d"
    Range("T:T").Select
    Selection.NumberFormatLocal = "yyyy/m/d"
    Range("Y:Y").Select
    Selection.NumberFormatLocal = "yyyy/m/d"
    Range("A1").Select
    Workbooks("販売データ入力.xlsm").Activate
    Worksheets("操作ボタン").Select
    Range("A1").Select
    Workbooks("売上登録_" & myNOme & "-" & FN & ".csv").Activate
    MsgBox "このCSVは手動で終了させてください。"
End Sub

 

Module5のこのVBA実行のためのボタン用のコードを、Module4に記述しておきます。

最終的にModule4の記述はこのようになります。

コード
Sub 商品登録CSV()

Module2.商品登録csv作成マクロ
Module3.データCSV化

End Sub
コード
Sub 売上登録CSV()

Module5.売上CSV作成

End Sub

 

CSVデータ消去のエクセルVBAコード

 

データ消去についてのコードを作成します。

 

MEMO

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

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

 

Module6に記述する

「作業シート」のクリアのコード

コード
Sub 作業シートクリア()

    Worksheets("作業シート").Cells.Clear
    With Worksheets("作業シート")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
    Range("A1").Select

End Sub

 

「商品CSV作成」シートのクリアのコード

コード
Sub 商品CSV作成クリア()

    Worksheets("商品CSV作成").Cells.Clear
    With Worksheets("商品CSV作成")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
    Range("A1").Select

End Sub

 

「売上CSV作成」シートのクリアのコード

コード
Sub 売上CSV作成クリア()

    Worksheets("売上CSV作成").Cells.Clear
    With Worksheets("売上CSV作成")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
    Range("A1").Select

End Sub

 

最終的に「操作ボタン」シートはこのような感じになります。

hanbaicusuri004na

 

ここまでのまとめ

 

 

この記事のVBAコードを実行することで、

販売王の外部テキストデータ入力機能を使って、商品登録から、売上伝票作成までの一貫した作業ができるようになりました。

 

悩める君

何かちょっと 見えてきたかな。

 

このエクセルVBAソフトを使って外部データをCSVテキストデータ化して販売王にインポートするという方法で、

今まで、販売王で一番ネックだった登録作業という時間のかかりすぎる業務が大幅に改善されると思います。

ちょっと期待してもいいかもです。

 

販売管理ソフトの「販売王」の利用ワザで、こんな効率アップ策があることにき気づいていましたか?

じゅんぱ店長

 

 

大変長文になりました。

このソフトの一貫した使い方の説明は、改めて記事にアップいたします。

その記事で、作成完成済のソフトもダウンロードできるようにする予定です。

 

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