|
'追加ボタンの処理
Private Sub CommandButton1_Click()
Dim 背景色 As Long, i As Integer '背景色
Dim 追加カウンタ As Range 'Count用の変数設定、9行づつ
Dim 削除カウンタ As Integer ' '追加SUMの13文字削除用のカウンタ、13づつマイナス
Dim 基点 As Integer '基点セル定数設定
Dim 人数 As Range
'人数
'' 人数 = Cells(20, 6)
Set 人数 = ThisWorkbook.Worksheets("data").Cells(1, 2)
人数 = 人数 + 1
'追加ボタン用、行ずらしカウンター(9行づつ)
Set 追加カウンタ = ThisWorkbook.Worksheets("data").Cells(2, 2)
追加カウンタ = 人数 * 9
'削除ボタン用,文字数削除カウンター(13文字づつ)
削除カウンタ = Cells(18, 7)
削除カウンタ = 人数 * 13
Cells(18, 7) = 削除カウンタ
基点 = 追加カウンタ - 5
If 人数 = 1 Then 'qの値が-13なら以下の処理
Else '基点からの通常処理
'総計名称移動
Range(Cells(基点, 3), Cells(基点 + 4, 3)).Cut Cells(基点 + 9, 3)
'給料項目取得
Range(Cells(基点 - 9, 3), Cells(基点 - 1, 3)).Copy Cells(基点, 3)
'総計式に追加するSUM関数を文字列に変換するための変数宣言
Dim 追加基本給 As String, 追加税金 As String, 追加諸手 As String
Dim 基本給範囲 As String, 税金範囲 As String, 諸手範囲 As String '(D?:D?)
Dim SUM関数 As String 'SUM()
Cells(基点, 4).Select
'範囲選択したセルから座標データ取得
Selection.Resize(3, 1).Select
基本給範囲 = Selection.Address(False, False)
Selection.Resize(4, 1).Offset(3).Select
税金範囲 = Selection.Address(False, False)
Selection.Resize(2, 1).Offset(4).Select
諸手範囲 = Selection.Address(False, False)
SUM関数 = "+SUM()"
'取得した座標データを文字列のフォーマットに加工
追加基本給 = strInsert(SUM関数, 5, 基本給範囲)
Cells(12, 7) = 追加基本給
追加税金 = strInsert(SUM関数, 5, 税金範囲)
Cells(12, 9) = 追加税金
追加諸手 = strInsert(SUM関数, 5, 諸手範囲)
Cells(12, 11) = 追加諸手
'--総計式移動--
'基本給計の一人分の数式追加
Cells(基点 + 10, 4) = Cells(基点 + 1, 4).Formula + 追加基本給
'税金・社会保障計一人分の数式追加
Cells(基点 + 11, 4) = Cells(基点 + 2, 4).Formula + 追加税金
'諸手当計一人分の数式追加
Cells(基点 + 12, 4) = Cells(基点 + 3, 4).Formula + 追加諸手
'支給総計、数式設定一人分の数式追加
Cells(基点 + 13, 4) = "=" & Cells(基点 + 10, 4).Address(False, False) _
& "-" & Cells(基点 + 11, 4).Address(False, False) _
& "+" & Cells(基点 + 12, 4).Address(False, False)
End If
'罫線作成
Cells(基点, 2).Select ' 枠位置
ActiveCell.Resize(9, 3).BorderAround Weight:=xlThin
'ずらした時に残った総計の値をクリア
Range(Cells(基点 + 1, 4), Cells(基点 + 4, 4)).ClearContents '総計クリア
Range(Cells(基点, 2), Cells(基点 + 8, 2)).Merge '名前のセル結合
背景色 = Range("B4").Interior.Color '背景色数値取得
Cells(基点, 2).Interior.Color = 背景色 '色数値を対象セルにリリース
Cells(基点, 2) = "さん" '名前設定
Cells(基点, 2).HorizontalAlignment = xlCenter '顧客名セル中央配置
Cells(基点, 2).Font.Bold = True '顧客名文字太字
Range("D:D").NumberFormatLocal = "\#,##0;\-#,##0" '\設定
End Sub
この処理をいくつかに区切ったプロシージャで表示したいのです。
|
|