VlookUpを使わないで -その3- コマンドボタン


エクセルを使っていて・・良く使うのがVlookUpですが・・
どうしても表計算関数が動くので遅い!
ファイル自体が重くなる・・という事がある。

VlookUpを使わないで商品を表記させる為には・・

まず、表を作成するための
コマンドボタンから作成。

1.開発リボンから

2.デザインモード → 挿入

3.ActiveX のコマンドボタンを選び

4.Sheet1のところでドラッグ

5.するとコマンドボタンが出来るのでダブルクリック

6.するとVBAが開き コマンドボタンをクリックした場合のイベントが表記される

7.その中にコードを書き込みをしますが・・その前にボタンの表記を変更するので
  左側にあるプロパティからCaptionを選び、下図の青の部分をかきかえる。

8.表の作成

9.するとボタンの表記が変わる。

10.今度は、標準モジュールを追加します。

11.標準モジュールにModule1が追加される。

12.その中にコードを書き込む

‘以下コード
‘————————————————————————–

Sub HyouSet() ‘表の作成をする

‘ 20210202 Motohiro

‘変数の宣言
Dim i As Long ‘行のループカウント
Dim GyouSu As Long ‘行数
Dim LastRow As Long ‘合計を書いている最終行

‘出力行数をセット
GyouSu = InputBox(“出力する行数は?”, “行数の入力”, “6”)
‘出力行数から最終行をセットする
LastRow = GyouSu + 6

With Sheets(“Sheet1”)
‘行列の幅を設定
Columns(“A:A”).ColumnWidth = 0.46
Rows(“1:1”).RowHeight = 5.25
Columns(“B:B”).ColumnWidth = 3.5
Columns(“C:C”).ColumnWidth = 15.5
Columns(“D:D”).ColumnWidth = 38.13
Columns(“J:J”).ColumnWidth = 18.25

‘記載項目をセット
Range(“B5”) = “No.”
Range(“C5”) = “コード”
Range(“D5”) = “商品名”
Range(“E5”) = “入数”
Range(“F5”) = “c/s数”
Range(“G5”) = “バラ数”
Range(“H5”) = “数量”
Range(“I5”) = “単価”
Range(“J5”) = “計”
Range(“K5”) = “税区分”
Range(“D2”) = “納品書”
Range(“C3”) = “株式会社 流通技研 御中”
Range(“I2”) = “納品日”
Range(“J2”) = Date
Range(“I3”) = “株式会社 土日ジャンボ市”
.Cells(GyouSu + 6, 9) = “合計金額”

‘行番号をセット
For i = 6 To GyouSu + 5
.Cells(i, 2) = i – 5
Next i
End With

‘各種書式設定
With Sheets(“Sheet1”).Range(Cells(2, 3), Cells(2, 5))
.HorizontalAlignment = xlCenter ‘水平位置、中央揃え
.VerticalAlignment = xlCenter ‘垂直位置、中央揃え
.ReadingOrder = xlContext
.Merge ‘セルの結合処理
.Interior.Pattern = xlSolid ‘格子
.Interior.PatternColorIndex = xlAutomatic
.Interior.ThemeColor = xlThemeColorDark1
.Interior.TintAndShade = -4.99893185216834E-02 ‘色設定
.Interior.PatternTintAndShade = 0
End With

With Sheets(“Sheet1”).Cells(3, 3)
.Font.Name = “游ゴシック” ‘フォント
.Font.Size = 14 ‘サイズ
.Font.Underline = xlUnderlineStyleSingle ‘下線
End With

With Sheets(“Sheet1”).Cells(3, 9)
.Font.Name = “游ゴシック”
.Font.Size = 12
.Font.Underline = xlUnderlineStyleSingle
End With

With Sheets(“Sheet1”).Cells(2, 10)
.NumberFormatLocal = “[$-x-sysdate]dddd, mmmm dd, yyyy” ‘書式設定 年月日としておく
.Font.Underline = xlUnderlineStyleSingle ‘下線
End With

‘ここからは罫線設定 格子、外枠中太線
With Sheets(“Sheet1”).Range(“B5:K” & LastRow – 1 & “,I” & LastRow & “,J” & LastRow & “,K” & LastRow)
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).Weight = xlThin

.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
End With

‘項目名のセンター配置設定
With Sheets(“Sheet1”).Range(“B5:K5”)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub

‘————————————————————————–
 

13.書き込んだらデザインモードを終了させ、コマンドボタンをクリックしてみると
  インプットボックスで行数を求められてくるので、行数を入れる。

14.6を入れたので6行伝票ができました。

,

コメントを残す

メールアドレスが公開されることはありません。

2021年2月
1234567
891011121314
15161718192021
22232425262728
最近の記事
カテゴリ
月別アーカイブ