探検
Excel VBA 質問スレ Part51
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スププ Sd4a-O827)
2017/11/08(水) 11:26:30.13ID:+KUB1/9hdスレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
※前スレ
Excel VBA 質問スレ Part50
http://mevius.2ch.net/test/read.cgi/tech/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
758デフォルトの名無しさん (ワッチョイ de93-SYER)
2017/12/28(木) 02:02:28.11ID:uSnaEunu0 >>757
Globalで保持していると想定していた変数がいつのまにかクリアされていて想定外の動作をおこし痛い目にあったことがあります。
調べてみたら、エラー発生時またはEnd通過時にGlobal変数の寿命が尽きるようで、、
それ以来、Global変数もEnd Statementも避けています。
記憶が必要な場合は、Cell値やValidation値またはDocumentProperty等を使うようになりました。
Globalで保持していると想定していた変数がいつのまにかクリアされていて想定外の動作をおこし痛い目にあったことがあります。
調べてみたら、エラー発生時またはEnd通過時にGlobal変数の寿命が尽きるようで、、
それ以来、Global変数もEnd Statementも避けています。
記憶が必要な場合は、Cell値やValidation値またはDocumentProperty等を使うようになりました。
759デフォルトの名無しさん (JP 0H96-FiVz)
2017/12/28(木) 02:45:31.50ID:m7DZbaKUH VBA初心者です
2つのセルがイコールになるように別のセルの値を変化させるというVBAソルバを作成したいのですが、エラーばかりで全く進みません・・・
現在は7行目から10行目まで構文エラーが出ています。
どなたかご教授願います・・・
Sub Solver()
i = 1
Do Until i = 313
'-------------------------------------------
Application.DisplayAlerts = False
SolverOk SetCell:="K" & i, ByChange:="J" & i
SolverAdd cellRef:=Range("K1:K313"), _
Relation:=2, _
FormulaText:=Range("L1:L313"), _
Application.DisplayAlerts = True
'---------------------------------------------
SolverSolve
i = i + 1
Loop
End Sub
2つのセルがイコールになるように別のセルの値を変化させるというVBAソルバを作成したいのですが、エラーばかりで全く進みません・・・
現在は7行目から10行目まで構文エラーが出ています。
どなたかご教授願います・・・
Sub Solver()
i = 1
Do Until i = 313
'-------------------------------------------
Application.DisplayAlerts = False
SolverOk SetCell:="K" & i, ByChange:="J" & i
SolverAdd cellRef:=Range("K1:K313"), _
Relation:=2, _
FormulaText:=Range("L1:L313"), _
Application.DisplayAlerts = True
'---------------------------------------------
SolverSolve
i = i + 1
Loop
End Sub
760デフォルトの名無しさん (ワッチョイ cab3-RYVm)
2017/12/28(木) 05:04:43.84ID:BF7frMSQ0761デフォルトの名無しさん (アウアウイー Sa43-UI1C)
2017/12/28(木) 08:06:18.47ID:VokPBxMja762デフォルトの名無しさん (スップ Sdea-4yVJ)
2017/12/28(木) 08:14:47.46ID:ezpQ52SId イミディエイトウィンドウにあるオブジェクトのことだよね
763デフォルトの名無しさん (ワッチョイ c69d-pcOt)
2017/12/28(木) 17:26:42.52ID:GeC01ME+0 >>749,758
そもそもプログラムが終了ってどういう事をさしてる?
ホントにプログラムが終了すれば、すべての変数の内容は失われるよ
たんに実行するコードが無くなっただけではプログラムは終了していない
Endはプログラムを終了させるけど、エラー出ただけでは終了するとは限らない
デバッグで再実行や変数見たりできるのはプログラムは中断したけど終了してないから
そもそもプログラムが終了ってどういう事をさしてる?
ホントにプログラムが終了すれば、すべての変数の内容は失われるよ
たんに実行するコードが無くなっただけではプログラムは終了していない
Endはプログラムを終了させるけど、エラー出ただけでは終了するとは限らない
デバッグで再実行や変数見たりできるのはプログラムは中断したけど終了してないから
764753 (ワッチョイ 5aeb-RYVm)
2017/12/28(木) 23:10:38.77ID:lWNTZScR0 >>756
753です。
マクロの記録そのものができないのです。
記録しようとすると「マクロの記録ができませんでした」と
エラーが出てしまいます。
新規作成と編集が全て制限されているようです。
セキュリティは「すべて有効」で設定しており、
そこでの問題は無いと思うのですが・・・・
753です。
マクロの記録そのものができないのです。
記録しようとすると「マクロの記録ができませんでした」と
エラーが出てしまいます。
新規作成と編集が全て制限されているようです。
セキュリティは「すべて有効」で設定しており、
そこでの問題は無いと思うのですが・・・・
765デフォルトの名無しさん (ワッチョイ cb8a-Auke)
2017/12/29(金) 04:00:07.55ID:G/qmS2zk0 >>759
"_" は次の行をつなげるためにつけたのだろうけど
Application.DisplayAlearts = True の前の行にも "_" が付いているから
何か貼り付け忘れか、間違って削除してしまったものがあるのでは
"_" は次の行をつなげるためにつけたのだろうけど
Application.DisplayAlearts = True の前の行にも "_" が付いているから
何か貼り付け忘れか、間違って削除してしまったものがあるのでは
766デフォルトの名無しさん (ワッチョイ cb8a-Auke)
2017/12/29(金) 04:08:47.98ID:G/qmS2zk0 セキュリティーレベル一番高いとダメなんじゃね
767デフォルトの名無しさん (ワッチョイ 5fd8-0Y/N)
2017/12/29(金) 07:22:34.45ID:b/Z/hzqU0 >>732
あー、昔そんな事象に当たったことあるよ
原因は同じかどうかは分からんけど
俺の場合とんでもなく深い階層のフォルダに置いてたら
VBEのシートモジュールが青く表示されてコードが作成できなくなった
そのファイル、とりあえず浅い階層のフォルダや
どこかのサーバに置いているなら
クライアント側にコピーして内容確認出来る?
あー、昔そんな事象に当たったことあるよ
原因は同じかどうかは分からんけど
俺の場合とんでもなく深い階層のフォルダに置いてたら
VBEのシートモジュールが青く表示されてコードが作成できなくなった
そのファイル、とりあえず浅い階層のフォルダや
どこかのサーバに置いているなら
クライアント側にコピーして内容確認出来る?
768デフォルトの名無しさん (ワッチョイ 5aeb-RYVm)
2017/12/29(金) 08:53:00.31ID:JNsjSKSN0 732、753です
皆様レスありがとうございます。
作成の不具合は、全くの新規Bookでも起こります。
既存マクロの場合は、コードの表示と実行は行えますが
編集が制限されています。
問題が発生してから、他のPCで新規作成したマクロを
該当PCで実行しようとしましたが、それはコードの表示すら
できませんでした。ファイルサーバー経由とかではなく
デスクトップ上に置いて実行しても同じです。
Accessでは特に問題ないので、VBAそのものではなく、
Excel単体の何かだとは思うのですが、皆目見当がつきませぬ。
皆様レスありがとうございます。
作成の不具合は、全くの新規Bookでも起こります。
既存マクロの場合は、コードの表示と実行は行えますが
編集が制限されています。
問題が発生してから、他のPCで新規作成したマクロを
該当PCで実行しようとしましたが、それはコードの表示すら
できませんでした。ファイルサーバー経由とかではなく
デスクトップ上に置いて実行しても同じです。
Accessでは特に問題ないので、VBAそのものではなく、
Excel単体の何かだとは思うのですが、皆目見当がつきませぬ。
769デフォルトの名無しさん (ワッチョイ 0a65-FiVz)
2017/12/29(金) 10:57:41.44ID:MXSoKJ1y0770デフォルトの名無しさん (ワッチョイ 4a23-Kkzi)
2017/12/30(土) 12:22:18.46ID:cGzM6pFo0 CreateObject("System.Collections.ArrayList")ってやったら
.NETのArrayListがVBAで使えてしまったんですが
これ隠し機能とかじゃなくて正式に使っていいんですよね?
.NETのArrayListがVBAで使えてしまったんですが
これ隠し機能とかじゃなくて正式に使っていいんですよね?
771デフォルトの名無しさん (ワッチョイ 069f-RYVm)
2017/12/30(土) 13:25:09.57ID:dKM8JRI70 前にも話題に上がったけど
.NETのほんの一部はVBAからも使える
リファレンスにも書いてあったような気がする
他で代替できるのでArrayListをわざわざ使うメリットはないということで
そのときは終わったと思う
.NETのほんの一部はVBAからも使える
リファレンスにも書いてあったような気がする
他で代替できるのでArrayListをわざわざ使うメリットはないということで
そのときは終わったと思う
772デフォルトの名無しさん (ワッチョイ 4a23-Kkzi)
2017/12/30(土) 15:32:35.43ID:cGzM6pFo0 >>771
参考にします。ありがとうございました
参考にします。ありがとうございました
773デフォルトの名無しさん (ワッチョイ b3b3-UI1C)
2017/12/30(土) 15:33:00.15ID:xXJ5T9Ia0774デフォルトの名無しさん (ワッチョイ 6fc3-2NT7)
2017/12/31(日) 08:34:16.68ID:5sx4VZ0k0 >>772
Windows APIだって使えるんだぞ?
Windows APIだって使えるんだぞ?
775デフォルトの名無しさん (ワッチョイ de81-DSDK)
2017/12/31(日) 08:58:37.79ID:TXRnAgcd0 VBAの保存方法について
バックアップどうしてますか?
VBAのマクロだと戻る釦聞かないし、バグって復旧するとマクロの個所全部消えちゃうので2つくらいのバックアップを別ファイルでとってあるんですけど皆さんはどうしてますか?
まだ素人なので思ったのと違う処理になって戻せなくなることがしょっちゅうあるので
バックアップは大事
バックアップどうしてますか?
VBAのマクロだと戻る釦聞かないし、バグって復旧するとマクロの個所全部消えちゃうので2つくらいのバックアップを別ファイルでとってあるんですけど皆さんはどうしてますか?
まだ素人なので思ったのと違う処理になって戻せなくなることがしょっちゅうあるので
バックアップは大事
776775 (ワッチョイ de81-DSDK)
2017/12/31(日) 09:02:17.31ID:TXRnAgcd0 >>775
戻る釦ってまるい矢印の奴ね
戻る釦ってまるい矢印の奴ね
777デフォルトの名無しさん (ワッチョイ 4a1e-FiVz)
2017/12/31(日) 09:09:26.61ID:PwPBZUwb0778デフォルトの名無しさん (ワッチョイ 86e7-XPej)
2017/12/31(日) 09:49:30.47ID:aMifsa1T0 マクロ有りエクセルファイル自体にデータを入れて運用するのと、
データは別エクセルファイルにしてマクロ有りエクセルファイルでデータ入りエクセルファイルを操作するのと、
どっちがメンテナンスしやすい作り方だろうか?
いつも悩んでしまう
データは別エクセルファイルにしてマクロ有りエクセルファイルでデータ入りエクセルファイルを操作するのと、
どっちがメンテナンスしやすい作り方だろうか?
いつも悩んでしまう
779デフォルトの名無しさん (ワッチョイ c32b-LuW1)
2017/12/31(日) 09:52:29.70ID:35C6Q16O0 アドインマクロにしましょう
780デフォルトの名無しさん (ワッチョイ 5f9d-tENg)
2017/12/31(日) 11:06:17.25ID:fsRyV04Q0 マクロのバージョン管理ってどうやってます?
インポートファイルを分けすぎると不便なのでshareFanction見たいなインポートファイルに使いそうな関数全部入れてますが、初心者なもので開発中に関数の引数や戻り値を変えたくなるような場面が多々あり
今までのshareFanctionと互換性が保てなくなりますが、引数と戻り値を修正した関数以外でバグを潰したような関数は最新を使用したいです。
今はコピペで対応してますが
インポートファイルを分けすぎると不便なのでshareFanction見たいなインポートファイルに使いそうな関数全部入れてますが、初心者なもので開発中に関数の引数や戻り値を変えたくなるような場面が多々あり
今までのshareFanctionと互換性が保てなくなりますが、引数と戻り値を修正した関数以外でバグを潰したような関数は最新を使用したいです。
今はコピペで対応してますが
781デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 11:27:58.03ID:rNrttlhS0 個人なのか仕事なのか書かないと有効なレスがつかないのではないかな
782デフォルトの名無しさん (ワッチョイ 5f9d-tENg)
2017/12/31(日) 11:34:47.18ID:fsRyV04Q0783デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 11:36:51.05ID:rNrttlhS0784デフォルトの名無しさん (ワッチョイ 5f9d-tENg)
2017/12/31(日) 11:55:17.97ID:fsRyV04Q0 >>783
ありがとうございます
ざっとみた感じソースファイルのバージョン管理はできそうですが、
例えばサーバーあるいはローカルマシン上にそのshareFanctionを使用している分散しておいてある場合、
それぞれのマクロを調べて更新したいファイルを選択、修正版マクロを適用する、
みたいな使い方ってできるんですかね?
ありがとうございます
ざっとみた感じソースファイルのバージョン管理はできそうですが、
例えばサーバーあるいはローカルマシン上にそのshareFanctionを使用している分散しておいてある場合、
それぞれのマクロを調べて更新したいファイルを選択、修正版マクロを適用する、
みたいな使い方ってできるんですかね?
785デフォルトの名無しさん (ワッチョイ 5f9d-tENg)
2017/12/31(日) 11:57:21.02ID:fsRyV04Q0786デフォルトの名無しさん (ワッチョイ de81-DSDK)
2017/12/31(日) 12:53:47.48ID:TXRnAgcd0 ヴァージョンって仕事じゃないからいつから何時まででUP履歴にしたらいいかわからなん
機能変更したら必ずかもしれないけど、個人用だとやりながら変更しているからバージョン数が半端ないことになる。
機能変更したら必ずかもしれないけど、個人用だとやりながら変更しているからバージョン数が半端ないことになる。
787デフォルトの名無しさん (アウアウイー Sa43-UI1C)
2017/12/31(日) 13:10:06.47ID:sYPUhsnja バージョン管理は大変だよな
インストーラーみたいなのつくってどうにかしようとしてるがうまく行くかわからん
インストーラーみたいなのつくってどうにかしようとしてるがうまく行くかわからん
788デフォルトの名無しさん (ワッチョイ cab3-tILW)
2017/12/31(日) 13:25:39.05ID:pVPyHW7p0789デフォルトの名無しさん (ワッチョイ 5f9d-tENg)
2017/12/31(日) 13:31:04.61ID:fsRyV04Q0 >>787
専用のソフトがなければ1sheetをマクロ関数管理用にして各関数内にver x.y.z(x変更で互換性無し、y変更で互換性あり、z変更は互換性ありバグ修正みたいにして)
モジュールをインポートしたファイルをオープン時に、イベント検知で所定の管理ファイルを検索、新しいバージョンがあれば自動で今までのモジュールを解放、y,zバージョンが最新のファイルをインポート
みたいにすれば実現可能そうですが結構手間がかかりそうで…
専用のソフトがなければ1sheetをマクロ関数管理用にして各関数内にver x.y.z(x変更で互換性無し、y変更で互換性あり、z変更は互換性ありバグ修正みたいにして)
モジュールをインポートしたファイルをオープン時に、イベント検知で所定の管理ファイルを検索、新しいバージョンがあれば自動で今までのモジュールを解放、y,zバージョンが最新のファイルをインポート
みたいにすれば実現可能そうですが結構手間がかかりそうで…
790デフォルトの名無しさん (アウアウカー Sacb-WFBV)
2017/12/31(日) 13:56:42.14ID:hllNi94Va マクロで書けよ。
バージョン管理。
セキュリティが低下するけどな。
バージョン管理。
セキュリティが低下するけどな。
791デフォルトの名無しさん (ワッチョイ 0f03-vlH/)
2017/12/31(日) 18:06:59.07ID:nOUozIFo0 そもそも論として、たかがマクロでバージョン管理が必要になるような力作()作るなよw
キミたちは一体エクセルマクロで何を築こうとしておるのかねw
キミたちは一体エクセルマクロで何を築こうとしておるのかねw
792デフォルトの名無しさん (ワッチョイ deb9-FiVz)
2017/12/31(日) 18:13:51.04ID:2b4EaTgg0 仕事でVBA扱ってると色々な理由から小さいマクロでもバージョン管理が必要になってくる。
793デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 19:27:51.32ID:rNrttlhS0794デフォルトの名無しさん (ワッチョイ 0f03-vlH/)
2017/12/31(日) 19:58:25.49ID:nOUozIFo0 >>793
力作()じゃないのにぐちゃぐちゃになるってどんだけ当てずっぽうにマクロ書いてんだよw
力作()じゃないのにぐちゃぐちゃになるってどんだけ当てずっぽうにマクロ書いてんだよw
795デフォルトの名無しさん (ワッチョイ cab3-tILW)
2017/12/31(日) 20:00:31.71ID:pVPyHW7p0 社内に展開するとかでサポートが必要ならバージョン管理ぐらいは必須だろ
>>791は無知すぎ
>>791は無知すぎ
796デフォルトの名無しさん (ワッチョイ 0f03-vlH/)
2017/12/31(日) 20:24:53.68ID:nOUozIFo0797デフォルトの名無しさん (ワッチョイ defa-FiVz)
2017/12/31(日) 20:28:42.31ID:1PdKj8Yj0 またメゾット君か。
798デフォルトの名無しさん (アークセー Sx03-8opW)
2017/12/31(日) 20:42:44.41ID:rRjJbr8wx メゾット君って雰囲気ですぐ分かるよね
799デフォルトの名無しさん (ワッチョイ cb8a-Auke)
2017/12/31(日) 20:54:32.08ID:KnonKKai0 OLDフォルダにファイル名の後に日付つけたファイルをコピーしてる
800デフォルトの名無しさん (ワッチョイ 4a23-Kkzi)
2017/12/31(日) 21:20:00.26ID:A+5By6dM0 ていうかバイナリファイルをバージョン管理システムに登録したところで
単なる時系列バックアップにしかならんうえに
シートを更新しただけでバージョンが変わるから意味ないのでは
単なる時系列バックアップにしかならんうえに
シートを更新しただけでバージョンが変わるから意味ないのでは
801デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 22:37:10.58ID:rNrttlhS0 力作2.0
802デフォルトの名無しさん (ワッチョイ 8aa4-ycq7)
2017/12/31(日) 22:50:02.43ID:InzisC8s0 悩みはみんな一緒なんだね。俺はバージョンアップに悩んでアドイン化したが
これはこれで悩ましいところがあるんだな。シートを初期化(つまりClearとかClearContents)する
のにもよーく考えないと結構危ない。アドインはどのブックでも実行出来てしまうからPCに疎いヤツが使うのも考えると
別の方法を考えた方が良いんだろうかとか考えてる。
これはこれで悩ましいところがあるんだな。シートを初期化(つまりClearとかClearContents)する
のにもよーく考えないと結構危ない。アドインはどのブックでも実行出来てしまうからPCに疎いヤツが使うのも考えると
別の方法を考えた方が良いんだろうかとか考えてる。
803デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 22:55:00.56ID:rNrttlhS0804デフォルトの名無しさん (ワッチョイ 8aa4-ycq7)
2017/12/31(日) 23:12:43.15ID:InzisC8s0 >>803
そりゃ分かってるての。ブックを指定する時は「ActiveWorkBook」とするしかない(決めつけはよくないが)
からよーく考えてコードを書かないと危ない場合もあるって話。使う連中の9割はマクロどころかシート関数も
知らないような連中なんだから。
そりゃ分かってるての。ブックを指定する時は「ActiveWorkBook」とするしかない(決めつけはよくないが)
からよーく考えてコードを書かないと危ない場合もあるって話。使う連中の9割はマクロどころかシート関数も
知らないような連中なんだから。
805デフォルトの名無しさん (ワッチョイ cae7-n93d)
2017/12/31(日) 23:41:30.90ID:rNrttlhS0 >>804
・処理をスタートするFunction や Subはアドイン側にはない。当該Book側にある
・そのFunction や Subがアドイン側の機能を使う
だとするとアドイン側に「ActiveworkBook」なんて書く必要はなくて、処理対象のSheetやRangeを
引数で受け取るだけになると思うんだがね
・処理をスタートするFunction や Subはアドイン側にはない。当該Book側にある
・そのFunction や Subがアドイン側の機能を使う
だとするとアドイン側に「ActiveworkBook」なんて書く必要はなくて、処理対象のSheetやRangeを
引数で受け取るだけになると思うんだがね
806デフォルトの名無しさん (ワッチョイ 8aa4-ycq7)
2017/12/31(日) 23:52:05.59ID:InzisC8s0 >>805
作業するBookはxlsxなんだよ。マクロはxlms側に書いてある。
なんでこうしたかというと、仕事柄、ブックは地方自治体に提出する場合があるから。
何の事かわからないだろうからもうちょっと書くと、測量データの野帳なんだよ。
作業するBookはxlsxなんだよ。マクロはxlms側に書いてある。
なんでこうしたかというと、仕事柄、ブックは地方自治体に提出する場合があるから。
何の事かわからないだろうからもうちょっと書くと、測量データの野帳なんだよ。
807806 (ワッチョイ 8aa4-ycq7)
2017/12/31(日) 23:53:24.81ID:InzisC8s0 xlmsじゃねえや、xlamだな。
808デフォルトの名無しさん (JP 0H27-GXwu)
2018/01/01(月) 04:27:25.57ID:WDGj6QXoH809デフォルトの名無しさん (ワッチョイ cab3-tILW)
2018/01/01(月) 09:37:05.14ID:hnfikatx0810デフォルトの名無しさん (JP 0H27-QCE3)
2018/01/01(月) 13:40:19.53ID:iV2QIiO7H >>809
作業ブック側にコード書けないんだよ。知ったかすんなよボケ
作業ブック側にコード書けないんだよ。知ったかすんなよボケ
811デフォルトの名無しさん (ドコグロ MMdf-tILW)
2018/01/01(月) 13:55:03.62ID:7v1CUCWaM >>810
作業ブックにコードなんか要らんだろ w
知らないなら黙ってろ
てか、アドインでメニュー追加なんて基本中の基本だと思うが
http://toshimana.hatenablog.com/entry/2014/01/26/204938
作業ブックにコードなんか要らんだろ w
知らないなら黙ってろ
てか、アドインでメニュー追加なんて基本中の基本だと思うが
http://toshimana.hatenablog.com/entry/2014/01/26/204938
812デフォルトの名無しさん (ワッチョイ c620-cnjM)
2018/01/01(月) 14:25:45.74ID:7yffOGmB0 知らないことを素直に知らないと言いなさい
2018/01/01(月) 14:27:07.60ID:tZ/lpIQo0
今年はいい年になるかなw
814デフォルトの名無しさん (ワッチョイ cae7-n93d)
2018/01/01(月) 14:29:26.10ID:UomJiKNZ0815デフォルトの名無しさん (アークセー Sx03-8opW)
2018/01/01(月) 14:54:13.21ID:ixsE+qrMx またメゾット君が暴れてるな
あの馬鹿が出入りするようになってから荒れすぎ
あの馬鹿が出入りするようになってから荒れすぎ
816デフォルトの名無しさん (アウアウイー Sa43-UI1C)
2018/01/01(月) 15:45:18.49ID:bzNinO0Ma >>814
よく考えろよ
よく考えろよ
817デフォルトの名無しさん (ワッチョイ cae7-nqWF)
2018/01/01(月) 16:11:19.12ID:PLRWaMeF0 >>816
おっと、 Workbook_AddinInstallを Workbook_AddinUninstallと書き間違えた
おっと、 Workbook_AddinInstallを Workbook_AddinUninstallと書き間違えた
818デフォルトの名無しさん (アウアウイー Sa43-UI1C)
2018/01/02(火) 09:36:26.90ID:nA397GZea819デフォルトの名無しさん (スップ Sd8a-nqWF)
2018/01/02(火) 12:29:02.41ID:MKa2S+Tjd820デフォルトの名無しさん (ワッチョイ c69f-v6Xa)
2018/01/03(水) 10:57:08.56ID:rhTFyGx/0821デフォルトの名無しさん (ワッチョイ b3b3-UI1C)
2018/01/03(水) 11:46:24.84ID:ZpYRfYyG0 アドインにするにしてもなんにしても運用がしっかりされてないと意味がない
ファイル名やシート名程度が保証されてないならマクロ化なんて諦めろ
ファイル名やシート名程度が保証されてないならマクロ化なんて諦めろ
822デフォルトの名無しさん (ワッチョイ 1b65-BE4F)
2018/01/03(水) 11:59:35.70ID:Uz65NhYa0 >>820
設定値を保存するのはやめたほうが良いと思うな。
バージョンアップしたときに設定値がリセットされてしまうとか、エクセルバグの巻き添えでブック破損の危険性がある。
できるだけアドインは読み取り専用で運用するべきだと思う。
過去に内部シートに保存するように作って問題が起きたので、バージョンアップ時にxmlにコンバートさせた事があるわ
設定値を保存するのはやめたほうが良いと思うな。
バージョンアップしたときに設定値がリセットされてしまうとか、エクセルバグの巻き添えでブック破損の危険性がある。
できるだけアドインは読み取り専用で運用するべきだと思う。
過去に内部シートに保存するように作って問題が起きたので、バージョンアップ時にxmlにコンバートさせた事があるわ
823デフォルトの名無しさん (ワッチョイ cab3-tILW)
2018/01/03(水) 12:49:50.09ID:lLEkaf6s0 お前のバグを根拠にされてもなぁ
824デフォルトの名無しさん (アウアウイー Sa43-UI1C)
2018/01/03(水) 14:45:49.49ID:hfgsKA7ma まあ、設定は外出しにするのが普通に安全策じゃね?
xlamのシートは明らかに利用してほしくないっていう思いが伝わる作りな訳だから
xlamのシートは明らかに利用してほしくないっていう思いが伝わる作りな訳だから
825デフォルトの名無しさん (スップ Sd8a-nqWF)
2018/01/03(水) 15:32:51.77ID:00k1dN96d 利用者が不用意にセルデータをクリアしてそのままセーブしても自覚すらしないかも
826デフォルトの名無しさん (ワッチョイ 2bb3-xohC)
2018/01/04(木) 05:46:13.89ID:UuI+tM4Q0 質問よろしくお願いします。
A列,B列,C列,D列
Aa,111,bbb,20
Bb,111,aaa,30
Aa,222,bbb,10
Bb,111,aaa,10
Aa,111,bbb,15
上記の様な表を下記の様にしたいです。
A列,B列,C列,D列
Aa,111,bbb,35
Aa,222,bbb,10
Bb,111,aaa,40
A,B,C列の値が一致したらD列を加算して行を削除するという処理です。データは約1000行程です。
A列,B列,C列,D列
Aa,111,bbb,20
Bb,111,aaa,30
Aa,222,bbb,10
Bb,111,aaa,10
Aa,111,bbb,15
上記の様な表を下記の様にしたいです。
A列,B列,C列,D列
Aa,111,bbb,35
Aa,222,bbb,10
Bb,111,aaa,40
A,B,C列の値が一致したらD列を加算して行を削除するという処理です。データは約1000行程です。
827デフォルトの名無しさん (ワッチョイ 9f1e-j5y8)
2018/01/04(木) 06:37:20.49ID:MFccPkO20 1000行程度ならSUMIFSとかでできるんじゃないの
828デフォルトの名無しさん (ドコグロ MM3f-TPPA)
2018/01/04(木) 06:55:39.59ID:IcyEu6L/M >>826
要件によるけどそういうビューを作ればいいんじゃね?
create view V as (
select A列,B列,C列,sum(D列) as D列
from 表
group by A列,B列,C列
)
要件によるけどそういうビューを作ればいいんじゃね?
create view V as (
select A列,B列,C列,sum(D列) as D列
from 表
group by A列,B列,C列
)
829デフォルトの名無しさん (ドコグロ MM3f-TPPA)
2018/01/04(木) 06:57:20.78ID:IcyEu6L/M すまん、寝ぼけててSQLスレと勘違いしてた...
>>828はなしで
>>828はなしで
830デフォルトの名無しさん (ワッチョイ 9f23-wtpF)
2018/01/04(木) 07:39:39.14ID:IGCyfMcU0831デフォルトの名無しさん (ササクッテロリ Spcf-xohC)
2018/01/04(木) 08:01:11.56ID:5mprgbRzp832デフォルトの名無しさん (ワッチョイ 0ffa-aKZ8)
2018/01/04(木) 10:15:47.38ID:fF+rBx/60 データベース系のデータは素直にデータベースソフトで管理しようよ・・・。
アクセスでやればマウス操作だけで終わる様な問題だよ。
アクセスでやればマウス操作だけで終わる様な問題だよ。
833デフォルトの名無しさん (ワッチョイ 9f2d-Zjw3)
2018/01/04(木) 10:22:48.62ID:d1LyNdol0834デフォルトの名無しさん (アウアウイー Sacf-rQ0k)
2018/01/04(木) 10:31:44.20ID:no6Ylxj0a sqlならselectとorder byだけですむ案件だな
愚直にプログラム組むと厄介だけどね
愚直にプログラム組むと厄介だけどね
835デフォルトの名無しさん (スプッッ Sdbf-5v12)
2018/01/04(木) 10:38:07.48ID:7zx5w2nrd ピボットでいいんじゃね
836デフォルトの名無しさん (スッップ Sdbf-w0Bz)
2018/01/04(木) 11:56:10.93ID:iFN99ve4d LINQって使えないんだっけ?
837デフォルトの名無しさん (ワッチョイ eb2b-F1OP)
2018/01/04(木) 13:22:48.32ID:Gj6t78kg0838デフォルトの名無しさん (ワッチョイ 9fb3-Ogju)
2018/01/04(木) 13:42:37.28ID:hO93+Igl0839デフォルトの名無しさん (アウアウイー Sacf-rQ0k)
2018/01/04(木) 13:47:48.60ID:cJgHrV+ta >>838
だめじゃないし、初心者なら無理やりVBAで組むのも勉強になるよ
重複の無いリスト作るのがやや面倒というか、煩雑になりがちなところだな
エクセルの機能使えばいいっちゃいいけど、好みじゃないな
だめじゃないし、初心者なら無理やりVBAで組むのも勉強になるよ
重複の無いリスト作るのがやや面倒というか、煩雑になりがちなところだな
エクセルの機能使えばいいっちゃいいけど、好みじゃないな
840デフォルトの名無しさん (ワッチョイ 9fb3-Ogju)
2018/01/04(木) 13:55:27.88ID:hO93+Igl0 >>839
おれこういうの無理矢理やっちゃうの大好きで完成すると充実感半端ない
俺が組むマクロってそんなのばかりだ
基本初心者レベルの知識しか使わないでやっちゃうんで、
こういう質問をする人は、無理矢理やると遅くなるとか別の理由があって聞いてるのかな?
とか思っちゃう
おれこういうの無理矢理やっちゃうの大好きで完成すると充実感半端ない
俺が組むマクロってそんなのばかりだ
基本初心者レベルの知識しか使わないでやっちゃうんで、
こういう質問をする人は、無理矢理やると遅くなるとか別の理由があって聞いてるのかな?
とか思っちゃう
841デフォルトの名無しさん (ワッチョイ 9f9b-jEmF)
2018/01/04(木) 15:19:59.75ID:kPmYITG+0 ファーム1の中に、オプションボタンが18個あり、オブジェクト名を『OP_1』〜『OP_18』としてボタン1を押してフォーム2に切り替える時に選択されてるオプションボタンのキャプションを取得して変数TUR1に入れたいんですけどどうしたらいいですか?
842デフォルトの名無しさん (ワッチョイ ef9d-/oj5)
2018/01/04(木) 16:20:08.23ID:pGh8JphK0 >>841
For i = 1 To 18
With Me.Controls("OP_" & CStr(i))
If .Value = True Then
TUR1 = .Caption
Exit For
End If
End With
Next
For i = 1 To 18
With Me.Controls("OP_" & CStr(i))
If .Value = True Then
TUR1 = .Caption
Exit For
End If
End With
Next
843デフォルトの名無しさん (スップ Sdbf-dCp1)
2018/01/04(木) 17:41:48.62ID:uhyB+DSmd 初心者なんだけど以下のような表から特定のセルに入力された場合だけ、特定のセルをカウントする方法ってありますか?
Aは全て
Bは選ばれたものだけ、みたいな
Aの全てをカウントするのはわけないんだけど、Bの選ばれたものだけをカウントする方法がわからない
IF使うにしても何を指定すればいいのでしょう?
わかりにくかてすいません
Aは全て
Bは選ばれたものだけ、みたいな
Aの全てをカウントするのはわけないんだけど、Bの選ばれたものだけをカウントする方法がわからない
IF使うにしても何を指定すればいいのでしょう?
わかりにくかてすいません
844デフォルトの名無しさん (アウアウイー Sacf-rQ0k)
2018/01/04(木) 17:54:54.38ID:IwnGnNnba845デフォルトの名無しさん (スプッッ Sdbf-jEmF)
2018/01/04(木) 18:02:17.19ID:HiTEnEcXd >>842
ありがとうございます!
ありがとうございます!
846デフォルトの名無しさん (スップ Sdbf-dCp1)
2018/01/04(木) 18:13:43.61ID:uhyB+DSmd847デフォルトの名無しさん (スップ Sdbf-dCp1)
2018/01/04(木) 18:23:20.07ID:uhyB+DSmd すいません、間違えて書き込んでしまいました
>>844
Bがtrueなら、というのはどうやって指定すればいいですか?
範囲指定でがっつりやると、指定した範囲に一つでもtrueがあるとカウントしてしまって結局全部をカウントしてしまうんです
>>844
Bがtrueなら、というのはどうやって指定すればいいですか?
範囲指定でがっつりやると、指定した範囲に一つでもtrueがあるとカウントしてしまって結局全部をカウントしてしまうんです
848デフォルトの名無しさん (ワンミングク MMbf-OpPU)
2018/01/04(木) 18:27:59.94ID:iMxAIJokM >>826
何も難しく考えなくても、E列に=A&B&Cを入れて、E列を行ラベルにしてピボットテーブルで集計するだけで出来るよ。
ABC列をもどしたいならINDEX,MATCHで引っ張って来ないといけないけども、日々エクセル使ってる人なら手慣れたものだと思う。と言うか慣れておくと色々便利。
詳しい解説いるならする
何も難しく考えなくても、E列に=A&B&Cを入れて、E列を行ラベルにしてピボットテーブルで集計するだけで出来るよ。
ABC列をもどしたいならINDEX,MATCHで引っ張って来ないといけないけども、日々エクセル使ってる人なら手慣れたものだと思う。と言うか慣れておくと色々便利。
詳しい解説いるならする
849デフォルトの名無しさん (アウアウイー Sacf-rQ0k)
2018/01/04(木) 18:58:58.92ID:IwnGnNnba850デフォルトの名無しさん (ワッチョイ ef9d-/oj5)
2018/01/05(金) 02:37:52.28ID:UixpopG00 フィルタとCOUNTIFで良い気がするが
どうしてもVBAでやりたいのか?
どうしてもVBAでやりたいのか?
851デフォルトの名無しさん (ワッチョイ efe7-eFUV)
2018/01/05(金) 17:45:28.92ID:Kfn/8I4m0 HTMLソースで
<a href = URL1</a>
<br />**** ← 4桁の特定の数字が入る
<a href = URL2>予約中</a>
<a href = URL3>[取消]</a><br /><a href = URL4>[訂正]</a>
上記の4桁の数字とURL以外同様のソースが全部で10個あるページがあり、C5セルに4桁の数字を入れ、それに対応したURL3のリンクをクリックしたいのですが、どうすれば可能でしょうか?
IEでそのページまで飛ぶのは問題ないのですが、aタグのインナーテキストが4桁の数字以外共通なためForとGetElementsByTagNameとの組み合わせでクリックできないので何か手段があれば教えて頂きたいです。
<a href = URL1</a>
<br />**** ← 4桁の特定の数字が入る
<a href = URL2>予約中</a>
<a href = URL3>[取消]</a><br /><a href = URL4>[訂正]</a>
上記の4桁の数字とURL以外同様のソースが全部で10個あるページがあり、C5セルに4桁の数字を入れ、それに対応したURL3のリンクをクリックしたいのですが、どうすれば可能でしょうか?
IEでそのページまで飛ぶのは問題ないのですが、aタグのインナーテキストが4桁の数字以外共通なためForとGetElementsByTagNameとの組み合わせでクリックできないので何か手段があれば教えて頂きたいです。
852デフォルトの名無しさん (アウアウカー Sa4f-nLZj)
2018/01/05(金) 21:06:25.46ID:UyFZaUswa853851 (ワッチョイ efe7-eFUV)
2018/01/05(金) 21:25:01.57ID:Kfn/8I4m0 >>852
あ、確かに。書き間違えました。下記のコードだと10個のリンクのうち、一番上にあるやつをクリックすると思うのですが、
C5セルに入力した特定の4桁の数字の下にあるリンクをクリックしたいのです。
For Each obj In objIE.Document.getElementsByTagName("a")
If InStr(obj.innertext, "取消") > 0 Then
obj.Click
Exit For
End If
Next
あ、確かに。書き間違えました。下記のコードだと10個のリンクのうち、一番上にあるやつをクリックすると思うのですが、
C5セルに入力した特定の4桁の数字の下にあるリンクをクリックしたいのです。
For Each obj In objIE.Document.getElementsByTagName("a")
If InStr(obj.innertext, "取消") > 0 Then
obj.Click
Exit For
End If
Next
854デフォルトの名無しさん (ワッチョイ ef9f-hL1C)
2018/01/05(金) 22:16:41.06ID:vO88ak3C0 DOMに親要素とか隣の要素を見ていくのあったよね
あれで必要なだけ移動させればいいんじゃね
あれで必要なだけ移動させればいいんじゃね
855デフォルトの名無しさん (ワッチョイ ef9f-hL1C)
2018/01/05(金) 22:20:08.87ID:vO88ak3C0856デフォルトの名無しさん
2018/01/07(日) 08:20:46.08 >>843
VBAを使わずにExcelの計算式で書くとこうだよね。
・C列が「10」、B列が「○」の行を数えるなら
=COUNTIFS($C$2:$C$6,10,$B$2:$B$6,"○")
・C列が「10」、B列が空以外の行を数えるなら
=COUNTIF($C$2:$C$6,10)-COUNTIFS($A$2:$A$6,10,$B$2:$B$6,"")
これをVBAで書きたいなら、そのままワークシート関数を呼び出せばいい。
・C列が「10」、B列が「○」の行を数えるなら
With Worksheets("Sheet1")
dblCnt = WorksheetFunction.CountIfs(.Range("C2:C6"), 10, .Range("B2:B6"), "○")
End With
・C列が「10」、B列が空以外の行を数えるなら
With Worksheets("Sheet1")
dblCnt = WorksheetFunction.CountIf(.Range("C2:C6"), 10) - WorksheetFunction.CountIfs(.Range("C2:C6"), 10, .Range("B2:B6"), "")
End With
注:COUNTIFS関数はOffice 2007で追加されたので、2003とかでも動くようにするには
計算式なら配列数式を使うかダミーの結合列 (例: F列に =B2&”:”&C2)を使う必要があるし、
VBAなら自前で1行ずつループするFor文を書く必要がある。
VBAを使わずにExcelの計算式で書くとこうだよね。
・C列が「10」、B列が「○」の行を数えるなら
=COUNTIFS($C$2:$C$6,10,$B$2:$B$6,"○")
・C列が「10」、B列が空以外の行を数えるなら
=COUNTIF($C$2:$C$6,10)-COUNTIFS($A$2:$A$6,10,$B$2:$B$6,"")
これをVBAで書きたいなら、そのままワークシート関数を呼び出せばいい。
・C列が「10」、B列が「○」の行を数えるなら
With Worksheets("Sheet1")
dblCnt = WorksheetFunction.CountIfs(.Range("C2:C6"), 10, .Range("B2:B6"), "○")
End With
・C列が「10」、B列が空以外の行を数えるなら
With Worksheets("Sheet1")
dblCnt = WorksheetFunction.CountIf(.Range("C2:C6"), 10) - WorksheetFunction.CountIfs(.Range("C2:C6"), 10, .Range("B2:B6"), "")
End With
注:COUNTIFS関数はOffice 2007で追加されたので、2003とかでも動くようにするには
計算式なら配列数式を使うかダミーの結合列 (例: F列に =B2&”:”&C2)を使う必要があるし、
VBAなら自前で1行ずつループするFor文を書く必要がある。
857デフォルトの名無しさん (スプッッ Sdea-p8jN)
2018/01/11(木) 12:40:04.91ID:eKl5cJvJd コンボboxを使ってサジェスト機能みたいなことをしたくて作ってみたんだけど、1文字目はうまくいくんだけど2文字目以降打つとリストの一番上が乗ってきて使い心地が良くないんだけど、どうしたらいいですか?
コンボboxのリストのみをクリアするやり方もいまいちわかりません。
j=2
Tname.rist=array()
set MstSht=worksheets(″マスター″)
str_word=controls(″Tname″&j).value
for i=2toMstSht.cells(rows.count,6).end(xlup).row
if instr(ucase(MstSht.cells(i,6).value),ucase(str_word))=1 then
controls(″Tname″&j).additem MstSht.cells(i,6).value
end if
next
コンボboxのリストのみをクリアするやり方もいまいちわかりません。
j=2
Tname.rist=array()
set MstSht=worksheets(″マスター″)
str_word=controls(″Tname″&j).value
for i=2toMstSht.cells(rows.count,6).end(xlup).row
if instr(ucase(MstSht.cells(i,6).value),ucase(str_word))=1 then
controls(″Tname″&j).additem MstSht.cells(i,6).value
end if
next
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 食品の高騰対策、政府が交付金の「特別枠」検討 原則全ての自治体で [蚤の市★]
- 【超絶悲報】日本政府「高市さんの答弁撤回はない。政権として弱腰と映る姿勢は見せられない」これもう立憲岡田の議員辞職しかないだろ [519511584]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 台湾「高市さんが台湾人の悲願を叶えてくれた!」これじゃ高市さん発言撤回できないぢゃん😰 [523957489]
- 高市周辺、さすがに焦り始めるww「小さな火種が火事になりかけている。早く鎮火しなくてはいけない」 [271912485]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
