Excel VBA 質問スレ Part84 (167レス)
上下前次1-新
77(1): 10/10(金)23:20 ID:XIv0t+FX(2/2) AAS
理由はともかく、OFFICEスクリプトは少なくとも現状では習得上の優先順位が高い感じではなさそうね。
VBAの構文が苦手というタイプの人はPytnonのxlwingsとかに流れる感じなのかな。あれはPytnon越しにVBAのオブジェクトをいじっているようなものなので、実質VBAみたいな感じだけど。
78: 10/11(土)08:45 ID:X9HmeuU+(1) AAS
>>76
傍から見てると、あんたもソッチにズブズブ沈み込んでる風に見えるがな
もそっと、知恵のある発言するなり、若しくはボケだのギャグだの
ユーモアやペーソス混ぜたような発言とかを心掛けてもらえると、コッチも読んでて心地いいんだが
79: 10/11(土)09:06 ID:iR3N7kKL(1) AAS
xlwingsいいよな
調子に乗って沢山呼ぶと糞遅いけど
80: 10/11(土)12:07 ID:Yl843iVz(1) AAS
>>77
その理屈だとCOMはVBAってことになるな
なんだよVBA滅茶苦茶使われてるんじゃん
81: 10/16(木)14:30 ID:oDClVh0R(1/2) AAS
プルールのひとつめっけ
外部リンク:dl.ndl.go.jp
日本全国諸会社役員録という本、アドレスはあくまでも31/914ページという意味
最初から見てっても中々面白い 東京府だし、並び順はいろは順だし ヰもヱもあるし
ビルデングもビルヂングも混在 日本フヰラメンドあり日本フアイアツト自動車あり
ブルドックソースが何だって?
82: 10/16(木)15:17 ID:oDClVh0R(2/2) AAS
外部リンク:dl.ndl.go.jp
83: 10/17(金)06:28 ID:Qpm+e9K0(1) AAS
6分で終わる簡単な作業をいつもやってるからと思ってExcel VBAにしたら4時間もかかった
40回でペイする計算
1ヶ月に1回の頻度として3年4ヶ月でペイする計算
1ヶ月以上ブランクがあって作るのに時間がかかった
これを作るときに以前作った別のものをまた作ってしまったことに大体完成してから気づいた
使わないと作ったことを忘れる
役に立つものでこれからも使うか使わないか前もって予測できないから作るしかない
そのなかに使うものが出てくるし使わないものも出てくる
ちょこちょこ作るのは効果があると分かってるが本当に効果があるか愚痴を言いたくなった
84: 10/17(金)08:01 ID:lzj//9Gm(1) AAS
なんたるプログラミング能力が低さよ
85: 10/17(金)09:21 ID:2jUaiXhz(1) AAS
まあスキルも積み重ねが大事
あと人為的ミス防止やデータが多い時も速いことなども目的にしないとね
若いなら転職の小ネタにもできる
86: 10/17(金)16:13 ID:IG/te/XB(1) AAS
イレギュラーなデータとかエラー処理とか完璧にやろうとするとメインの処理は簡単でもめちゃくちゃ長いコードになったりする
87(1): 10/17(金)18:48 ID:ZOdCVHpQ(1) AAS
でも他人に使わせる前提だとそこがすごく大事なんだよな
自分用を手早く作れるのはそこ端折れるからってのがある
88(1): 10/18(土)14:30 ID:ViyQQZbE(1/5) AAS
質問です
・テキストボックスを多用したユーザーフォーム群を作っていて、IMEMode変更を多用している
・一部vbIMEModeKatakanahalf(以下半カナ)に設定してある
・フォームを使い終わったとき、IMEModeOnが半カナに固定されてしまう(要するにA↔半カナ状態に)
そうなってしまうのは仕方ないけど、フォームを抜ける時にA↔全かなの状態に戻したい
ということでTerminate処理で全かなのBoxにSetfocusしてから抜けるようにしてみたところ、ステップインなら成功するけど通しで処理させると失敗してしまう…
なんかいい方法ありませんか?
全かなBoxのみを設置した仮フォームを呼び出してすぐ閉じるくらいしかないのかなぁ…
89: 10/18(土)14:31 ID:ViyQQZbE(2/5) AAS
それこそ>>87の言うように自分で使う分には「ちと面倒だけどまあ戻せばいいだけ」で済むけど、PCに疎い人達にも使わせるから「なんかひらがなが打てなくなったんだけど~」って言われるのは目に見えてるので…
90(1): 10/18(土)14:46 ID:ViyQQZbE(3/5) AAS
連レスすみません
「基本的には英数字だけど、半カナも打つことがある」Boxもあるので、「A↔半カナ状態のIMEModeOff」にするとかもできれば理想です
91(1): 10/18(土)17:07 ID:+vuE6Mxs(1) AAS
>>88
TerminateだとSetFocusしようにもすでにテキストボックスが存在しないんじゃないの?
× Terminate
○ QueryClose
92(1): 10/18(土)19:05 ID:0zFTkOmI(1) AAS
>>90
自由に入力させて、入力後に判定処理入れるのがいい
93: 10/18(土)19:06 ID:ViyQQZbE(4/5) AAS
>>91
レスありがとうございます
QueryCloseでもダメでした…
なるはやで実用化したかったので、とりあえずは全かなBoxを置いたダミーフォームを一瞬出現する形でお茶を濁しました…
でも自分でもかなり使うモノだから気持ち悪さが拭えないので、可能ならどうにかもっとスマートに処理したい…
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を元に戻す記述を書く
外部リンク[html]:www.javadrive.jp
sheet上でも出来るとは まぁ、知らん奴が使ったらヒステリー起こしそうだが
外部リンク:infith.com
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
外部リンク:thom.hateblo.jp
これと同じようなことをワークシート右クリでやりたいってことやろ?
ワークシートだと安易に左クリックにはできない事情もあったりするし、こういう感じでフォームとかで代用できないか検討してみたら?
105(1): 10/28(火)21:48 ID:xheP7Ub+(1/2) AAS
レス遅れてすみません!
まさに>>104さんの言う通りです!
より具体的に言うと5種類の値から選ばせたくて右クリックで順繰り変更するマクロを作ってたんですが、例えば4番目の値を選びたいときなんかに慣れてくるとどうしても「カチカチカチカチ」って押してしまって反応が悪いと言われたのでどうにかしたくて
反応が悪いで済めばまだいいけど、それで間違った値のまま提出されたりすると困るのだ
106: 10/28(火)21:49 ID:xheP7Ub+(2/2) AAS
困るのだ じゃなくて 困るので です!!
上下前次1-新書関写板覧索設栞歴
あと 61 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.018s