|
▼ほほえみ さん:
こんばんは。
>一つ教えて頂きたいのですが
>下記の様に手を加えてみました。
>1、rows.countをA列のデータ数を基準にする
>2、別シートからsheet1にあるデータを動作させる
>
>しかし、別シートから実行すると反応がありません。
>何がいけないでしょうか
Sub test()
Dim lastrow As Long
Dim mes_mem() As String
Dim crng As Range
Dim cnt As Long
Dim rng As Range
With Worksheets("sheet1")
lastrow = .Range("A65536").End(xlUp).Row
Set rng = .Range(.Range("E11"), .Cells(lastrow, "E"))
End With
If rng.Row >= 5 Then
cnt = 0
For Each crng In rng
With crng
If Evaluate("lenb(" & .Address(, , , True) & ")") > 20 Then
' ポイントは↑ここ
'別シートのセルを参照するときは、セルに入力する数式でも aaa!a1 というように
'シート名を含んだ参照が必要ですよね!! それと同じです。
ReDim Preserve mes_mem(1 To cnt + 1)
mes_mem(cnt + 1) = cnt + 1 & " : " & .Address & " = " & .Value
cnt = cnt + 1
End If
End With
Next
If cnt > 0 Then
MsgBox Join(mes_mem(), vbCrLf)
Else
MsgBox "no data"
End If
Erase mes_mem()
End If
End Sub
確認してみてください。
|
|