Excel VBA 自動作成
拡張機能編
目次
シートを新規ブックにコピーします。
処理した結果のシートを新規ブックに複数シート作成するとき使用します。
設定方法

結果
新規ブックに結果3〜結果6 が作成されました。

層別データを使って、入力データからヒストグラムを作成します。
入力表
入力データ (一部)

層別データ

設定方法

結果


入力データにフィルタをかけると、表示されているデータのみのヒストグラムが表示されます。
列の少ない大量のデータを印刷するとき、複数列に変更し、紙を節約します。
入力表

あらかじめフォーマットを作っておきます。

設定方法

作成されたプログラム
|
Sub 印刷表作成() Dim INS, OUS, ENDROW, INR, OUR, OUEN, K, C, CM, R, MR, ML, ST Application.ScreenUpdating = False Set INS = Sheets("Sheet8") '入力出力シート Set OUS = Sheets("Sheet9") '入力出力シート ENDROW = INS.Range("$A65536").End(xlUp).Row If ENDROW < 3 Then Exit Sub End If MR = 3 '列数 CM = 3 '繰返し数 ML = 45 '1ページの行数 INR = Array("A", "B", "C", "A", "B", "C", "A", "B", "C") '入力列 OUR = Array("A", "B", "C", "E", "F", "G", "I", "J", "K") ''出力列 OUEN = 3 ''出力開始行 'OUS.Range("A” & OUEN &":"& "IV" &"65536").CLEARCONTENTS '全消去 OUS.ResetAllPageBreaks '改ページ解除 ST = 3 '入力表開始行 Do For C = 1 To CM '繰返し数 For R = 1 To MR '列数 K = LBound(INR) + (R - 1) + (C - 1) * MR INS.Range(INR(K) & ST & ":" & INR(K) & ST + ML - 1).Copy OUS.Range(OUR(K) & OUEN).PasteSpecial Paste:=xlValues Next R ST = ST + ML Next C OUEN = OUEN + ML OUS.HPageBreaks.Add Before:=OUS.Range("A" & OUEN) Loop While ST <= ENDROW End Sub |
結果

改ページも自動挿入されます。
入力表を出力表に列、行を変えて転記します。縦横入替もできます。
入力表


設定方法


作成されたプログラム
|
Sub 表転記() Dim ins, ous, k, j Set ins = Sheets("Sheet3") Set ous = Sheets("Sheet4") ' ing = Array(7, 5, 4, 6) '入力行または列 INR = Array("A", "D", "C", "B") '入力列または行 oug = Array(4, 5, 6, 7) '出力行 OUR = Array("B", "D", "F", "H") '出力列
For k = LBound(OUR) To UBound(OUR) For j = LBound(oug) To UBound(oug) Set oud = ous.Range(OUR(k) & oug(j)) ''oud.Interior.ColorIndex = COL '色付 oud.Value = ins.Range(INR(k) & ing(j)).Value Next j Next k Application.ScreenUpdating = True End Sub |
結果
|
型式 |
価格 |
5月 |
|
4月 |
|
3月 |
|
QV3000EX |
10 |
44 |
|
88 |
|
333 |
|
E10 |
20 |
22 |
|
66 |
|
111 |
|
C3000ZOOM |
30 |
11 |
|
55 |
|
99 |
|
POWERSHOTS20 |
40 |
33 |
|
77 |
|
222 |
|
計 |
|
110 |
|
286 |
|
765 |
顧客等のキーをもとに、入力データを別のブックに保存します。
1ブック複数シートに分割も可能です。
入力表


設定方法

結果

顧客別にブック分割され、指定したホルダに保存される。

データA

データB

顧客の注文に在庫や注残を割り当てるなど予約の処理を実施します。
(予約を固定する機能はありません)
入力表
受注

在庫、注残

設定方法

結果
納入予定日を表示します。×は発注不足。
手配オーダーを表示するにはプログラムの修正が必要です。

右の数字は残数です。
プログラム例を出力します
|
全シートフィルタ解除 |
プログラムの先頭で、フィルタの解除、データの消去を実施する |
|
処理ブックアクティブ |
年月が付く等、名前が変わるブックのデータを処理する場合、そのブックをアクティブにする |
|
スリープ |
1mm秒待つ関数 |
|
出力ブック選択読込 |
出力するホルダを選択 |
|
csv出力 |
シートをCSVで出力 |
|
メニューバー |
メニューバーの表示 |
|
列NO列名変換 |
列のカラム番号を列名に変更 例 26-->"Z " 27-->"AA" |
|
上のホルダ |
上のホルダを求める 例 D:\DATA\AAA.TXT-->D:\DATA |
設定方法
使うプログラムを選択します。
