Excel VBA 質問スレ Part84 (114レス)
上下前次1-新
94: 10/18(土)19:17 ID:ViyQQZbE(5/5) AAS
 >>92 
 ありがとうございます 
 そのまま打ってF8やF10ってのを覚えてくれれば楽なんですけどね… 
 PC疎い民もさすがに半角全角キーを押すことくらいは分かるので、基本的にはIMEModeOffだけど半角全角キーを押すと半カナになるってのがやりたいんです 
  
 我ながら駄文すぎて分かりにくかったけど、要約するとIMEModeOn時の行き先を自在に操りたいってことですね 
95: 10/19(日)10:59 ID:/YxBx4q/(1) AAS
 テキストボックスのイベントでExitにIMEを元に戻す記述を書く 
 https://www.javadrive.jp/excelvba/userform/index93.html 
 sheet上でも出来るとは まぁ、知らん奴が使ったらヒステリー起こしそうだが 
 https://infith.com/system/excel/ime_validation/ 
96(3): 10/28(火)09:16 ID:Kk67eWAx(1) AAS
 Worksheet_BeforeRightClickを素早いクリックに反応させる方法ってありますか? 
 例えば右クリックでカウントアップするような場合、ゆっくりクリックしないと取りこぼすので、それをできるだけ軽減したいという話です 
97: 10/28(火)11:49 ID:BUlcRJ6d(1) AAS
 >>96 
 ワークシートのイベントはどれも動作が遅い 
 透明なオートシェイプをセルの上に重ねて、オートシェイプのClickイベントを使えば16連射も可能になる 
 ただし右クリックでは動作しない 
98: 10/28(火)13:00 ID:NppxA0uZ(1) AAS
 >>96 
 素早いクリックがダブルクリックと判定されてるかもね 
99: 10/28(火)16:30 ID:xLHeS3+n(1/2) AAS
 そんなに連打が必要な業務なのかわからんけど 
 マウスも一枚岩じゃ無いから(個体によって性能違ったり、有線無線で変わるかも知らんし) 
 ユーザーフォームとかにオプションボタン並べて、○1 ○5 ○10 ○25 ○50 ・・とかを事前に選択してから 
 右クリさせるのはどうか 二度手間三度手間が嫌だとクレーム来るのとトレードオフに成るが 
  
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
     Cancel = True ' Prevents the default right-click menu 
  
     Application.ScreenUpdating = False ' Turn off screen updating 
  
         ' Your optimized code here, e.g., displaying a custom menu or performing actions 
         ' ... 
 Dim i As Integer 
   
 For i = 0 To 100 
     ' ステータスバーの表示が更新されない場合は、コメントをはずす 
     'DoEvents 
     ' ステータスバーに出力 
     Application.StatusBar = "処理回数:" & i 
   
 Next 
 ' ステータスバーのクリア 
 'Application.StatusBar = False 
     Application.ScreenUpdating = True ' Turn screen updating back on 
 End Sub 
  
 その辺で拾った野良のコードの合体モンだけど、回数:100にするのも一瞬なんだし 
100: 10/28(火)18:40 ID:k7xgJ8GR(1) AAS
 そもそも右クリック連打が必要な設計を見直したほうが早いんじゃね 
101(1): 10/28(火)19:08 ID:HpHj+cai(1) AAS
 よく読め、連打が必要な訳じゃないと思うぞ 
 俺も似たような問題にぶち当たったことがあるから言いたいことは分かる 
 俺の場合はユーザーフォームだったからなんとでもやりようがあったけど、シートイベントでどうすべきかは思い付かんなぁ 
  
 ユーザーフォームなり透明オブジェクトなりで代用できそうか考えてみるのは大事かもな 
102: 10/28(火)19:36 ID:xLHeS3+n(2/2) AAS
 そうか、迂闊か 
 そういやチャタリング・チェックできるサイトとかあるから、そこでチェックもありか 
103: 10/28(火)20:59 ID:WbU161W5(1) AAS
 >>101 
 ダブルクリック判定にひっかかってるのかもしれんが、ユーザーフォームも単純な連打はうまく処理できない 
104(1): 10/28(火)21:36 ID:uh3txXo7(1) AAS
 要はこれっしょ 
  
 VBA フォームのボタンの反応が遅い理由と対策 - t-hom’s diary 
 https://thom.hateblo.jp/entry/2017/12/07/215055 
  
 これと同じようなことをワークシート右クリでやりたいってことやろ? 
 ワークシートだと安易に左クリックにはできない事情もあったりするし、こういう感じでフォームとかで代用できないか検討してみたら? 
105(1): 10/28(火)21:48 ID:xheP7Ub+(1/2) AAS
 レス遅れてすみません! 
 まさに>>104さんの言う通りです! 
 より具体的に言うと5種類の値から選ばせたくて右クリックで順繰り変更するマクロを作ってたんですが、例えば4番目の値を選びたいときなんかに慣れてくるとどうしても「カチカチカチカチ」って押してしまって反応が悪いと言われたのでどうにかしたくて 
 反応が悪いで済めばまだいいけど、それで間違った値のまま提出されたりすると困るのだ 
106: 10/28(火)21:49 ID:xheP7Ub+(2/2) AAS
 困るのだ じゃなくて 困るので です!! 
107: 10/28(火)21:57 ID:DelTjWwd(1) AAS
 バカボンのパパ(´^ω^) 
108: 10/28(火)22:41 ID:wDWtv1wu(1) AAS
 >>105 
 マウスじゃなくキーボードでトグルしていくUIはいかが? 
 こんなの(INSキーでA1セルの値が増える) 
  
 Sub Init() 
 Application.OnKey "{INSERT}", "ThisWorkbook.OnKey_Ins" 
 End Sub 
  
 Sub OnKey_Ins() 
 Range("A1").Value = Range("A1").Value + 1 
 End Sub 
109(1): 10/29(水)02:29 ID:SoMHk0As(1) AAS
 馬鹿は馬鹿な頭で考えた馬鹿な方法に固執する例 
110: 10/29(水)06:43 ID:0NTgZ+aL(1/2) AAS
 これでいいのだ 
111: 10/29(水)06:46 ID:0NTgZ+aL(2/2) AAS
 >>109 
 この人カバの逆立ちなのだ 
112: 96 10/29(水)07:39 ID:K2GlQHDP(1) AAS
 代案ありがとうございます! 
 やはり何かしらの大体策を考えるしかないですかね 
 右ダブルがキャッチできれば解決するんだけどなぁ 
113: 10/29(水)18:26 ID:GMHlOV3c(1) AAS
 カバは逆立ちしてもカバなのだ 
上下前次1-新書関写板覧索設栞歴
あと 1 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s