[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルをコントロールキーで選択した場合のカーソルの移動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.