|
こんにちは。かみちゃん です。
>> With ActiveCell
>> ws1.Cells(i, 2).Resize(, 3).Value = Array(.Offset(, -1).Value, .Value, .Offset(, 3).Value)
>↑↑↑
>オブジェクト変数またはwithブロック変数が定義されてない、と出てここで止まってしまいます。
申し訳ありません。
変数ws1 と i の代入の順番を間違えていました。動作確認不足です。
以下のように修正してください。
'◆標準モジュール
Option Explicit
Public i As Long
Public ws1 As Worksheet
Sub Sample()
If Not Application.Intersect(Range("B3:B100"), ActiveCell) Is Nothing Then
Set ws1 = Worksheets("history")
i = ws1.Range("B65536").End(xlUp).Row + 1
If i < 5 Then
i = 5
End If
With ActiveCell
ws1.Cells(i, 2).Resize(, 3).Value = Array(.Offset(, -1).Value, .Value, .Offset(, 3).Value)
ws1.Cells(i, 2).Offset(, 7).Value = .Offset(, 5).Value
End With
UserForm1.Show
Else
MsgBox "B3〜B100セルのいずれかをアクティブにしてください。"
End If
End Sub
サンプルファイルで動作確認をいたしました。
|
|