[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルをコントロールキーで選択した場合のカーソルの移動VBA』(しーちゃん)
セルをコントロールキーで選択した分をアクティブのセル内容を確認の為表示し、背景の色を変更し斜線を引き次のセルに移動するを繰り返す処理なのですが、繰り返す回数はカウントで問題ないですが通常のシート内でのアクティブセルの移動はエンターキーで動くと思いますが、VBA内でエンターキーでは移動しないのはなぜか?
選択セル A5、C7、E9、E11、G13 コントロールキーで選択を処理ボタンをクリックし、メッセージボックスで処理内容を表示、Yesは斜線を引き次のセルに移動したい、Noは次のセルに移動したい、キャンセルは終了のVBAで選択したセル数は5 最初のアクティブセルの内容を5回表示し各処理を5回で終わってしまう
< 使用 Excel:Excel2010、使用 OS:unknown >
選択する必要はないです
Option Explicit
Sub test() Dim c As Range
For Each c In Selection MsgBox c.Address Next
End Sub
(マナ) 2018/06/17(日) 22:40
?なんで手動でそのまま設定しないのですか?
セルの選択を失敗したときは「元に戻す」をすればよくないですか?
マクロを使うと「元に戻す」が使えなくなるので逆に不便な気がします。
(まっつわん) 2018/06/18(月) 10:46
Dim MsgRun As VbMsgBoxResult MsgRun = MsgBox("出勤処理しますか", vbYesNo + vbQuestion) Select Case MsgRun Case vbYes 'Call Application.OnKey("~", "Cmd0021") Call Cmd0021 Case Else Exit Sub End Select End Sub
Dim i As Long Dim ClAd As String Dim MsgRun As VbMsgBoxResult Dim Cnt As Range
'Cnt = 0 'i = Selection.Count 'Do Until i = Cnt For Each Cnt In Selection ClAd = ActiveCell.Value MsgRun = MsgBox(ClAd & "出勤処理しますか", vbYesNoCancel + vbQuestion) Select Case MsgRun Case vbYes ActiveCell.Interior.Color = 16777215 '白色 ActiveCell.Font.Color = 1 'フォント色:黒 'Cnt = Cnt + 1 'Application.SendKeys ("{Enter}") Case vbNo 'Cnt = Cnt + 1 'Application.SendKeys ("{Enter}") Case Else 'Call Application.OnKey("~") Exit Sub End Select 'Loop Next End Sub (しーちゃん) 2018/06/18(月) 12:35
For Each Cnt In Selection Cnt.Select ’←ーーーーーーーこれを挿入すればいいんじゃないですか? ClAd = ActiveCell.Value
(半平太) 2018/06/18(月) 16:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.