|
んー・・そうするとコピー元シートを特定してしまうようなコードも、マズイという
ことでしょーか ? ならば「アクティブシートの名前の文字、左3文字が 200 である
ことを確認し」立替金シートのB2以下、B列の最終入力行 + 1 へ追加貼り付けする。
というコードに改造するとして・・
Sub Test_Data_Copy()
Dim TgR As Range
If Left$(ActiveSheet.Name, 3) <> "200" Then
MsgBox "シート名が年月になっているシートを開いて下さい", 48
Exit Sub
End If
With Worksheets("立替金")
If IsEmpty(.Range("B2").Value) Then
Set TgR = .Range("B2")
Else
Set TgR = .Range("B65536").End(xlUp).Offset(1)
End If
End With
On Error GoTo ELine
With Range("AC3:AC140")
.Formula = "=IF(ISERR(SEARCH(1162,$C3)),"""",1)"
Intersect(.SpecialCells(3, 1).EntireRow, Range("B:D")) _
.Copy TgR
.ClearContents
End With
ELine:
If Err.Number <> 0 Then
MsgBox "C列に 1162 が入力されたセルはありません", 48
End If
Set TgR = Nothing
End Sub
|
|