見積書の表に入力する際、Enterキーで横に移動し、行の最後入力したら次の行の先頭に移動するマクロを作成していたのですが、うまく動きません
ネットで検索してコードをコピーして、そのままだと動くのですが、セルを変更したりすると動いてみたり、エラーが出たり…
チェックボックスを作成して、チェックが入っている時のみマクロが動くコードを教えて下さい!
どうぞよろしくお願いいたします
表の範囲➡ A15:K35
入力したい順➡ A15,F15,G15,H15,K15,A16,F16,G16,H16……K35(A列とH列はそれぞれ結合セル)
チェックボックスの希望の場所➡ J13(K13に表示)
No.3ベストアンサー
- 回答日時:
こんにちは
マクロを作成したが、エラーや動作が思うようにいかないと言う事ですね
考えられるのは(ご存知かと思いますが)
>(A列とH列はそれぞれ結合セル)
結合セルを選択している時、1番上の左側セルが返るので、
Application.MoveAfterReturnDirection = xlToRight
などで右移動を設定してもF列セルに移動した時、A列結合セルの一番上の行になってしまうと思います。
従って、行が下に進まないまま選択セルが移行します。
やるのなら・・
入力シートに結合セルを作らない事(もう作っちゃた)
範囲選択や名前選択で実行(グレーになるから嫌)
結合セルを省く処理(除くと選択できないからダメ)
などになると思います。
セルにグレーの色がつかない方法でとの事で力業のような(実用的でない)限定的コードですがサンプルを・・参考になるか分かりません
A15:K35の途中で他のセルを選択し直す時の処理は入れていません
結合セル数が不明な為、モジュールレベル変数nで行移動
チェックボックスはActivexコントロール
シートイベントWorksheet_SelectionChange 併用
Option Explicit
Dim flg As Boolean, n As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If flg <> True Then Exit Sub
If Intersect(Target, Range("F15:F35"), Range("I15:I35")) Is Nothing Then
Application.EnableEvents = False
Cells(15 + n, Target.Column).Select
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("K15:K35")) Is Nothing Then n = n + 1
End Sub
Private Sub CheckBox1_Click()
Application.MoveAfterReturn = True
If CheckBox1 = True Then
n = 0
flg = True
With ActiveSheet
.Range("A15:A35,F15:K35").Locked = False
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlUnlockedCells
End With
Application.MoveAfterReturnDirection = xlToRight
Else
n = 0
flg = False
ActiveSheet.Unprotect
Cells.Locked = True
Application.MoveAfterReturnDirection = xlDown
End If
Application.EnableEvents = False
Range("A15").Select
Application.EnableEvents = True
End Sub
不具合があるかも知れませんので、あれば、直してください
ありがとうございます!
やりたいことを理解してくださって感謝しています
早速コードを記入し、私がお伝えしきれていなかった部分を直しているところです
本当にありがとうございました
No.2
- 回答日時:
こんばんは
どのようなレイアウトなのか不明ですが・・
標準のカーソルの移動方向は、エクセルの機能でEnter時の移動方向を横に設定しておくことで可能です。
>そのままだと動くのですが、~~
いずれにしろ、カーソル移動の制御をなさりたいのでしょうから、単純な矩形の範囲の入力であれば、
「最後の列をを過ぎたら」を範囲に応じて判定すれば良いでしょう。
範囲がいろいろバラバラであるのなら、各行ごとに最終列か否かを判断するようにすれば良いでしょう。
>チェックが入っている時のみマクロが動くコードを教えて下さい!
簡単な仕組みを追加すれば実現可能です。
処理の最初に、「チェックが入っているか」をチェックし、入っていなければ何も処理を行わないようにすれば良いだけです。(=カーソルの制御をおこなわない)
「何をどうしたいのか」がはっきりとはわかりませんけれど、入力時などに指定セル以外は選択できないようになさりたいのなら、エクセルの機能だけでも実現可能です。
・カーソル移動を許可するセルだけをロックを外しておいて
・「シートの保護」で「ロックされたセルの選択」を不許可に
することで、指定セル以外にはカーソルが行かなくなります。
(セルが飛び飛びでも、あちこちにあっても可能です)
標準のカーソル移動方向を横にしておけば、「移動可能なセル」だけに順に移動するようになります。
No.1
- 回答日時:
マクロなんて作らなくても出来ますよ。
Enterでのカーソル移動方向を「横」にしておいて、入力したい範囲をドラッグで設定してから入力すれば、左上から右に向かって入力が進み、範囲設定した右端に行けば、次のEnterで一段下の左端に移動して入力を続けられますよ。
MS-Excelの標準的な使い方です。
早速ありがとうございます
お伝えするのを忘れてしまったのですが、
範囲を指定してから入力する方法、範囲に名前を付けて入力する方法も知っていたのですが、セルに色がつかない状態での入力をしたかったので、マクロを作成を試しておりました
言葉がたらずに申し訳ございません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) Excelのマクロについて:コピー→セル移動→貼り付け 3 2022/04/17 20:46
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
Excelマクロ セルを行頭に移動
Excel(エクセル)
-
Excelでセルを次の行の先頭の列に移動させる方法を教えてください。
Excel(エクセル)
-
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
-
4
エクセルでエンターを押すと任意のセルに移動は出来ますか?
その他(コンピューター・テクノロジー)
-
5
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
6
Enterキーで順番にセルの移動する。
Visual Basic(VBA)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセルでセルのコメントが消...
-
シートを保護しても入力規則を...
-
エクセルの入力規則で作ったリ...
-
エクセルで負数の最大値を求めたい
-
エクセル 入力規則のリストボ...
-
カンマで区切った数値をCOU...
-
フォーム入力で入力規則を設定...
-
入力規則の入力時メッセージの...
-
EXCELで kg、個、本な...
-
ドロップダウンリスト(INDIREC...
-
Excelで同じセルに入力し エン...
-
ある数値が、また別の二つの数...
-
エクセル逆三角マークで選択項...
-
エクセルのポップアップを出な...
-
Excelでセルに名前を定義したい...
-
エクセルで、入力できる箇所を...
-
エクセルで商品名を選ぶと商品...
-
エクセルで。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセルでセルのコメントが消...
-
エクセルVBA ブックを閉じる前...
-
シートを保護しても入力規則を...
-
エクセル逆三角マークで選択項...
-
カンマで区切った数値をCOU...
-
【Excel】ドロップダウンリスト...
-
エクセル 入力規則のリストボ...
-
入力規則の入力時メッセージの...
-
エクセルで、入力できる箇所を...
-
エクセルで電話番号から市内局...
-
エクセルの入力規則で作ったリ...
-
エクセルで。
-
エクセルのセルの手入力を禁止。
-
エクセルVBA ユーザーフォーム...
-
ドロップダウンリスト(INDIREC...
-
Excel 自動的に半角英数になり...
-
エクセルで、入力制限(プルダ...
-
フォーム入力で入力規則を設定...
おすすめ情報
範囲指定して入力する方法、範囲に名前を付けて入力する方法
は試したのですが、セルにグレーの色がつかない方法での入力を考えております
どうぞよろしくお願いいたします