Sub Sample1()
Dim tmp() As String, s As Variant, n As Long
tmp = Split("tanaka,suzuki,yamada", ",")
For Each s In tmp
n = UBound(tmp) + 1
ReDim Preserve tmp(n)
tmp(n) = s & "様"
Next s
End Sub
あまり出会わないエラーでしょうね。
ヘルプで解説されているように、他のプロシージャに配列を渡すようなときに発生するようですが、そうした使い方は決して一般的ではないでしょう。ある配列を複数のプロシージャで共有するようなときは、引数で渡すよりも広域変数にした方が管理しやすいですからね。
配列を引数で渡すとき以外では、上のSample1のように、For Nextステートメントで操作している配列を、For Each内でReDimするようなときでしょうか。For Eachのコレクションに指定した配列はロックされますので、For Eachが終わるまでは変更できません。For Nextならロックされないらしいです。