Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


36158 / 76732 ←次へ | 前へ→

【45757】Re:Enterだけで移動できる?
発言  じろう  - 07/1/13(土) 17:45 -

引用なし
パスワード
   ▼Kein さん:
Keinさん忙しいところすみません。
いまはチョットすぐ試せないので
また夜でも報告します。
ありがとうございました。

>あー・・どうも。イベントの動作に関しては理解できたようですね。
>で、今までは"特定の一枚のシート"でOnKeyを設定することを前提に
>していましたが
>>もう1sheetあるのですが
>ということなら、全体の構成を変更する必要があります。
>即ち
>
> 1 OnKeyを設定するマクロは、ThisWorkbookモジュールの Sheet_Activate
>  イベントにする。解除するマクロも Sheet_Deactivate にする。
> 2 Private Sub JmpCell は、改造して標準モジュールへ移動
>
>ということになります。で、現在仮に "Sheet1" と "Sheet2" のシートモジュール
>にそれらのマクロを入れているとして、まずそれら全てのマクロを削除して下さい。
>そして標準モジュールに以下のマクロを入れます。
>
>Sub JmpCell2(Snm As String)
>  If TypeName(Selection) <> "Range" Then Exit Sub
>  With ActiveCell
>   Select Case .Column
>     Case 3
>      If Snm = "Sheet1" Then
>        .Offset(, 1).Select '★追加
>      Else
>        .Offset(1).Select
>      End If
>     Case 5
>      If Snm = "Sheet2" Then
>        .Offset(, 2).Select '★ココ修正
>      Else
>        .Offset(1).Select
>      End If
>     Case 4, 6
>      .Offset(, 2).Select
>     Case 8
>      If Snm = "Sheet1" Then
>        .Offset(, 1).Select '★追加
>      Else
>        .Offset(1).Select
>      End If
>     Case 11
>      .Offset(1, -8).Select
>     Case 22
>      If Snm = "Sheet2" Then
>        .Offset(1, -21).Select '★ココ修正
>      Else
>        .Offset(1).Select
>      End If
>     Case 129
>      If .Row = 14 Then
>        .Offset(40, -3).Select
>      Else
>        .Offset(1).Select
>      End If
>     Case 126
>      Select Case .Row
>        Case 54, 56, 58, 60: .Offset(, 11).Select
>        Case Else: .Offset(1).Select
>      End Select
>     Case Else
>      .Offset(1).Select
>   End Select
>  End With
>End Sub
>
>上のコードは、あなたがUPしたコードと比較してみれば分かると思いますが
>
>1 Sheet1 の特定の列のみで動く部分
>2 Sheet2 の特定の列のみで動く部分
>3 Sheet1,Sheet2 共通の列で動く部分
>
>で再構成しています。つまり変数 Snm はアクティブシートの名前になります。
>いちおう、イベントマクロ以外でOnKeyの設定を解除できるようにするため、
>以下のマクロも標準モジュールに入れておいて下さい。
>
>Sub Release_KeyAction()
>  With Application
>   .OnKey "{ENTER}"
>   .OnKey "~"
>  End With
>End Sub
>
>次に ThisWorkbookモジュール に以下のマクロを入れます。
>
>Private Sub Workbook_SheetActivate(ByVal Sh As Object)
>  Dim PrcSet As String
> 
>  If Sh.Name = "Sheet1" Or Sh.Name = "Sheet2" Then
>   PrcSet = "'JmpCell2" & Chr(34) & Sh.Name & Chr(34) & "'"
>   With Application
>     .OnKey "{ENTER}", PrcSet
>     .OnKey "~", PrcSet
>   End With
>  End If
>End Sub
>
>Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
>  If Sh.Name = "Sheet1" Or Sh.Name = "Sheet2" Then
>   With Application
>     .OnKey "{ENTER}"
>     .OnKey "~"
>   End With
>  End If
>End Sub
>
>Private Sub Workbook_BeforeClose(Cancel As Boolean)
>  With Application
>   .OnKey "{ENTER}"
>   .OnKey "~"
>  End With
>End Sub
>
>もちろん Sheet_Activate, Sheet_Deactivate イベントマクロに共通する
>>If Sh.Name = "Sheet1" Or Sh.Name = "Sheet2" Then
>というコードは JmpCell2 と同様に、そちらで正しくシート名を変更して下さい。

0 hits

【45740】Enterだけで移動できる? じろう 07/1/13(土) 1:13 質問
【45742】Re:Enterだけで移動できる? Kein 07/1/13(土) 1:42 回答
【45743】Re:Enterだけで移動できる? じろう 07/1/13(土) 2:06 発言
【45744】Re:Enterだけで移動できる? Kein 07/1/13(土) 2:23 発言
【45745】Re:Enterだけで移動できる? じろう 07/1/13(土) 3:12 発言
【45746】Re:Enterだけで移動できる? じろう 07/1/13(土) 3:35 発言
【45747】Re:Enterだけで移動できる? じろう 07/1/13(土) 9:58 発言
【45751】Re:Enterだけで移動できる? Kein 07/1/13(土) 16:06 回答
【45757】Re:Enterだけで移動できる? じろう 07/1/13(土) 17:45 発言
【45771】Re:Enterだけで移動できる? じろう 07/1/14(日) 1:14 お礼
【45772】Re:Enterだけで移動できる? Kein 07/1/14(日) 1:26 発言
【45773】Re:Enterだけで移動できる? Kein 07/1/14(日) 1:33 発言
【45775】Re:Enterだけで移動できる? じろう 07/1/14(日) 2:29 発言
【45778】Re:Enterだけで移動できる? Kein 07/1/14(日) 2:56 発言
【45779】Re:Enterだけで移動できる? Kein 07/1/14(日) 2:59 発言
【45780】Re:Enterだけで移動できる? じろう 07/1/14(日) 3:42 お礼
【45782】Re:Enterだけで移動できる? じろう 07/1/14(日) 4:53 質問
【45795】Re:Enterだけで移動できる? Kein 07/1/14(日) 17:10 発言
【45813】Re:Enterだけで移動できる? じろう 07/1/15(月) 0:38 発言
【45814】Re:Enterだけで移動できる? じろう 07/1/15(月) 1:06 発言
【45823】Re:Enterだけで移動できる? Kein 07/1/15(月) 14:23 回答
【45843】Re:Enterだけで移動できる? じろう 07/1/16(火) 1:46 発言
【45844】Re:Enterだけで移動できる? Kein 07/1/16(火) 2:18 回答
【45853】Re:Enterだけで移動できる? じろう 07/1/16(火) 11:10 発言
【45859】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 13:38 回答
【45860】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 13:47 発言
【45861】Re:Enterだけで移動できる? じろう 07/1/16(火) 14:18 発言
【45862】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 14:33 発言
【45864】Re:Enterだけで移動できる? じろう 07/1/16(火) 15:30 発言
【45863】Re:Enterだけで移動できる? りん 07/1/16(火) 15:26 発言
【45865】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 15:57 発言
【45866】Re:Enterだけで移動できる? じろう 07/1/16(火) 16:47 発言
【45867】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 17:03 発言
【45868】Re:Enterだけで移動できる? じろう 07/1/16(火) 17:04 発言
【45869】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 17:20 発言
【45870】Re:Enterだけで移動できる? じろう 07/1/16(火) 18:07 発言
【45877】Re:Enterだけで移動できる? ひげくま 07/1/16(火) 21:02 発言
【45758】Re:Enterだけで移動できる? awu 07/1/13(土) 19:57 回答
【45759】Re:Enterだけで移動できる? awu 07/1/13(土) 20:27 回答
【45769】Re:Enterだけで移動できる? じろう 07/1/14(日) 0:36 発言
【45774】Re:Enterだけで移動できる? awu 07/1/14(日) 1:45 回答
【45776】Re:Enterだけで移動できる? じろう 07/1/14(日) 2:31 お礼

36158 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free