投稿/コメントを表示します。

お世話になります。
動画では取り扱われていなかった内容で恐縮ですが、例えばエクセルシートのA1セルに氏名が表示されたら、イベント機能でシート名が苗字に変更されるコードを書きたいのですが、うまくいきません。

Left関数で左から2桁を取ってくるコードはうまく動きましたが、苗字が3文字あるいは1文字の方についてもうまく表示されるよう、Find関数を使って、空欄の前まで取ってくるコードを取り入れたのですが、(通常の関数ではうまくいくのですが)エラーで止まってしまいます。
イベント機能時はFind関数は使用できないでしょうか?

エラー表示:コンパイルエラー、subまたはfunctionが定義されていません。
(苗字2文字設定)正常に動きます
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
ActiveSheet.Name = Left(Range("A1"), 2)
End Sub


(苗字3文字・1文字対応)正常に動きません
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
ActiveSheet.Name = Left(Range("A1"), Find("  ", Range("A1")) - 1)
End Sub
2020/06/18 01:13