Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/17(木) 22:04:40.64___
___ /____ヽ ____
/____\ | |´・ω・`| | /___ヽ
.l |´・ω・`| ニX二 . ̄ ̄ ̄ 二X二 |´・ω・`| l 俺たちに任せろ
!、 ̄ ̄ ̄ ヽ | | /  ̄ ̄ ̄/
ヽ_/ヽ、 ヽ__) \__/\_/. /_/ ノヽ_/
 ̄  ̄ ̄
前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。
コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0756デフォルトの名無しさん
2014/06/17(火) 18:58:25.63ID:Oy7I6t4Iこんな方法はどうだろうか?
3x1 の配列でTranspos問題でるなら
ReDim Preserve TestArray(1 To 3, 1 To cnt + 1)
として 3x(cnt+1) の配列でReDimして Transposする
んで読み込む時は 配列の1次元目の最終データ
つまり
TestArray(cnt+1, 1)
TestArray(cnt+1, 2)
TestArray(cnt+1, 3)
は無効データとして無視する
0757デフォルトの名無しさん
2014/06/17(火) 21:32:49.72ID:l2MahTznTransposeの仕様っぽいから、1次元の配列になるのはどうしようもないんじゃない
そもそもWorksheetFunction.Transpose使う必然性がわからん
俺なら配列そのもの変換せずに、読む方で行列入れ替えて読むが
どうしても配列変換したければ自分で配列変換する関数作る
0758デフォルトの名無しさん
2014/06/17(火) 23:57:50.59ID:SruwTgIk勝手にスクロールロックされるという怪現象に長年悩まされてます
これまでは発生頻度が低いから気にしてなかったのですが、
最近バーコードリーダーを接続したPCで頻繁に発生するようになりました
あまりにうざいので、VBAで対抗しようと考えて
まずは Call Application.OnKey("{SCROLLLOCK}", "") としてみたのですがダメでした
何か良い方法ないでしょうか
SCROLLLOCKのON/OFFを判定して、
ONならOFFにする方法なんて無いでしょうか
0759デフォルトの名無しさん
2014/06/18(水) 00:03:23.37ID:EzL2wKEq0760デフォルトの名無しさん
2014/06/18(水) 00:05:05.34ID:0b/GVhNiどうもありがとうございました!
0761デフォルトの名無しさん
2014/06/18(水) 00:47:57.54ID:+FU8wlvZ「勝手にスクロールロック」でぐぐったらこんなん出た。
マウスのチルトホイールが悪さしてたらしい。
http://orbit.cocolog-nifty.com/supportdiary/2009/08/post-2f3e.html
0762662
2014/06/18(水) 07:46:00.29ID:SiDz/mVATransposeの仕様であるなら仕方ないですね。
今はcnt=1かどうかの場合分けで対応しています。
>>756
提案ありがとうございます。なるほど、そのようにしてTransposeで1次元となることを避けることができるのですね。
参考になります。この方法ならコードの修正部分も少なさそうです。
>>757
仰るようにTransposeを使う必然性はありません。
今の知識がありゼロから作り始めるならTransposeは使わずに作ると思います。
昔の名残を活用するために必然性のないTransposeを使う羽目になってしまいました。
時間ができたら全部書き直したい気持ちはあるのですが。。。
0763デフォルトの名無しさん
2014/06/18(水) 08:21:57.79ID:ahd+98VX0764デフォルトの名無しさん
2014/06/18(水) 10:15:27.45ID:fAjoLlg4>>761
PCもキーボードもマウス何回か換えてるし
EXCELも2000から2013にかけて何回か乗り換えてるから
違う原因と思うんですが
0765761
2014/06/18(水) 10:36:30.12ID:+FU8wlvZんじゃこっちはどう?
http://blog.livedoor.jp/sigh_too/archives/51273110.html
ctrl + c と間違えて Fn + c を押しちゃってた人の話
0766デフォルトの名無しさん
2014/06/18(水) 10:39:53.19ID:+FU8wlvZFn + K とかの場合もあるって事で機種によって違うみたいね。
0767デフォルトの名無しさん
2014/06/18(水) 12:31:44.62ID:k5Dh+D1Tここでもそんな相談は見たことないし、検索でもほとんど出てこないので、
何か特別なソフトが原因じゃないのかなあ
一般人が使わないようなアプリが入っているとか、変なマクロが走っているとか
そのパソコンはあなた専用?それとも共用?
0768デフォルトの名無しさん
2014/06/18(水) 12:35:01.13ID:k5Dh+D1Tいつもまったく気付かない?
一度でもスクロールロックされる瞬間を目撃したことはある?
その時、パソコンは使用中か放置中だったか
0769デフォルトの名無しさん
2014/06/18(水) 17:42:06.75ID:fAjoLlg4http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13105571298
http://okwave.jp/qa/q6865033.html
すばやく連続入力して一呼吸おいた後に、次の入力を始めようとして
あれ?と気付くことが多いような気がします
入力中に突然ロックされたことはないと思います
PCは基本的に自分専用です。
発生頻度は1〜2ヶ月に1回くらいでしょうか
バーコードリーダーの場合は接続して間もないですが、
1日に1〜2回は出ていそうです。
PS2接続です。
0770デフォルトの名無しさん
2014/06/18(水) 19:27:12.46ID:x3SERBGR金額計算なんですが、例えばM列に1を入れるとK+Lの合計を0.5倍にして(何も入れないとK+Lの合計)N列に表示するっていう文を作りたいんですが、色々調べてもわかりません
よろしければ教えて下さい!
0771デフォルトの名無しさん
2014/06/18(水) 19:46:58.78ID:EzL2wKEqDim i As Integer
Dim lastrow As Integer
For i = 1 To lastrow
If Cells(i, 13).Value = 1 Then
Cells(i, 14) = (Cells(i, 11) + Cells(i, 12)) * 0.5
Else
Cells(i, 14) = Cells(i, 11) + Cells(i, 12)
End If
Next
0772デフォルトの名無しさん
2014/06/18(水) 19:48:50.42ID:/mM+tAme重複するものは代表1つだけにして
その要素数の数だけ文字列型の配列変数を返り値とする関数を作りたいです。
コードをお願いします。
0773デフォルトの名無しさん
2014/06/18(水) 20:01:04.29ID:ZRwyQinVSelection.Uniquify
0774デフォルトの名無しさん
2014/06/18(水) 20:38:45.97ID:/mM+tAmeこら。そんなのないぞ。
0775デフォルトの名無しさん
2014/06/18(水) 21:22:12.13ID:+FU8wlvZ同じ質問を繰り返している人がいるように思えるのは俺だけ?
Dictionaryとか自前で配列変数作るとかやりようはそれなりにあると思うけど。
0776デフォルトの名無しさん
2014/06/18(水) 23:31:09.78ID:IQKBzqn40777デフォルトの名無しさん
2014/06/19(木) 06:51:10.55ID:Wcq0Jv47へい。
https://friendpaste.com/7AESsKfoWV1tNVQmlhrMgY
0778デフォルトの名無しさん
2014/06/19(木) 07:19:42.28ID:NPfluINM「関数が必要」とか「作って欲しい」って書け
0779デフォルトの名無しさん
2014/06/19(木) 11:17:24.00ID:Oioydr8fこら、VBAで使えないぞ。
本当にVBAの言語用なのか?
0780デフォルトの名無しさん
2014/06/19(木) 11:33:56.90ID:YZPnLqDa停止もエラーも何もなく、ただ無反応
0781デフォルトの名無しさん
2014/06/19(木) 11:39:54.47ID:w+8gDH2bこれはすごい恩知らずwww
間違いなくVBAで使えるぞ。
0782デフォルトの名無しさん
2014/06/19(木) 11:52:02.14ID:w+8gDH2bコードが書いてないからそれだけではなんとも分からないですよ。
あと、使ってるエクセルとOSのバージョンも書いてないし。
とりあえずステップインで実行してみてはどうですか?
0783デフォルトの名無しさん
2014/06/19(木) 11:55:45.95ID:Oioydr8fこら、ウソ言うな。
選択してMainを実行したら「インデックスが有効範囲にないぞ」というエラーが出る。
0784デフォルトの名無しさん
2014/06/19(木) 12:09:33.27ID:w+8gDH2bためしに縦一列に文字だけ(数字は無視される)入れて、
その範囲を選択した状態でマクロ実行してみろよ
0785デフォルトの名無しさん
2014/06/19(木) 12:13:22.03ID:w+8gDH2bちょこっと手直しすると範囲が縦一列じゃなくて
数字も無視しないようになるけど
777さんに対してあまりにも無礼だからこれ以上は教えてやらない。
0786デフォルトの名無しさん
2014/06/19(木) 13:25:10.11ID:Oioydr8fそんなバグだらけじゃ使い物にならないじゃないか。
糞ボロ。ポンコツ。
0787デフォルトの名無しさん
2014/06/19(木) 14:00:13.35ID:w+8gDH2bだからあれはバグじゃなくて仕様
0788デフォルトの名無しさん
2014/06/19(木) 14:00:36.50ID:8jNSzAvz解散
0789デフォルトの名無しさん
2014/06/19(木) 14:26:30.45ID:z2Nts7ioすみませんなぜか再起動したら解決しました
0790デフォルトの名無しさん
2014/06/19(木) 21:26:30.92ID:B42MAC9KSub Test()
On Error Go To ErrorHandler
If hogeError Than
call EndProc
End If
call EndProc
ErrorHandler:
call EndProc
End Sub
Private Sub EndProc()
'インスタンスの破棄とかScreenUpdating =Trueとか
'プログラムの終了
End
End Sub
msdnとかだとEndステートメントはすぐに停止させる時だけ使えとかって書いてあるんだけど、この関数呼べば必ず綺麗に後処理できるから便利〜
と思ってたんだけどやっぱりダメなんすかね?
0791デフォルトの名無しさん
2014/06/19(木) 21:49:00.62ID:zV78lioGEnd使うとUnloadなしでフォームが閉じたりするから、綺麗に後処理できない
だから使うなって言われてる
0792デフォルトの名無しさん
2014/06/19(木) 22:42:28.51ID:B42MAC9Kあ〜なるほど、そっかformのイベントエラーとかでEnd飛ばしちゃうとUnloadとかされないのか
やっぱりエラーは個別にやんなきゃダメっすね、ありがとうございました。
0793デフォルトの名無しさん
2014/06/20(金) 19:07:25.47ID:zU8FIBtEそのメッセージはユーザがコピペできるようにしたいんです。
一番てっとり早い方法はなんでしょう?
0794デフォルトの名無しさん
2014/06/20(金) 19:42:55.71ID:qdXxhrxPメッセージボックスって普通コピー出来るんだが、VBAのはダメなんだっけ?
0795デフォルトの名無しさん
2014/06/20(金) 19:46:15.80ID:zU8FIBtEできないんですよ。
0796デフォルトの名無しさん
2014/06/20(金) 19:47:17.20ID:zU8FIBtE普通コピーできるって、その普通とはどういう環境?
0797デフォルトの名無しさん
2014/06/20(金) 19:49:02.65ID:zU8FIBtE無理やりオボったらちゃんとコピペできてた。
0798デフォルトの名無しさん
2014/06/20(金) 19:50:50.72ID:y3Z+Q6P/0799デフォルトの名無しさん
2014/06/20(金) 19:53:22.06ID:zU8FIBtE0800デフォルトの名無しさん
2014/06/20(金) 19:54:23.75ID:zU8FIBtE0801デフォルトの名無しさん
2014/06/20(金) 20:02:43.06ID:qdXxhrxP0802デフォルトの名無しさん
2014/06/20(金) 20:11:28.85ID:zU8FIBtEそもそもインプットボックスって名のとおりアウトプットじゃないじゃないですか?
だからインプットボックスについてるボタンなどをすべて無効化したい。
0803デフォルトの名無しさん
2014/06/20(金) 20:22:09.60ID:ZokJyX4+0804デフォルトの名無しさん
2014/06/20(金) 20:28:58.52ID:qdXxhrxPこれ以外認めないんだろ?最初からそう聞けばいいのに
0805デフォルトの名無しさん
2014/06/20(金) 22:47:42.81ID:q4j+Bx57全てのボタンを無効化したら閉じることも出来ないじゃん
0806デフォルトの名無しさん
2014/06/20(金) 23:29:37.04ID:NSJkRCsBそんな凝り固まった常識をぶち壊していきたい
0807デフォルトの名無しさん
2014/06/21(土) 00:14:38.91ID:mfmIX+n9編集禁止でも選択とコピーは可能だから
テキストボックスの背景をグレーするとかでMsgBoxと区別つかんようにできるし
0808デフォルトの名無しさん
2014/06/21(土) 00:18:27.48ID:JKn6FGb9下記のコードを使うと置換のタブが開かれた状態で表示されるので、
検索タブが開かれる状態でコードを登録する方法を教えて下さい。
CommandBars.FindControl(ID:=313).Execute
0809デフォルトの名無しさん
2014/06/21(土) 01:00:45.34ID:cHoAUDWh2013の資料が手元にないけど、2007なら
Application.CommandBars.FindControl(ID:=1849).Execute
0810デフォルトの名無しさん
2014/06/21(土) 01:04:01.23ID:mfmIX+n9ちょっと違うけど一応検索
Application.Dialogs(xlDialogFormulaFind).Show
ワークシートがアクティブになってれば
SendKeys("^F")
0811デフォルトの名無しさん
2014/06/21(土) 13:03:36.05ID:BHEAfygD2013でも使えました。ありがとうございます。
0812デフォルトの名無しさん
2014/06/21(土) 13:05:15.05ID:BHEAfygDこんな検索もあるんですね。参考になりました。有難うございます。
0813デフォルトの名無しさん
2014/06/21(土) 14:15:51.51ID:62Gltl9i758です。色々ぐぐって自己解決できたのでコード載せときます
オフにするところの2行の意味がよく分かりませんが
希望の動作ができたから良しとします
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Const VK_SCROLL = &H91
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Dim LockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
LockState = keys(VK_SCROLL)
'オンであれば強制的にオフ
If LockState = True Then
keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
0814デフォルトの名無しさん
2014/06/21(土) 15:51:17.12ID:MWnqmoLJはいやいいえになってると、Enter連打であっさりスルーされちゃうので
ぐぐっても「いいえ」に合わせるコードはでてきでも、
フォーカス無しのコードは出てこないし
msgbox("上書きしますか?",vbDefaultButton2+vbYesNo)
上のじゃないけど、ユーザーフォーム使うしかないんでしょうか?
0815デフォルトの名無しさん
2014/06/21(土) 17:20:31.07ID:4JtY8OkT0816デフォルトの名無しさん
2014/06/21(土) 18:03:25.68ID:Qjh9DMWWそりゃ当然だろ?
融通は利かないが、良く使われる用途なら簡素化できるってのが
MsgBoxを初めとする組込ダイアログなわけで
その仕様を外れたら自作になるのは、プログラムとしては当然のこと
MsgBoxではアレが出来ないコレが出来ないではなく、
本来なら全て自前でフォーム作らなければならないメッセージダイアログに置いて
特定の制限内の機能で事足りる場合はMsgBox関数で楽できるって考えるべき
つまりメッセージダイアログは、MsgBox基準ではなく自作基準で考えよう
0817デフォルトの名無しさん
2014/06/21(土) 22:22:34.80ID:A7b0CBz5おれスルーしたい時はESCだわ
0818デフォルトの名無しさん
2014/06/21(土) 23:06:28.70ID:Ipr85krHやはりそうですか…
今のところシートの中のVBA記述だけで作れていて
「シートコピーするだけで使えるマクロだから皆で使ってね」
って売り込みしたいので、ユーザーフォームは出来れば避けたかったのですが
まず開発タブを表示してVBEを開いて…とかだと多分みんな使ってくれない(汗
>>817
ESCやALT+F4は最初から無効みたいで、大丈夫でした
はい・いいえ・キャンセルを表示してフォーカスをキャンセルにして
キャンセル押したら再度Msgbox表示する方法で妥協を考えています。
ここを参考にしました。
http://www.excel.studio-kazu.jp/kw/20050314190246.html
0819デフォルトの名無しさん
2014/06/22(日) 04:00:56.97ID:3PJ9UmquMsgBox関数みたいに、メッセージの内容次第で幅も高さも可変で
いくつかのアイコン表示が出来たり、ボタンの数も種類も変えられたりするように作るなら面倒だけど
メッセージ内容もボタンも固定で、単にEnter連打で消えないようにするだけのものなら
1,2分もあれば作れるじゃん
ここで質問したりレスを読んだりするよりも短い時間で作れるものなのに
そんな簡単なことよりも、>>818の最後に書いてるような弊害を抱える方法で妥協するのは何故?
0820デフォルトの名無しさん
2014/06/22(日) 08:34:28.55ID:icvg/MGoそれを単純に昇順に並べるとき
VBAでわざわざ新シートつくってセルA1〜A100以降にわざわざ入力して
Excelのソート機能をわざわわざVBA呼び出して
そのあとわざわざ配列変数に入れなおすということをしています。
(この間ユーザに画面を見せないようApplication.Screenupdate = Falseにしています)
もっといい方法はありませんか?
やってること自体は単にアルゴリズムでいう「ソート」なので、新シート作ったりしないで、単に配列のソートをしたいだけなのですが。
ついでにExcel本来についている機能を利用するときそのコードがどうなって見れる方法とかありますか?
0821デフォルトの名無しさん
2014/06/22(日) 08:35:41.60ID:icvg/MGo0822デフォルトの名無しさん
2014/06/22(日) 08:50:10.63ID:bqRgXzqb配列のソートなんかいっくらでもサンプルがネットにある。
そうすれば、そのためにApplication.Screenupdate = Falseするのは回避出来る
0823デフォルトの名無しさん
2014/06/22(日) 08:53:16.45ID:E7Bp6E2C0824桃白白 ◆9Jro6YFwm650
2014/06/22(日) 12:08:58.33ID:TaqxR0c4(; ・`д・´)桃白白バブルソート実装しようか?
0825デフォルトの名無しさん
2014/06/22(日) 12:09:12.69ID:HL9MA0On>やってること自体は単にアルゴリズムでいう「ソート」なので、新シート作ったりしないで、単に配列のソートをしたいだけなのですが。
「ソート アルゴリズム」でググれ
ついでにExcel本来についている機能を利用するときそのコードがどうなって見れる方法とかありますか?
「メモリエディタ」でググれ
0826デフォルトの名無しさん
2014/06/22(日) 12:42:39.60ID:LETTRPjp>>819
> なぜそこまでしてフォームを自作することを敬遠するのか意味解らないw
も相当頭悪そう
ちゃんと書かれてるやん
0827デフォルトの名無しさん
2014/06/22(日) 12:46:42.79ID:rb15rihAVBAにはソート機能がないので、ワークシートを使うかソートのプログラムを自分で作るのが定番
誰かが公開したやつをネットからコピペしてもいいし
それ以外には、Windowsのソート機能を使うという方法もあるけど、あんまり一般的じゃないしメリットも少ない
0828デフォルトの名無しさん
2014/06/22(日) 14:14:21.42ID:28X7tRhT0829デフォルトの名無しさん
2014/06/22(日) 14:15:56.96ID:ISsPU5R9PowerShellにもあるのに
0830デフォルトの名無しさん
2014/06/22(日) 16:11:48.02ID:rb15rihAいくらでもある
標準で入ってるのだとvbsとか.netの配列オブジェクトを使えばソートメソッドも付いてくるけど使うのがめんどくさい
0831デフォルトの名無しさん
2014/06/22(日) 16:36:24.01ID:28X7tRhT.Netの配列なんて標準でついてるんだ。
標準ってことはdllファイルとかにしなくても参照設定で普通に使えるってこと?
Ienumelableの実装とかどうなってるの?
0832デフォルトの名無しさん
2014/06/22(日) 18:47:31.78ID:rb15rihACrerateObject以下略だけで使える
実装までは知らんけど、基本的な使い方はvbsの配列オブジェクトと似てる
0833デフォルトの名無しさん
2014/06/22(日) 19:22:55.53ID:jr7Ep/EM細かい話だが前から気になってるんだよ
0834デフォルトの名無しさん
2014/06/22(日) 20:58:53.57ID:rb15rihAあくまでも自己責任で
半角文字のソート程度ならバージョンが違っても動作が変わることは少ないと思うけど、
あえてそこまでして使うメリットもあんまりないと思うんで、気になるならVBAでソートプロシージャを自作しとけ
速度が必要ならワークシート関数使った方がたぶん速い
0835デフォルトの名無しさん
2014/06/22(日) 21:13:25.13ID:ut82qKlb別にユーザーフォーム使ったところで、呼び出しをシートに書いておけば
「シートコピーするだけで使えるマクロだから皆で使ってね」
からは外れない故の慰問だろ?
0836デフォルトの名無しさん
2014/06/22(日) 22:21:27.26ID:LETTRPjp最初はいいとして、途中でユーザーフォームを変更するときは古いユーザーフォームを解放して新しいユーザーフォームをインポートしないとダメでしょ?
そのためには VBE から操作する必要あるし、そもそも最近のバージョンだと VBE 起動するための開発タブが表示されてなかったりしするので、一般ユーザーに説明するのは結構面倒だよ。
0837デフォルトの名無しさん
2014/06/22(日) 22:40:03.01ID:waKqYOf3のアイコンが表示されますが、それを表示させない方法あり
ますか?ファイルを読み込んで、処理して、上書きする
自作プログラムを実行するとtaskbarがチラつくので、
それを防ぎたいのですが。理想的には画面に何の変化も
起こさずに一連の処理をしたいのです。
0838デフォルトの名無しさん
2014/06/22(日) 23:09:10.40ID:jr7Ep/EMメッセージボックスで済む程度のものを変更するとは思えんがな
0839デフォルトの名無しさん
2014/06/22(日) 23:19:27.60ID:qKjZQIgF>>554
0840デフォルトの名無しさん
2014/06/22(日) 23:24:42.52ID:ut82qKlbそこまで求めると、どっちにしろMsgBoxでは事足りないってことになるのでは?
0841デフォルトの名無しさん
2014/06/23(月) 00:05:55.68ID:yjdH9XJrシートをコピーさせるなんて事すらやらさ無いように考えるものじゃないか
0842デフォルトの名無しさん
2014/06/23(月) 00:19:12.81ID:3jaGUV4o凄く不便なんですが
0843デフォルトの名無しさん
2014/06/23(月) 05:40:10.13ID:PqswRIgEひょっとして、日頃から 〜とは思えん とか言いながらプログラム作ってるの? w
そもそもすでに運用してる人はどうすんの?
ちょっと考えればわかるでしょ。
>>840
言ってる意味がわからん。
俺が書いてるのは運用のやり方だよ?
0844デフォルトの名無しさん
2014/06/23(月) 05:44:21.04ID:PqswRIgE> シートをコピーさせるなんて
とか言いながら、アドインの導入はやらさせるんだよね?
ひょっとして、バカなの?
0845デフォルトの名無しさん
2014/06/23(月) 07:19:07.68ID:PhFfpdUE作り手と使い手は同一のPCを使う状況なんだから
アドインの導入は、やらせるんではなく自分でやっておくわけでしょ
だから相手にはその負担は全く掛からない
0846デフォルトの名無しさん
2014/06/23(月) 07:34:03.43ID:PqswRIgE> 作り手と使い手は同一のPCを使う状況なんだから
>>818
> 「シートコピーするだけで使えるマクロだから皆で使ってね」
> って売り込みしたいので、ユーザーフォームは出来れば避けたかったのですが
0847デフォルトの名無しさん
2014/06/23(月) 08:37:13.80ID:nXtrLFsL0848デフォルトの名無しさん
2014/06/23(月) 08:43:58.27ID:hMj0GtJU情報ありがとうございました。こんな便利な機能があったとは。
これでちらつきは防止できそうなのですが、ただ一つ困ったことは、
ユーザーがタスクバーに複数のxlsxファイルのアイコンを表示させて
置きたい場合、ShowWindowsInTaskbarをFalseに出来ません。
自作プログラムの実行前にFalseに設定して、実行後にTrueに
戻すと、プログラム実行中はちらつきませんが、その設定/再設定 自体がちらつきを
発生させてしまいました。
ということで、全く見えない非表示のワークブックを作成することは
出来ないでしょうか?あるいは何か別の良い方法ありませんか?
0849847
2014/06/23(月) 08:45:27.70ID:nXtrLFsL> 「シートコピーするだけで使えるマクロだから皆で使ってね」
> って売り込みしたいので、ユーザーフォームは出来れば避けたかったのですが
これかな
http://blog.livedoor.jp/yorinaga/archives/51924953.html
https://www.moug.net/tech/exvba/0090027.html
0850デフォルトの名無しさん
2014/06/23(月) 08:48:27.84ID:89oxU91p>すでに運用
は?どこにも書いてないだろ?
0851デフォルトの名無しさん
2014/06/23(月) 09:04:17.48ID:j+hyzfi+ついでにフォーカス奪ったりしとけばいいんじゃねぇの
0852デフォルトの名無しさん
2014/06/23(月) 09:25:36.13ID:89oxU91pそれ最後にメッセージボックス必要になるだろw
msgbox "メッセージを読み終わりましたか?"
0853デフォルトの名無しさん
2014/06/23(月) 09:40:06.51ID:erXvHz+Tmsgbox替わりの物をオートシェイプとボタンで作れって話でしょ
0854デフォルトの名無しさん
2014/06/23(月) 10:07:28.30ID:N/NXR7eWメモ帳を開いてそこにメッセージを書くことってできませんか?
ユーザにはコピペしてもらう用途なのでそれが一番いいのですが。
0855デフォルトの名無しさん
2014/06/23(月) 10:37:55.31ID:LmsmhY4Tああ、すまん。
既に運用してるっつーのはなかったな。
まあ、運用途中で ぐらいに読み替えてくれ。
■ このスレッドは過去ログ倉庫に格納されています