|
>合 計 1420 25 ← この行を出す
のようになっているなら、B列で「合 計」の文字を探すやり方でも良いでしょう。
注意点として、Match関数で検索すると高速に処理できる代わりに、完全一致で
ないとヒットしませんから、"合" と "計" の間のスペースを全角にしておいて下さい。
そのような前提でコードを書き変えますと・・
Sub Auto_Close()
Dim j As Integer
Dim x As Variant
For j = 2 To Worksheets.Count
With Worksheets(j)
x = Application.Match("合 計", .Columns(2), 0)
If Not IsError(x) Then
If x <> 1001 Then
.Range("B" & x).Resize(, 4).ClearContents
.Range("B1001").Value = "合 計"
.Range("C1001:E1001").Formula = "=SUM(C$4:E$1000)"
End If
Else
.Range("B1001").Value = "合 計"
.Range("C1001:E1001").Formula = "=SUM(C$4:E$1000)"
End If
End With
Next i
End Sub
ということに、なります。
>数字とTypeの相対関係
VBE画面で F2キーを押すと出てくる「オブジェクト・ブラウザ」に出ていますが、
ちょっと目的の記述を出すのが面倒ですから、ここへ書いておきます。
xlCellTypeConstants = 2
xlCellTypeFormulas = 3
xlCellTypeBlanks = 4
xlCellTypeLastCell = 11
xlCellTypeVisible = 12
xlCellTypeAllFormatConditions = -4172
xlCellTypeAllValidation = -4174
xlCellTypeSameValidation = -4175
xlCellTypeComments = -4144
xlCellTypeSameFormatConditions = -4173
>xlCellTypeConstants = 2
>xlCellTypeFormulas = 3
の2つは、第二引数を指定することが出来ますが、どちらも数値の場合は 1
文字列の場合は 2 です。(それ以外は割愛します)
従って例えば「定数」「文字列」のみ入力されている範囲なら
SpecialCells(2, 2)
「数式」の結果が「数値」なら
SpecialCells(3, 1)
で、取得できます。
なお私は自営業ですので、時間は比較的自由に使えます。不眠症みたいになることも
ありますので、結果としてレスする時間がめちゃくちゃになります。あしからず。
|
|