ここから本文です

エクセルのデータシートで1行入力後自動で一行下の先頭に戻るようにしていますが ...

neg********さん

2011/11/623:17:23

エクセルのデータシートで1行入力後自動で一行下の先頭に戻るようにしていますが
シートの一番左の行番号の列を選択すると「・・・読み取り専用・・」のエラーが出ます。回避方法ありますか?

エクセルのデータシートで、B3:F500 を手入力エリアとし(ロック外してます)、シート全体は保護をかけてます。

VBAで、例えばB3~F3までデータを入力しENTERを押すと(カーソルは右移動設定)
一行下のB4に移動する様にしています。

Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Intersect(Target, Range("G3:G500")) Is Nothing Then
Goto ・・・・・・・・
Else・・・・・・・・・・・・

という感じにしています。

しかしシートの一番左の行番号が書いてあるセルをクリックすると
「・・・・読み取り専用となっています・・・・」のようなエラーが出ます。

ここで「終了」を選べば良いのですが「デバッグ」を選択するとVBAが見れてしまいます。
初心者がVBAプログラムをメチャメチャにする可能性があります。

しかしファイルは各部署で共有している都合でプログラムの開示にパスワード設定できません。

何かエラーを回避する方法ありますでしょうか?

(皆様)
込み入った話ですいません。私の問題は何とか理解できますでしょうか?
不足点あればご指摘願います。エクセル2000使用です。

閲覧数:
499
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

vcx********さん

2011/11/623:45:01

とりあえず On Error Resume Next でも追加しておくとか。

Private Sub Worksheet_selectionChange(ByVal Target As Range)
On Error Resume Next '追加
If Intersect(Target, Range("G3:G500")) Is Nothing Then

---

状況とコードは省略しないで質問した方が回答者の環境で再現させやすいです。
長すぎる場合は、現象が再現する最低限のコードを載せてもらえると答えやすいと思います。

Private Sub Worksheet_selectionChange(ByVal Target As Range)
Dim r As Range
On Error Resume Next
For Each r In Target
If Not Application.Intersect(r, Me.Range("G3:G500")) Is Nothing Then
r.EntireRow.Cells(2, 2).Select
End If
Next r
End Sub

質問した人からのコメント

2011/11/7 20:50:33

皆様感謝です。On Error Resume Next でエラーが出なくなりました。とても助かりました。本当にVBAは色々できるのですね。Range("B" & Target.Row + 1).Selectも使ってみます。現在アクティブセルのアドレスをGETしOFFSETで1行下の先頭に戻すという地道な方法を使用しています。

ベストアンサー以外の回答

1〜1件/1件中

kei_jun_kuuさん

2011/11/623:42:18

negibaseokonomiyakiさん

If Intersect(Target, Range("G3:G500")) Is Nothing Then
の次の行に
On Error Resume Next
を入れてやると、エラーを無視しちゃうから、、どうでしょう。。

または、こんな風にやるとエラーは出ないのでは…
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Intersect(Target, Range("G3:G500")) Is Nothing Then Exit Sub
Range("B" & Target.Row + 1).Select
End Sub
あんまり分かってないけど。^^;

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる