[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
mevius.5ch.net/test/read.cgi/tech/1534976724/

788 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:52:56.26 ID:PFCPc8y/.net]
VBAってWinAPI 使えるんだな
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた

789 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 00:03:26.58 ID:lvTxqVIL.net]
二次元配列に入力できるってかなり神がかってると思う

790 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 08:52:35.61 ID:VGA0KlB2.net]
何を二次元配列に入力できる事が神がかってるの?

791 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 09:32:39.27 ID:r31i+JfI.net]
人間が抽象化なしで無理なく扱えるデータは二次元の表までなのは確かだな
特別な技能を持たない人間の能力的限界がExcel

792 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 11:20:28.64 ID:Poeqy0yu.net]
行(列)をベクトルだとみなすと何次元にでもなるでしょ
テンソル入れ物にするメリットってあるか?
レベル上がると有益になるのかな

793 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:41:01.78 ID:lvTxqVIL.net]
>754
文字列と数値。ってかこれ以外セルには入れられないでしょ。オブジェクトは入れられないし

794 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 00:13:09.54 ID:Inq2or/E.net]
何を〜に入力できる?
って質問に対して間違っちゃいないが...

795 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 01:08:48.00 ID:SUBF4wRe.net]
>>757
変数型のことじゃなくて、どんな
データかって意味じゃね?

796 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 07:12:48.70 ID:xKW3LLWl.net]
セルって単語が後出しだからこうなるんだよ



797 名前:デフォルトの名無しさん mailto:age [2018/10/26(金) 08:36:50.37 ID:QS/Z6hlA.net]
わかるなら聞くなよハゲども
なんでハゲてるか自問してろ

798 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:34:09.86 ID:FHu9JUdN.net]
>>752
当然だがWinAPIだけじゃなくVB呼び出しに適う任意のAPIが呼べるから、自分だけの環境なら何だって可能

799 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:45:47.31 ID:REmVcuAB.net]
解凍・圧縮用のdllであるunlha32やらunzip32なんかもちゃんと用意されていて、vbaから利用できるしな

800 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:00:29.68 ID:FHu9JUdN.net]
>>763
え、ないでしょ?
あるんだっけ?

801 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:4 ]
[ここ壊れてます]

802 名前:1:39.22 ID:FXq8Nzbn.net mailto: 「自分だけの環境」の話だろw []
[ここ壊れてます]

803 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:18:33.42 ID:7acxRmxq.net]
それ言い出すとシェル呼び出してそこから外部プログラムの実行でなんでもできるわな

804 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:10:36.89 ID:64tA3ZzD.net]
それだと最早Excel VBAを起点にする意味がないんだよなぁ

805 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 09:39:45.10 ID:z1SsyyeN.net]
戻り値主体の関数的な使い方がしにくいのでは?

806 名前:デフォルトの名無しさん [2018/10/27(土) 12:17:32.77 ID:nqyfF+/M.net]
なんで何でもできたら悪いみたいな言い方やねん



807 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:13:38.94 ID:gKMunlkh.net]
彼女の作り方がわからない

808 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:08:31.91 ID:arx5iKp2.net]
事務の女性をお得意のVBAで助けてやるんだ

809 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:08:09.98 ID:9XazvJsa.net]
助けてあげても一瞬感謝されるだけで何も起こらないぞ
下手すると感謝すらされない

810 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 21:27:07.52 ID:EQmtOnig.net]
>>772
そう、気づかないんだよな・・・

811 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:46:47.86 ID:bYiR1b6u.net]
助けても後出しで本当はこうしたいのにできてないだの文句言われる

812 名前:デフォルトの名無しさん [2018/10/28(日) 06:55:12.79 ID:xmv6f/Y+.net]
全然助けれとらんやんwプロさんあわれwww

813 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 09:41:11.55 ID:U+AZbxUR.net]
ちょっとしたことでいいからピンポイントで教えてあげる。
食いついてこなかったら諦める。

814 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 10:40:54.72 ID:o08My3f7.net]
ExcelVBAで、女にもてるようになる方法スレ w

815 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:02:16.86 ID:eT9vyE0h.net]
ランダムアクセスファイルでデータ管理をしています。
いままで動いていたものが GET PUT で 「レコード長が一致しない」となります。

一部こんな感じです。
Const MONTH_SIZE As Long = 60
Type M_Rec
S_code As Long
Stock As Long
byCode As String * 8
M_id_Cre(MONTH_SIZE) As Integer
End Type
Public S_MAIN_REC As M_Rec

Open FileName For Random As #SmainNO Len = Len(S_MAIN_REC)
Get #SmainNO, indexNo, S_MAIN_REC

この標準モジュールを破棄して同じモジュールをインポートすると
正常に動きますがワークブックを保存して再起動し同じ処理をすると
エラーになります。
Public S_MAIN_REC As M_Rec の 記述場所を移動させると正常に
動きましたがモジュール内に新規プロシージャを追加したらまた
エラーが出るようになりました。
モジュールが壊れていると思い新しく作成しても同じでした。
ご意見お願いします。
現在ユーザ定義 の M_id_Cre(MONTH_SIZE) As Integer の配列を
61に変更し正常動作中です。

816 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:41:59.08 ID:THaxkhg7.net]
さすがに時代遅れにも程がある
そんな黴の生えたゴミカスは今すぐ捨てて普通にワークシートで管理するかDBにしろ



817 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:41:48.78 ID:9UvKiQNH.net]
言い過ぎ。しかしランダムアクセスファイルとは懐かしい

818 名前:776 mailto:sage [2018/10/28(日) 16:59:37.36 ID:eT9vyE0h.net]
すみません
もともとはワークシートで管理していたのですがファイルのほうが
都合が良いので変更しました。

819 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:01:07.70 ID:ISWax1Kh.net]
で、今まさにその前提が間違っていたことが判明したんだろ?
直ちに戻しなさい

820 名前:デフォルトの名無しさん [2018/10/28(日) 20:08:41.54 ID:4pkRNiip.net]
馬鹿の特徴

動きません
エラーが起きます

決して具体的なエラーメッセージを書かない

821 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 21:40:15.40 ID:uzLWPyey.net]
バカ

822 名前:フ特徴
書いてあるエラーメッセージを理解できずに自爆 w

> GET PUT で 「レコード長が一致しない」となります。
[]
[ここ壊れてます]

823 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:30:32.75 ID:9UvKiQNH.net]
ここの住人回答者は居丈高だからteratailにでも質問なさい。
ただコード具体例とエラー詳細はいずれにせよ求められるけど

824 名前:デフォルトの名無しさん [2018/10/29(月) 00:30:55.69 ID:4Xu2UR6y.net]
>>784
馬鹿は表面的なことしか見えない

825 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 04:51:38.42 ID:xpZzwKyb.net]
>>786
表面的なことすら見えてないバカの自爆乙 w

826 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 09:45:00.02 ID:uMisuGYK.net]
初心者には環境とかエラーの詳細な条件を明記することへの心理的な障壁があります
その心理の正体は一体何でしょう?



827 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 10:53:33.28 ID:VYDzXbvz.net]
慣れの問題かと
・自信ないのでミス指摘されたくないなどの自尊心問題
・コンプライアンスリスクとの取り違え
・個人情報リスクとの取り違え

828 名前:776 mailto:sage [2018/10/29(月) 11:24:48.23 ID:aqnyYxuj.net]
少し荒れてしまいましたね、すみません

エラーは書いてあるとおり「レコード長が一致しない」
Openステートメントで指定された長さと異なるということなのですが
レコード変数やOpen Get Putのプロシージャなど変更せずに
このエラーが発生しました。多分VBAのバグだと思うのですが
詳しい方に教えていただきたく思いまして書き込みしました。
タイミングが悪かったですね。

829 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:33:02.57 ID:f3zS/Ojj.net]
確かにタイミングが悪かったな
20年遅いわ
今回お前が苦労して解決しても後で他の誰にも分からないんだぞ?
そんなもん押し付けられる方の身にもなってみろ

830 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:45:30.06 ID:uMisuGYK.net]
「VBA ファイル読み書き」で検索してOpen コマンドとかが出てくるものかねえ

831 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 11:48:12.61 ID:VYDzXbvz.net]
?出てくるぞ?あたりまえだろ

832 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 14:25:31.25 ID:gsxtgvfG.net]
>多分VBAのバグだと思うのですが

まぁ言語の方に責任を押し付けたくなるのは判るがなw

833 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 15:23:05.64 ID:P7hlr/PN.net]
何わろとんねん

834 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 16:45:28.78 ID:gkooAort.net]
>>790
バイナリエディターでレコードファイルを確認するのと、テスト環境作ってレコードを減らしても発生するかみる

835 名前:デフォルトの名無しさん mailto:age [2018/10/29(月) 18:06:20.39 ID:P7hlr/PN.net]
>>796
頼む

836 名前:776 mailto:sage [2018/10/29(月) 19:56:48.16 ID:aqnyYxuj.net]
>>796
エラーになる状態ですと、新規にファイルを作成しても1レコード目でエラーとなりますので
ファイルがおかしいとは思えません。ユーザー定義のレコードサイズ、モジュール変数の
メモリ設定があやしいと思うのですが。



837 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:29:14.96 ID:cO8xV5Br.net]
素人質問ですみません
エクセルで消費税を算出したいのですが、一つのセル内で完結できないでしょうか
ググっても税抜き価格と税込み価格の、二つのセルを使うものばかりでして

838 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 23:52:48.29 ID:g/o5tBon.net]
>>793
まさかな、と思ってぐぐってみたら本当だった。
しかもqiitaの新着記事にもそんなのあるし。

なぜなのか?

839 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:03:25.38 ID:oqjX6NBU.net]
>>798
最小条件での動作確認しないなら俺はなにもいわない

840 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 00:10:19.82 ID:iPJEDoz1.net]
>>799
それVBAの質問なの?そもそも

841 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 12:34:46.04 ID:MiaEkZFI.net]
>>799
税抜き価格を入力したら、そのセルの数値を自動的に1.08倍するマクロ

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Int(Target.Value * 1.08)
Application.EnableEvents = True
End Sub

842 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:48:04.01 ID:Zs94iK ]
[ここ壊れてます]

843 名前:wt.net mailto: 際限なく1.08倍していきます []
[ここ壊れてます]

844 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 17:38:32.50 ID:D9hLQP5r.net]
消費税は際限なく上がる

845 名前:デフォルトの名無しさん [2018/10/30(火) 18:40:58.23 ID:bEYZFX0T.net]
くだらない質問だと思いますが、会社のバーコードで在庫 納品書 委託 委託精算 等 連携したものを作成する場合は初心者でどのくらい作成期間がかかるものでしょうか?

846 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:50:13.80 ID:aaXb5tV1.net]
100年くらい見積もっておけば間違いない



847 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:53:25.90 ID:E+8/TrgC.net]
少なくとも、SIerに委託するより>>806の給料の方が遥かに高くつくくらいの期間は間違いなくかかるよ

848 名前:デフォルトの名無しさん [2018/10/30(火) 19:15:41.01 ID:bEYZFX0T.net]
>>808
因みに幾らくらいかかるものでしょうか?

849 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 19:49:51.22 ID:wPm+kt3H.net]
>>809
仕様がわからないので見積もれません
4000億円ぐらいみとけば間違いない

850 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:01:06.67 ID:UXC/r+zj.net]
テーブル(lo)を列毎に配列で取り出して処理したいのですが、キーを列名、値に列範囲を格納すればforループで代入できて簡潔なのでDictionaryを使ってみようと思っています。

Dim dic As Dictionary: Set dic = New Dictionary
Dim lc As ListColumn
For Each lc In lo.ListColumns
_dic.add lc.name, WorksheetFunction.Transpose(lc.DataBodyRange.value)
next lc

以上で作成した「Dictionaryの値」に格納した「配列の値」に代入が出来ません。
例えば

debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA)(1) = "ライチュウ"
debug.print dic(見出しA)(1) '「ピカチュウ」が表示

となってしまいます。しかし以下の様に配列を格納し直すと反映されます。

debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA) = Array("","ライチュウ", dic(見出しA)(2),・・・
debug.print dic(見出しA)(1) '「ライチュウ」が表示

修正があるたびに配列を代入し直すのは面倒なので出来れば値を直接書き換えたいのですが、どうすればいいのでしょうか。

851 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:25:09.48 ID:4tQqoM/4.net]
>>811
そもそもlo.ListColumns(lc.Name).Range.Item(Index).Value でテーブル内のセル値のセッターにアクセス出来るので、わざわざそんなことをやる必要がないと思う
仕様上ListObjectは列名重複が許されないし、ListColumnsコレクション自体がDictionaryと殆ど等価のハッシュテーブルになる

852 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 20:50:28.74 ID:UXC/r+zj.net]
ありがとうございます
現在はそうしているのですが(元々それがやりたくて全部テーブルに置き換えたのですが)
値を取り出すときに毎回ListColumns(lc.Name).DataBodyRange(Index).Valueと長々書く為コードが読みづらいのと、配列にすればちょっと速度改善が見込めるかなと思って試していました。

853 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 13:51:41.06 ID:OKzw5dxl.net]
Dictionaryの代替以外の回答もお待ちしてます。


あと追加で質問なのですが、先ほどのTransposeの様にワークシート関数を利用するなら配列ではなくセル範囲の方が速いという記事を見つけました。
どういう原因でそうなるのでしょうか?

854 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:54:26.42 ID:Dz4usJiG.net]
一般的にユーザーによる同等のVBAコードよりワークシート関数の方が速い
C#とかよりC++ネイティブの方が数〜倍速くなるのと同じ

855 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:27:27.91 ID:b54HYVzl.net]
>>814
組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね
VBAで

856 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 18:30:36.22 ID:b54HYVzl.net]
>>814
組込みの機能はアプリケーション内でリソース管理が最適化されてるのでね
VBAでやると不要な大きさのバッファを確保してたりして無駄が多くなる



857 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 07:11:29.46 ID:hEMz+97b.net]
シートにボタン配置して押したら、オートシェイプの直線を引ける段階までって出来る?いわゆるショートカットキー的な感じの。
実際に直線を引いちゃうのは山ほどネットに転がってるけど、引くのは任意でやりたい。

858 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 10:46:24.36 ID:Uh6mdsZK.net]
>>818
出来ない。

859 名前:デフォルトの名無しさん [2018/11/01(木) 18:36:00.35 ID:Nl3jEz8g.net]
Excelのセルに入ってるデータを使ってOutlookでメールをVBAで書きたいのですが
それぞれの行やある文字についてフォントや色などで装飾したいんです。
そんなことはできますか?
なんかできなそうなんですが。
でもこれをしないとものすごく不便なのです。
うまくいけば残業せずに遊びながら居残りしてお金だけはたくさんもらえるのですが・・・

860 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 18:51:35.86 ID:4wthv7uM.net]
>>818
できるよ。

861 名前:デフォルトの名無しさん [2018/11/01(木) 19:09:06.19 ID:Nl3jEz8g.net]
>>818
サルでもできるよw
単にボタンにマクロの登録をすればいいだけ。

862 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:13:58.18 ID:9hAL4zo4.net]
>>822
う〜ん...
俺もできるとは思うけどそんなに簡単か?
何を登録するんだ?

863 名前:デフォルトの名無しさん [2018/11/01(木) 19:18:10.81 ID:Nl3jEz8g.net]
>>823
ボタンを挿入して右クリックしてマクロの登録を選び実行させたいプロシージャを選ぶだけ

864 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:22:20.09 ID:9hAL4zo4.net]
>>824
直線を引く直前の状態にするプロシージャって簡単に書けるのかい?

865 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:24:41.75 ID:9hAL4zo4.net]
>>820
やったこと無いけどHTMLメールにして本文をHTMLにすれば良いんじゃない?
あとはテキストメール作成と同じじゃないの?

866 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 19:26:55.17 ID:1Z/ZXoar.net]
>>820
HTML書けるならこの辺りを見ればわかるだろ
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.bodyformat



867 名前:デフォルトの名無しさん [2018/11/01(木) 19:30:44.64 ID:Nl3jEz8g.net]
>>826
じゃ具体的なコードはどうなるの?

例えば、「こんにちは、うんちと申します。」の文で、うんちを太字で茶色にしたい場合。

868 名前:デフォルトの名無しさん [2018/11/01(木) 19:33:37.59 ID:Nl3jEz8g.net]
>>827
こんにちは、<B><font color=brown>うんち</font></B>と申します。


869 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:23:17.57 ID:EZF4jYAF.net]
>>822
できないから聞いたんだが?

870 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:35:45.63 ID:NdKTTFxC.net]
できるって言ってる人は質問をよく理解してないんだと思う

871 名前:デフォルトの名無しさん [2018/11/01(木) 23:45:47.15 ID:BwvtJmQs.net]
この板は日本語が読めない低学歴知恵遅れが多いのはあってる
えてして書いてある要件とまったく違うもんをあげてくるよくいる軽い池沼入ってるのと似てる

872 名前:デフォルトの名無しさん mailto:sage [2018/11/01(木) 23:59:15.18 ID:8GU0aFYB.net]
お互い様

873 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 00:46:25.82 ID:iMC20ra8.net]
>>16
Excelのマクロの記録はVBAコードで表現できないものは原則できない
操作自体の記録再生ができるUWSCとかRPAといったツールを呼び出せばできる

874 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 06:47:30.99 ID:Cpir13NG.net]
Sendkeysで無理くりリボンメニューの直線を選択するコードを作ってショートカット割り当てる位しかないと思う

875 名前:デフォルトの名無しさん [2018/11/02(金) 07:54:22.50 ID:EKeu1zQN.net]
>>830
あなたはサル以下ということだ。ウイッキー。

876 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:00:17.95 ID:IpqW30ow.net]
>>818

あれ? まだコードあがってないですね。
じゃぁExcel2010用ですが、サンプルを、、、
目的に合わせてShapeIDを変えてください。

Sub CreateShape()

 Dim ShpID As Long   ' ShapetypeID
 Dim iShpCnt As Long  ' Shape Cou



877 名前:nt (追加待ち判定)
 Dim SHP As Variant  ' Loop用Shape

 ' Create Shape
 '--------------------------------
 ShpID = 409      'Freeformの場合
' ShpID = 1119     'Ovalの場合
' ShpID = 1042     'LineConnectorの場合
 iShpCnt = ActiveSheet.Shapes.Count
 Application.CommandBars.FindControl(ID:=ShpID).Execute
 Do
  DoEvents
 Loop While iShpCnt = ActiveSheet.Shapes.Count
End Sub

描かずに連続で押すと処理が入れ子になってしまうのが
難点ですが、、、
[]
[ここ壊れてます]

878 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 10:56:22.32 ID:N4XXlewl.net]
>>837
なるほど

879 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:39:25.94 ID:ouVO3wBC.net]
>>837
できた!ありがとうございます!

880 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:40:29.21 ID:m6WMCehM.net]
>>837
これで出来たんだね。
コード書ける環境じゃ無いから試せなかったけど、この方法かUIAutomation使うかどちらかかなあと思ってた。

CommandBarControl.ExecuteでもShapeの場合トグルっぱい動作だから思う状態になるか自信が無かった。

881 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:44:20.35 ID:m6WMCehM.net]
あれ、Do〜Loopの処理は気付かんかったなあ。
自分が作成してたら動かんかったと結論出してたかも。

882 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:50:59.79 ID:IpqW30ow.net]
>>841
StackOverFlowかどっかのサイトの受け売りなんですけどね。
どこからもらったのか忘れた、、、

883 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 12:57:46.92 ID:IpqW30ow.net]
>>837
あ、後続の処理用の変数消し忘れてた。
Dim SHP の行は不要です。

884 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:17:11.16 ID:ouVO3wBC.net]
ちなみになんだけどDoLoopはなんの為にあるんですかね?
なくても同じ動きすんだけど。

885 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 17:57:06.50 ID:oqBXcCoW.net]
書き終わってShapeオブジェクトが作成されるまで、次の処理を待機

元々書いた後に何か処理をするプログラムの一部だったんだと思う
今回はCommandBarControlのコマンドが実行された時点で仕事は終わってるから要らないかと

886 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 18:54:32.40 ID:m6WMCehM.net]
>>845
ループ無くても動くんなら思った通りだった。
違いが有るとすれば自分はFindControlは使わず、コントロールの指定もIDじゃなくて名前使う所。

名前はFor Each使ってCommandBarを列挙して名前をDebug.Print、そのCommandBarに対してFor EachでCommandBarControlを列挙して名前をDebug.Printなどで調べる。



887 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 19:49:18.45 ID:IpqW30ow.net]
>>844
ん? Do - Loop 部分ないとちゃんと動かんよ?
VBEから実行してない?
ボタンに割り付けると、ボタン押した瞬間に十時カーソル消えるはず。
Excel2010より新しいVersionは動きが違うの?

888 名前:デフォルトの名無しさん mailto:sage [2018/11/02(金) 20:57:01.00 ID:/dr4nYVn.net]
>>847
ボタン押したらクリックしたら線がかけるようになったよ。
2003でも動いたし、2007でも動いた。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef