Excel VBA 質問スレ P ..
[2ch|▼Menu]
791:デフォルトの名無しさん
17/12/29 07:22:34.45 b/Z/hzqU0.net
>>734
あー、昔そんな事象に当たったことあるよ
原因は同じかどうかは分からんけど
俺の場合とんでもなく深い階層のフォルダに置いてたら
VBEのシートモジュールが青く表示されてコードが作成できなくなった
そのファイル、とりあえず浅い階層のフォルダや
どこかのサーバに置いているなら
クライアント側にコピーして内容確認出来る?

792:デフォルトの名無しさん
17/12/29 08:53:00.31 JNsjSKSN0.net
732、753です
皆様レスありがとうございます。
作成の不具合は、全くの新規Bookでも起こります。
既存マクロの場合は、コードの表示と実行は行えますが
編集が制限されています。
問題が発生してから、他のPCで新規作成したマクロを
該当PCで実行しようとしましたが、それはコードの表示すら
できませんでした。ファイルサーバー経由とかではなく
デスクトップ上に置いて実行しても同じです。
Accessでは特に問題ないので、VBAそのものではなく、
Excel単体の何かだとは思うのですが、皆目見当がつきませぬ。

793:デフォルトの名無しさん
17/12/29 10:57:41.44 MXSoKJ1y0.net
>>767
>>761です
一部コピペして使ったので何か消してしまったのかもしれません・・・
確認してみます、ありがとうございます。

794:デフォルトの名無しさん
17/12/30 12:22:18.46 cGzM6pFo0.net
CreateObject("System.Collections.ArrayList")ってやったら
.NETのArrayListがVBAで使えてしまったんですが
これ隠し機能とかじゃなくて正式に使っていいんですよね?

795:デフォルトの名無しさん
17/12/30 13:25:09.57 dKM8JRI70.net
前にも話題に上がったけど
.NETのほんの一部はVBAからも使える
リファレンスにも書いてあったような気がする
他で代替できるのでArrayListをわざわざ使うメリットはないということで
その


796:ときは終わったと思う



797:デフォルトの名無しさん
17/12/30 15:32:35.43 cGzM6pFo0.net
>>773
参考にします。ありがとうございました

798:デフォルトの名無しさん
17/12/30 15:33:00.15 xXJ5T9Ia0.net
>>772
.Net Frameworkの機能でコンストラクタに引数を渡す必要のないものは使えるらしい
>>773
ArrayListは各種メソッドが揃ってるからコレクションより使いやすいんじゃね?キーを使わないなら
ただ遅いのがたまに傷

799:デフォルトの名無しさん
17/12/31 01:12:29.94 z2hgHR3O8
フォルダ(C:\print)内の複数のPDFファイル(ファイル名不規則)を、各々1頁目のみ連続印刷したいと思ってます。
VBAやコマンドライン初心者ですが、ネットで調べたところPDF xchange viewerのコマンドラインで1頁目のみ連続印刷する方法はわかりました。
しかし、下記のように各ファイルについてファイル名もパスも記載しないとダメなようでした。
PDFXCview.exe /print:pages=1 C:\print\123.pdf C:\print\abc.pdf

VBAの方では下記のように*.pdfでファイル名必要なく連続印刷できますが頁指定の仕方が分かりません。
/tをとれば印刷ダイアログ開いて頁指定できますが、いちいち全てのファイルについて指定しないといけないので余り意味がありません。
何か良い方法がないでしょうか。
Sub pdf印刷()
Dim strPath As String
Dim strFilename As String
Dim myShell As Object
Set myShell = CreateObject("WScript.Shell")
strPath = "C:\print"
strFilename = Dir(strPath & "\*.pdf")
Do While strFilename <> ""
myShell.Run ("AcroRd32 /t " & strPath & "\" & strFilename)
strFilename = Dir
Loop
Set myShell = Nothing
End Sub

800:デフォルトの名無しさん
17/12/31 08:34:16.68 5sx4VZ0k0.net
>>774
Windows APIだって使えるんだぞ?

801:デフォルトの名無しさん
17/12/31 08:58:37.79 TXRnAgcd0.net
VBAの保存方法について
バックアップどうしてますか?
VBAのマクロだと戻る釦聞かないし、バグって復旧するとマクロの個所全部消えちゃうので2つくらいのバックアップを別ファイルでとってあるんですけど皆さんはどうしてますか?
まだ素人なので思ったのと違う処理になって戻せなくなることがしょっちゅうあるので
バックアップは大事

802:775
17/12/31 09:02:17.31 TXRnAgcd0.net
>>778
戻る釦ってまるい矢印の奴ね

803:デフォルトの名無しさん
17/12/31 09:09:26.61 PwPBZUwb0.net
>>778
バージョン管理システム入れてないなら同じになるでしょ。
俺も同じくでファイル名_Ver nnn.xlsmと言うかたちで3世代別フォルダに保存してるけど
(時たま忘れたりする^^;

804:デフォルトの名無しさん
17/12/31 09:49:30.47 aMifsa1T0.net
マクロ有りエクセルファイル自体にデータを入れて運用するのと、
データは別エクセルファイルにしてマクロ有りエクセルファイルでデータ入りエクセルファイルを操作するのと、
どっちがメンテナンスしやすい作り方だろうか?
いつも悩んでしまう

805:デフォルトの名無しさん
17/12/31 09:52:29.70 35C6Q16O0.net
アドインマクロにしましょう

806:デフォルトの名無しさん
17/12/31 11:06:17.25 fsRyV04Q0.net
マクロのバージョン管理ってどうやってます?
インポートファイルを分けすぎると不便なのでshareFanction見たいなインポートファイルに使いそうな関数全部入れてますが、初心者なもので開発中に関数の引数や戻り値を変えたくなるような場面が多々あり
今までのshareFanctionと互換性が保てなくなりますが、引数と戻り値を修正した関数以外でバグを潰したような関数は最新を使用したいです。
今はコピペで対応してますが

807:デフォルトの名無しさん
17/12/31 11:27:58.03 rNrttlhS0.net
個人なのか仕事なのか書かないと有効なレスがつかないのではないかな

808:デフォルトの名無しさん
17/12/31 11:34:47.18 fsRyV04Q0.net
>>784
個人です
個人で開発、個人で使用


809:ナす



810:デフォルトの名無しさん
17/12/31 11:36:51.05 rNrttlhS0.net
>>785
ならGithubとSourceTreeで快適にできるんじゃないの?
俺も全然高度な使いこなしできてないけど楽ちんだ

811:デフォルトの名無しさん
17/12/31 11:55:17.97 fsRyV04Q0.net
>>786
ありがとうございます
ざっとみた感じソースファイルのバージョン管理はできそうですが、
例えばサーバーあるいはローカルマシン上にそのshareFanctionを使用している分散しておいてある場合、
それぞれのマクロを調べて更新したいファイルを選択、修正版マクロを適用する、
みたいな使い方ってできるんですかね?

812:デフォルトの名無しさん
17/12/31 11:57:21.02 fsRyV04Q0.net
>>787
>>例えばサーバーあるいはローカルマシン上にそのshareFanctionを使用している分散しておいてある場合、
修正
shareFanctionを使用しているファイルが

813:デフォルトの名無しさん
17/12/31 12:53:47.48 TXRnAgcd0.net
ヴァージョンって仕事じゃないからいつから何時まででUP履歴にしたらいいかわからなん
機能変更したら必ずかもしれないけど、個人用だとやりながら変更しているからバージョン数が半端ないことになる。

814:デフォルトの名無しさん
17/12/31 13:10:06.47 sYPUhsnja.net
バージョン管理は大変だよな
インストーラーみたいなのつくってどうにかしようとしてるがうまく行くかわからん

815:デフォルトの名無しさん
17/12/31 13:25:39.05 pVPyHW7p0.net
>>789
> バージョン数が半端ないことになる。
問題ないでしょ

816:デフォルトの名無しさん
17/12/31 13:31:04.61 fsRyV04Q0.net
>>790
専用のソフトがなければ1sheetをマクロ関数管理用にして各関数内にver x.y.z(x変更で互換性無し、y変更で互換性あり、z変更は互換性ありバグ修正みたいにして)
モジュールをインポートしたファイルをオープン時に、イベント検知で所定の管理ファイルを検索、新しいバージョンがあれば自動で今までのモジュールを解放、y,zバージョンが最新のファイルをインポート
みたいにすれば実現可能そうですが結構手間がかかりそうで…

817:デフォルトの名無しさん
17/12/31 13:56:42.14 hllNi94Va.net
マクロで書けよ。
バージョン管理。
セキュリティが低下するけどな。

818:デフォルトの名無しさん
17/12/31 18:06:59.07 nOUozIFo0.net
そもそも論として、たかがマクロでバージョン管理が必要になるような力作()作るなよw
キミたちは一体エクセルマクロで何を築こうとしておるのかねw

819:デフォルトの名無しさん
17/12/31 18:13:51.04 2b4EaTgg0.net
仕事でVBA扱ってると色々な理由から小さいマクロでもバージョン管理が必要になってくる。

820:デフォルトの名無しさん
17/12/31 19:27:51.32 rNrttlhS0.net
>>794
内容がぐちゃぐちゃになったら困るものにはバージョン管理が必要さ
力作()でなくても再構築はかったるいからな

821:デフォルトの名無しさん
17/12/31 19:58:25.49 nOUozIFo0.net
>>796
力作()じゃないのにぐちゃぐちゃになるってどんだけ当てずっぽうにマクロ書いてんだよw

822:デフォルトの名無しさん
17/12/31 20:00:31.71 pVPyHW7p0.net
社内に展開するとかでサポートが必要ならバージョン管理ぐらいは必須だろ
>>794は無知すぎ

823:デフォルトの名無しさん
17/12/31 20:24:53.68 nOUozIFo0.net
>>798
確かにおまえらの考える事は見当もつかんけどなw
別にいいや無能思考に明るくならなくてもw

824:デフォルトの名無しさん
17/12/31 20:28:42.31 1PdKj8Yj0.net
またメゾット君か。

825:デフォルトの名無しさん
17/12/31 20:42:44.41 rRjJbr8wx.net
メゾット君って雰囲気ですぐ分かるよね

826:デフォルトの名無しさん
17/12/31 20:54:32.08 KnonKKai0.net
OLDフォルダにファイル名の後に日付つけたファイルをコピーしてる

827:デフォルトの名無しさん
17/12/31 21:20:00.26 A+5By6dM0.net
ていうかバイナリファイルをバージョン管理システムに登録したところで
単なる時系列バックアップにしかならんうえに
シートを更新しただけでバージョンが変わるから意味ないのでは

828:デフォルトの名無しさん
17/12/31 22:37:10.58 rNrttlhS0.net
力作2.0

829:デフォルトの名無しさん
17/12/31 22:50:02.43 InzisC8s0.net
悩みはみんな一緒なんだね。俺はバージョンアップに悩んでアドイン化したが
これはこれで悩ましいところがあるんだな。シートを初期化(つまりClearとかClearContents)する
のにもよーく考えないと結構危ない。アドインはどのブックでも実行出来てしまうからPCに疎いヤツが使うのも考えると
別の方法を考えた方が良いんだろうかとか考えてる。

830:デフォルトの名無しさん
17/12/31 22:55:00.56 rNrttlhS0.net
>>805
アドインてxlamのこと?
だったらそのシートは一切使っちゃダメだよ
プログラムモジュールだけの存在にするべき

831:デフォルトの名無しさん
17/12/31 23:12:43.15 InzisC8s0.net
>>806
そりゃ分かってるての。ブックを指定する時は「ActiveWorkBook」とするしかない(決めつけはよくないが)
からよーく考えてコードを書かないと危ない場合もあるって話。使う連中の9割はマクロどころかシート関数も
知らないような連中なんだから。

832:デフォルトの名無しさん
17/12/31 23:41:30.90 rNrttlhS0.net
>>807
・処理をスタートするFunction や Subはアドイン側にはない。当該Book側にある
・そのFunction や Subがアドイン側の機能を使う
だとするとアドイン側に「ActiveworkBook」なんて書く必要はなくて、処理対象のSheetやRangeを
引数で受け取るだけになると思うんだがね

833:デフォルトの名無しさん
17/12/31 23:52:05.59 InzisC8s0.net
>>808
作業するBookはxlsxなんだよ。マクロはxlms側に書いてある。
なんでこうしたかというと、仕事柄、ブックは地方自治体に提出する場合があるから。
何の事かわからないだろうからもうちょっと書くと、測量データの野帳なんだよ。

834:806
17/12/31 23:53:24.81 InzisC8s0.net
xlmsじゃねえや、xlamだな。

835:デフォルトの名無しさん
18/01/01 04:27:25.57 WDGj6QXoH.net
>>809
マクロ有効ブックから
マクロ無効ブックを開いて処理して保存して閉じる
という方法も有ると思う

836:デフォルトの名無しさん
18/01/01 09:37:05.14 hnfikatx0.net
自動処理したいなら>>811だろうし、操作者が開いて何かしたいならメニューに追加しとけばいいだけだと思う
>>809は無知なのかちょっと頭固いんだろうな

837:デフォルトの名無しさん
18/01/01 13:40:19.53 iV2QIiO7H.net
>>812
作業ブック側にコード書けないんだよ。知ったかすんなよボケ

838:デフォルトの名無しさん
18/01/01 13:55:03.62 7v1CUCWaM.net
>>813
作業ブックにコードなんか要らんだろ w
知らないなら黙ってろ
てか、アドインでメニュー追加なんて基本中の基本だと思うが
URLリンク(toshimana.hatenablog.com)

839:デフォルトの名無しさん
18/01/01 14:25:45.74 7yffOGmB0.net
知らないことを素直に知らないと言いなさい

840:
18/01/01 14:27:07.60 tZ/lpIQo0.net
今年はいい年になるかなw

841:デフォルトの名無しさん
18/01/01 14:29:26.10 UomJiKNZ0.net
>>814
Workbook_AddinUninstall てのは知らなかったな。
Workbook_Open するのと効果は違うんだろうか?

842:デフォルトの名無しさん
18/01/01 14:54:13.21 ixsE+qrMx.net
またメゾット君が暴れてるな
あの馬鹿が出入りするようになってから荒れすぎ

843:デフォルトの名無しさん
18/01/01 15:45:18.49 bzNinO0Ma.net
>>817
よく考えろよ

844:デフォルトの名無しさん
18/01/01 16:11:19.12 PLRWaMeF0.net
>>819
おっと、 Workbook_AddinInstallを Workbook_AddinUninstallと書き間違えた

845:デフォルトの名無しさん
18/01/02 09:36:26.90 nA397GZea.net
>>820
だとしてもだ
イベントの言葉の意味そのままだよ
よく考えろよ

846:デフォルトの名無しさん
18/01/02 12:29:02.41 MKa2S+Tjd.net
>>821
「対象のアドインを参照設定しているブックを開いた」というイベントを想定してた
そうじゃないのね

847:デフォルトの名無しさん
18/01/03 10:57:08.56 rhTFyGx/0.net
>>806
そんなことはない。
設定値を保存するためのiniファイルの代わりにするとか、テンプレートの代わりにするとか、使い道は沢山ある。

848:デフォルトの名無しさん
18/01/03 11:46:24.84 ZpYRfYyG0.net
アドインにするにしてもなんにしても運用がしっかりされてないと意味がない
ファイル名やシート名程度が保証されてないならマクロ化なんて諦めろ

849:デフォルトの名無しさん
18/01/03 11:59:35.70 Uz65NhYa0.net
>>823
設定値を保存するのはやめたほうが良いと思うな。
バージョンアップしたときに設定値がリセットされてしまうとか、エクセルバグの巻き添えでブック破損の危険性がある。
できるだけアドインは読み取り専用で運用するべきだと思う。
過去に内部シートに保存するように作って問題が起きたので、バージョンアップ時にxmlにコンバートさせた事があるわ

850:デフォルトの名無しさん
18/01/03 12:49:50.09 lLEkaf6s0.net
お前のバグを根拠にされてもなぁ

851:デフォルトの名無しさん
18/01/03 14:45:49.49 hfgsKA7ma.net
まあ、設定は外出しにするのが普通に安全策じゃね?
xlamのシートは明らかに利用してほしくないっていう思いが伝わる作りな訳だから

852:デフォルトの名無しさん
18/01/03 15:32:51.77 00k1dN96d.net
利用者が不用意にセルデータをクリアしてそのままセーブしても自覚すらしないかも

853:デフォルトの名無しさん
18/01/04 05:46:13.89 UuI+tM4Q0.net
質問よろしくお願いします。
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行程です。

854:デフォルトの名無しさん
18/01/04 06:37:20.49 MFccPkO20.net
1000行程度ならSUMIFSとかでできるんじゃないの

855:デフォルトの名無しさん
18/01/04 06:55:39.59 IcyEu6L/M.net
>>829
要件によるけどそういうビューを作ればいいんじゃね?
create view V as (
select A列,B列,C列,sum(D列) as D列
from 表
group by A列,B列,C列
)

856:デフォルトの名無しさん
18/01/04 06:57:20.78 IcyEu6L/M.net
すまん、寝ぼけててSQLスレと勘違いしてた...
>>831はなしで

857:デフォルトの名無しさん
18/01/04 07:39:39.14 IGCyfMcU0.net
>>829
見るからにデータベース向けの案件
集計するキーとなる列が左端一列、その右に合計対象の数値列という2列形式なら
データタブにある統合でできるんだが

858:デフォルトの名無しさん
18/01/04 08:01:11.56 5mprgbRzp.net
>>830
すみません説明不足でした。
キー項目が1000種類以上あり、毎回CSVから読み込んでから処理をする為、事前にWorkSheet関数を作っておくのが難しい状況です。
何か手はありますか?

859:デフォルトの名無しさん
18/01/04 10:15:47.38 fF+rBx/60.net
データベース系のデータは素直にデータベースソフトで管理しようよ・・・。
アクセスでやればマウス


860:操作だけで終わる様な問題だよ。



861:デフォルトの名無しさん
18/01/04 10:22:48.62 d1LyNdol0.net
>>834
ADOでcsvファイルをデータベースとして接続して >>831 に挙げられた
SELECT文を実行する、という手段がとれる

862:デフォルトの名無しさん
18/01/04 10:31:44.20 no6Ylxj0a.net
sqlならselectとorder byだけですむ案件だな
愚直にプログラム組むと厄介だけどね

863:デフォルトの名無しさん
18/01/04 10:38:07.48 7zx5w2nrd.net
ピボットでいいんじゃね

864:デフォルトの名無しさん
18/01/04 11:56:10.93 iFN99ve4d.net
LINQって使えないんだっけ?

865:デフォルトの名無しさん
18/01/04 13:22:48.32 Gj6t78kg0.net
>>829
嘔吐フィルターかけてソートしてから
一致を


866:上からみて加算と消去 フィルター解除忘れずに(多分ソート直後にすぐ)



867:デフォルトの名無しさん
18/01/04 13:42:37.28 hO93+Igl0.net
>>829

上級者じゃない俺なんかこういうのみると
全部2次元配列にぶちこんでif多用して無理矢理やっちゃうんだけど
そういうのはだめなの?

868:デフォルトの名無しさん
18/01/04 13:47:48.60 cJgHrV+ta.net
>>841
だめじゃないし、初心者なら無理やりVBAで組むのも勉強になるよ
重複の無いリスト作るのがやや面倒というか、煩雑になりがちなところだな
エクセルの機能使えばいいっちゃいいけど、好みじゃないな

869:デフォルトの名無しさん
18/01/04 13:55:27.88 hO93+Igl0.net
>>842
おれこういうの無理矢理やっちゃうの大好きで完成すると充実感半端ない
俺が組むマクロってそんなのばかりだ
基本初心者レベルの知識しか使わないでやっちゃうんで、
こういう質問をする人は、無理矢理やると遅くなるとか別の理由があって聞いてるのかな?
とか思っちゃう

870:デフォルトの名無しさん
18/01/04 15:19:59.75 kPmYITG+0.net
ファーム1の中に、オプションボタンが18個あり、オブジェクト名を『OP_1』〜『OP_18』としてボタン1を押してフォーム2に切り替える時に選択されてるオプションボタンのキャプションを取得して変数TUR1に入れたいんですけどどうしたらいいですか?

871:デフォルトの名無しさん
18/01/04 16:20:08.23 pGh8JphK0.net
>>844
For i = 1 To 18
With Me.Controls("OP_" & CStr(i))
If .Value = True Then
TUR1 = .Caption
Exit For
End If
End With
Next

872:デフォルトの名無しさん
18/01/04 17:41:48.62 uhyB+DSmd.net
初心者なんだけど以下のような表から特定のセルに入力された場合だけ、特定のセルをカウントする方法ってありますか?
Aは全て
Bは選ばれたものだけ、みたいな
Aの全てをカウントするのはわけないんだけど、Bの選ばれたものだけをカウントする方法がわからない
IF使うにしても何を指定すればいいのでしょう?
わかりにくかてすいません
URLリンク(o.8ch.net)

873:デフォルトの名無しさん
18/01/04 17:54:54.38 IwnGnNnba.net
>>843
普通にやり方がわからないんじゃないの
>>846
cがキーになるなら重複しないcの一覧をつくって二次元配列でも構造体でもいいけどbがtrueならカウントするっていう風にすればいいと思う
件数多いならDBの領分だと思うけどね、この手の集計は

874:デフォルトの名無しさん
18/01/04 18:02:17.19 HiTEnEcXd.net
>>845
ありがとうございます!

875:デフォルトの名無しさん
18/01/04 18:13:43.61 uhyB+DSmd.net
>>847
Bがtrueなら、というのはどうやって指定すればいいですか?
範囲指定で

876:デフォルトの名無しさん
18/01/04 18:23:20.07 uhyB+DSmd.net
すいません、間違えて書き込んでしまいました
>>847
Bがtrueなら、というのはどうやって指定すればいいですか?
範囲指定でがっつりやると、指定した範囲に一つでもtrueがあるとカウントしてしまって結局全部をカウントしてしまうんです

877:デフォルトの名無しさん
18/01/04 18:27:59.94 iMxAIJokM.net
>>829
何も難しく考えなくても、E列に=A&B&Cを入れて、E列を行ラベルにしてピボットテーブルで集計するだけで出来るよ。
ABC列をもどしたいならINDEX,MATCHで引っ張って来ないといけないけども、日々エクセル使ってる人なら手慣れたものだと思う。と言うか慣れておくと色々便利。
詳しい解説いるならする

878:デフォルトの名無しさん
18/01/04 18:58:58.92 IwnGnNnba.net
>>850
一行ずつループしてるんだよね?
フラグ用に変数用意してるなら一ループごとに初期化し直さないとだめよ
ってか、今どんなコードで動かしてるか書いてくれるとやり易いんだけど

879:デフォルトの名無しさん
18/01/05 02:37:52.28 Uixpo


880:pG00.net



881:デフォルトの名無しさん
18/01/05 17:45:28.92 Kfn/8I4m0.net
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との組み合わせでクリックできないので何か手段があれば教えて頂きたいです。

882:デフォルトの名無しさん
18/01/05 21:06:25.46 UyFZaUswa.net
>>829
そういう処理だったらソートしても問題無さそうだからソートしてループで良いんじゃね?
>>854
4桁の数字以外共通だとどうしてForとGetElementsByTagnameとの組み合わせでクリック出来ないのかが分からん。

883:851
18/01/05 21:25:01.57 Kfn/8I4m0.net
>>855
あ、確かに。書き間違えました。下記のコードだと10個のリンクのうち、一番上にあるやつをクリックすると思うのですが、
C5セルに入力した特定の4桁の数字の下にあるリンクをクリックしたいのです。
For Each obj In objIE.Document.getElementsByTagName("a")
If InStr(obj.innertext, "取消") > 0 Then
obj.Click
Exit For
End If
Next

884:デフォルトの名無しさん
18/01/05 22:16:41.06 vO88ak3C0.net
DOMに親要素とか隣の要素を見ていくのあったよね
あれで必要なだけ移動させればいいんじゃね

885:デフォルトの名無しさん
18/01/05 22:20:08.87 vO88ak3C0.net
>>829
>>836の方法で頑張ってコードにしたのを書き込みたいんだけど
403になっちゃうのよね
禁断のコードが含まれているのかしら

886:デフォルトの名無しさん
18/01/07 08:20:46.08 .net
>>846
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文を書く必要がある。

887:デフォルトの名無しさん
18/01/08 01:12:41.23 bgHHDE53D
>>856
すごい お馬鹿な返信で申し訳ないけど
イメージとしてまず、

<a href = URL1</a>
<br />**** ← 4桁の特定の数字が入る
<a href = URL2>予約中</a>
<a href = URL3>[取消]</a><br /><a href = URL4>[訂正]</a>

の部分がページ内で繰り返して複数あるなら、この部分だけを取り出す処理を繰り返して splitなりで個数を数えて 処理するとか。(取り出す位置は、InStrで取って、終わり位置を 次の開始位置にして)

その上で、この部分にC5と同じ値があるならクリックするとか。
C5の値を変数aにして、InStr(取り出した部分, a) > 0で良いような。


すいません。曖昧な返信で。

888:sage
18/01/11 23:28:08.34 kwmxLljDv
教えていただきたいです。

あるセルの数字に関して
o以下と12以上はA
6以上12未満はB
それ以外はなしという式を作るとしたら

=if(or(セル<0,セル>=12),"A",if(6<セル=<12,"B"," "))
という式ではちゃんと返ってきません。

正しい式をご教授願います。

889:デフォルトの名無しさん
18/01/11 12:40:04.91 eKl5cJvJd.net
コンボ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

890:デフォルトの名無しさん
18/01/11 19:23:41.06 WJjCr32Q0.net
エクセルの2003ですが、
並べて比較を使用した際にペアになっているブックと、
そのブックで表示されているシートを取得するには
どのように記述すればいいでしょうか。

891:デフォルトの名無しさん
18/01/11 21:16:23.66 JbTpKTF6M.net
>>863
何を言っているのでしょうか?

892:デフォルトの名無しさん
18/01/11 21:25:37.65 a2sLbYI50.net
世界教師マイトLーヤ「大暴落は日本からスタート」
スレリンク(2chse板)
【マイトLーヤ】 米国債を売れ 【1200兆円】
スレリンク(eco板)

893:デフォルトの名無しさん
18/01/12 01:30:55.27 GWvM9lig0.net
>>863
Excel2003はサポート切れてますので
Excel2007にのりかえましょう

894:デフォルトの名無しさん
18/01/12 01:41:04.62 .net
>>866
Excel2007なら>>863できるん?(´・ω・`)

895:デフォルトの名無しさん
18/01/12 15:56:41.55 kdQVxAch0.net
0回目って何?

896:デフォルトの名無しさん
18/01/12 19:59:42.26 8L8z7qJh0.net
vbModelessで開いたUserForm上のTextBoxにSetFocusするようInitializeに記述しても効きません
これって無理なんですかね?
vbModelessを切るとフォーカスがちゃんとTextBoxに移るんですけどね

897:デフォルトの名無しさん
18/01/12 23:20:03.95 Ln5WwMFr0.net
初期状態でフォーカスを当てたいなら
UserForm.Show vbModeless
UserForm.TextBox.SetFocus
とフォームを呼んでいるプロシージャ側に書く
フォームのイベントならActivateでどうでしょう
毎回フォームがアクティブになるたびフォーカスしちゃうけど
Initializeがなぜはしらないのかは知らない

898:デフォルトの名無しさん
18/01/12 23:44:10.99 Ln5WwMFr0.net
実験してみたらInitializeは呼ばれてるけど
SetFocusだけがだめみたい
他のことは普通にできる
なんでしょうね

899:デフォルトの名無しさん
18/01/12 23:46:18.93 WKndAwKhM.net
いやExsel 2007もサポート切れてますが

900:デフォルトの名無しさん
18/01/13 03:26:50.74 0Hr8k8ED0.net
>>871
自分でもいろいろやってみたんですけどやっぱりダメみたいですね
ありがとうございました

901:デフォルトの名無しさん
18/01/13 09:26:06.50 60QkmGs40.net
試してないけど、プロパティのTabIndexも駄目だったの?

902:デフォルトの名無しさん
18/01/13 10:05:22.76 8yN0Kzpj0.net
ThisWorkbook.Application.Hwndでブックのハンドルを取得して、
SetLayeredWindowAttributesで透過処理をする時、
LWA_ALPHAでは問題ないのに、
LWA_COLORKEYに変えると、なぜかブック全体ではなく、
シート上に最初に配置したコマンドボタンの方に誤爆します。
しかも、自分のPCでは問題ないのに、他人のPCだと誤爆するという意味不明さ。
ハンドルがずれる的なバグでもあるのでしょうか?

903:デフォルトの名無しさん
18/01/13 10:12:39.30 .net
ウィンドウ表示時にフォーカス当てたいんならTabIndex=0にすればいいんだと思うけど、
あとはフラグを使ってInitialize直後のActivateイベントでフォーカスを当てればいいんじゃね?
Private mblnInitFlag As Boolean
Private Sub UserForm_Activate()
If mblnInitFlag Then
TextBox2.SetFocus
mblnInitFlag = False
End If
End Sub
Private Sub UserForm_Initialize()
mblnInitFlag = True
End Sub

904:デフォルトの名無しさん
18/01/13 10:19:25.53 WLDq+ue70.net
一つ目の表
A,B,C,D,E
aaa,bb,cc,00,20
bbb,cc,dd,11,30
二つ目の表
G,H,I,J,K
aaa,bb,cc,00,10
bbb,cc,dd,11,10
上の様な表があり、一つ目のABC列と二つ目のGHI列の値が一致すれば、二つ目の表の横にE列からK列の数値を引いた値を表示したい。
一致するデータが無ければ、一致データ無しと表示。
上の表だと2つ目の表の右列に、それぞれ10,20と表示。
データ量は300~800程です。
出来る方、よろしくお願いします。

905:デフォルトの名無しさん
18/01/13 10:29:13.82 .net
>>875
LWA_COLORKEYは指定した色を透明にするんだから、
その他人のPCでExcelのウィンドウの色が違うんじゃね?
知らんけど

906:デフォルトの名無しさん
18/01/13 10:31:29.99 uYJANG/vd.net
既存プログラムで引数が多いやつを減らしたいんだけどどうすればいい?
ただグローバル変数使うと他のアプリケーションに影響出るから使えない。
今から構造化やクラスにするのは名前変更が大変そうだし、同じ型でも同じ動作でもないからまとめにくい。

907:デフォルトの名無しさん
18/01/13 10:39:42.82 8yN0Kzpj0.net
>>878
それが、コマンドボタンとシートの色を同じにしても、
コマンドボタンの方だけ透過されるんです。
しかも最初に配置したコマンドボタンだけ。
2個目以降は変わらず。
透過の前後で、ハンドルの値をデバッグプリントしても変化ないですし。

908:デフォルトの名無しさん
18/01/13 10:49:24.82 .net
>>877
2007以降限定でよければL列に計算式埋め込んじゃうけどね
=IF(COUNTIFS($A:$A,$G1,$B:$B,$H1,$C:$C,$I1)>0,SUMIFS($E:$E,$A:$A,$G1,$B:$B,$H1,$C:$C,$I1)-$K1,"一致データ無し")

909:デフォルトの名無しさん
18/01/13 11:20:55.87 8yN0Kzpj0.net
ちなみに、こんなのです。
Sub test(ByVal Flg As Boolean)
Dim Hwnd As Long: Hwnd = ThisWorkbook.Application.Hwnd
Call SetWindowLong(Hwnd, -20, &H80000)
If Flg Then
Call SetLayeredWindowAttributes(Hwnd, 0, 200, 1) '←成功
Else
Call SetLayeredWindowAttributes(Hwnd, 0, 200, 2) '←コマンドボタンに誤爆
End If
End Sub
変えているのは最後の引数だけなんですが。

910:デフォルトの名無しさん
18/01/13 11:27:43.02 .net
>>879
Sub test1()
Dim args(5) As Variant
Dim arg1 As String
Dim arg2 As Long
Dim arg3 As Variant
Dim arg4 As Workbook
Dim arg5 As Collection
arg1 = "test"
arg2 = 123
arg3 = ActiveSheet.Cells(1, 1)
Set arg4 = ActiveWorkbook
Set arg5 = New Collection
arg5.Add New DataObject
arg5.Item(1).SetText "sample"
args(1) = arg1
args(2) = arg2
args(3) = arg3
Set args(4) = arg4
Set args(5) = arg5
Call test2(args)
End Sub
‘ ―
Sub test2(ByRef args As Variant)
Dim arg1 As String
Dim arg2 As Long
Dim arg3 As Variant
Dim arg4 As Workbook
Dim arg5 As Collection
arg1 = args(1)
arg2 = args(2)
arg3 = args(3)
Set arg4 = args(4)
Set arg5 = args(5)
Debug.Print arg1
Debug.Print arg2
Debug.Print arg3
Debug.Print arg4.Name
Debug.Print arg5.Item(1).GetText
End Sub

911:デフォルトの名無しさん
18/01/13 13:04:46.60 WLDq+ue70.net
>>881
列の挿入や削除の処理があるので、数式だと参照ズレなどが起こってしまうので出来たらVBAで処理したいと考えています。

912:858
18/01/13 13:29:13.07 eGapce6A0.net
>>866
Excel2010を用意しました。
>>864
エクセルで「Book1」「Book2」「Book3」を開いた状態で、
「Book1」「Book2」を並べて比較している時に、
ペアになっている「Book1」「Book2」を特定する方法、
もしくは「Book1」がActiveWorkbookの時に「Book2」を特定する方法が知りたいのです。

913:デフォルトの名無しさん
18/01/13 13:42:21.62 .net
>>885
計算式でできればVBAでもそのままできるやん
>>859参照

914:デフォルトの名無しさん
18/01/13 13:47:55.56 fyAvIt7m0.net
並べて比較って
人間が何かを見比べて確認しているわけだから
その作業は人間がやる必要ないとおもうので
全部VBAでバックグランドで処理すればいいのではないかと単純に思ってしまう
最後に比較した結果だけ表示してあげる

915:デフォルトの名無しさん
18/01/13 15:21:57.51 eGapce6A0.net
>>886
比較自体は計算式でできますが、
比較する対象を特定する事は計算式でできない気がします。
>>887
挿入等によって比較したい箇所がBook1と2で異なる可能性がある為、
事前に比較の起点となる箇所を選択する必要があります。

916:デフォルトの名無しさん
18/01/13 16:53:07.70 .net
>>888
> 比較する対象を特定する事は計算式でできない
意味分からん
=IF(COUNTIFS($A:$A,$G1,$B:$B,$H1,$C:$C,$I1)>0,SUMIFS($E:$E,$A:$A,$G1,$B:$B,$H1,$C:$C,$I1)-$K1,"一致データ無し")
この計算式を単純にVBAに置き換えて
With Worksheets("Sheet1")
If WorksheetFunction.CountIfs(.Range(“A:A”), .Range(“G1”), .Range(“B:B”), .Range(“H1”), .Range(“C:C”), .Range(“I1”)) Then
.Range(“L1”) = WorksheetFunction.SumIfs(.Range(“E:E”), .Range(“A:A”), .Range(“G1”), .Range(“B:B”), .Range(“H1”), .Range(“C:C”), .Range(“I1”)) - .Range(“K1”)
Else
.Range(“L1”) = “一致データ無し”
EndIf
End With
行列を変数で指定できるように.Rangeを.Columnsや.Cellsに置き換えて数値で指定できるようにして
With Worksheets("Sheet1")
If WorksheetFunction.CountIfs(.Columns(1), .Cells(1,7), .Columns(2), .Cells(1,8), .Columns(3), .Cells(1,9)) Then
.Cells(1,12) = WorksheetFunction.SumIfs(.Columns(5), .Columns(1), .Cells(1,7), .Columns(2), .Cells(1,8), .Columns(3), .Cells(1,9)) - .Cells(1,11)
Else
.Cells(1,12) = “一致データ無し”
EndIf
End With
あとは必要なところを変数化してループを回せばいいじゃん
Dim rngCell As Range
Dim lngRow As Long ‘ ループを回すため行番号を変数化
With Worksheets("Sheet1")
Set rngCell = .Cells(1, 12)
‘ 表の詳細仕様が分からないのでとりあえずK列が空じゃない限りループ続行
While rngCell.Offset(0, -1) <> “”
lngRow = rngCell.Row
If WorksheetFunction.CountIfs(.Columns(1), .Cells(lngRow,7), .Columns(2), .Cells(lngRow,8), .Columns(3), .Cells(lngRow,9)) Then
rngCell = WorksheetFunction.SumIfs(.Columns(5), .Columns(1), .Cells(lngRow,7), .Columns(2), .Cells(lngRow,8), .Columns(3), .Cells(lngRow,9)) - .Cells(lngRow,11)
Else
rngCell = “一致データ無し”
EndIf
Set rngCell = rngCell.Offset(1, 0) ‘ 次の行
Wend
End With
列の追加削除があるということだったら列番号も変数化すればいい

917:デフォルトの名無しさん
18/01/13 17:00:25.96 zzyV/8sb0.net
初心者で申し訳ありません
セルに入力した選手コードを選手名に置換するような動きをさせたいのですがどうするとよいでしょうか
別のシートに選手名簿は用意してありA列に選手コードB列に選手名があります

918:デフォルトの名無しさん
18/01/13 17:42:32.57 8qhapkmN0.net
>>890
VBA要らん
VLOOKUPでググれ

919:デフォルトの名無しさん
18/01/13 17:48:09.64 8qhapkmN0.net
すまん「置換」を見落とした
VBAは要るな
WorksheetFunction.VLookup でやるなり、ループで検索するなりやればいい

920:デフォルトの名無しさん
18/01/13 17:50:29.11 gLbKwyK9x.net
>>890
普通はセルに入力された選手コードをわざわざVBA置換するなんてことはしないで、VLOOKUP等のワークシート関数を書くけどね
置換操作をVBAで書かなきゃいけない理由はあるの?

921:デフォルトの名無しさん
18/01/13 17:58:56.84 .net
>>890
>セルに入力した選手コードを選手名に置換するような動きをさせたい
セルに選手コードを入力して、Enterを押した途端に選手名に置き換わるような動きをさせたいんだな?そうなんだな?

922:デフォルトの名無しさん
18/01/13 18:00:41.47 gLbKwyK9x.net
>>892
検索置換のダイアログでシート内の選手コードを一括変換する、みたいな手作業の業務手順をそのままマクロ化しようとしているのかもしれないし、そういう場合はそもそもシートの設計や業務手順に問題がある場合が多い。
最初にVLOOKUP使えと指摘したあんたの感覚は基本的には正しいと思うぞ。

923:デフォルトの名無しさん
18/01/13 18:06:27.84 fyAvIt7m0.net
>>890
単発ならワークシート関数でやった方が簡単
VLOOKUPで変換したのを用意しといてそれをごそっと上書きする
何回もやるなら、上記をマクロにする
このくらいならマクロの記録でもいけそう
全部VBA上でやる方法もあるけどビギナーには大変でしょう
こんな感じでいいんじゃなかろうか
Dim i
i = スタートする行
Do While Not Worksheets(1).Cells(i, 1) = ""
Worksheets(1).Cells(i, 1) = WorksheetFunction.VLookup _
(Worksheets(1).Cells(i, 1), Worksheets(2).Range("名簿範囲"), 2, 0)
i = i + 1
Loop
シートのインデックスとかは書き換えてね
意味不明ならマクロ記録かさらなる修行をオススメする

924:デフォルトの名無しさん
18/01/13 18:07:34.63 gLbKwyK9x.net
>>894
VBAに慣れてる人ならセル値の置換と聞いただけでワークシート更新イベントを使いたいのかなって思いがちだよな
俺も最初はそう思ったわ
でも質問者の質問内容を推測抜きで素直に読むとそうとは限らないんだよな

925:デフォルトの名無しさん
18/01/13 18:19:24.76 zzyV/8sb0.net
>>893
トーナメントの結果を入力するようになっているのですが既に報告用ワークシートはあるのですが入力件数が多くなりすぎて最終的にはバーコードによる入力を試みようとしています
また、その報告用ワークシートは書式が決まっており並べ替えエラーチェックのマクロが既にあるので行を入れたりして関数をいれる対応ができないという状態です
>>894
入力後にマクロ実行用のボタンを押して置換するような想定でした
エンターを押した瞬間変わるものでも大丈夫です

926:デフォルトの名無しさん
18/01/13 18:35:21.45 zzyV/8sb0.net
>>892
>>896
ありがとうございます
家に帰り次第試してみます
>>895
今まではワークシート内から対戦選手の名前を探してきてコピーアンドペーストで対応していたのですが参加者が年々増えてきて(今年の見込みは約千人位)追い付かなくなってきたために速度向上を目的としています

927:858
18/01/13 18:44:45.15 eGapce6A0.net
>>889
VBAに記述のあるWorksheets("Sheet1") の箇所を、
並べて比較でペアにしているシートに特定する方法が思いつかないのです。

928:デフォルトの名無しさん
18/01/13 19:03:27.44 rZTV+Qsta.net
>>900
ファイル名とかシート名がランダムでないなら
固定値じゃないの?
どんなファイル名か分からない、シート名か分からないってなら都度入力するしかないな。
データ形式で特定することもできるけど、
無駄な作業にしか思えない。

929:デフォルトの名無しさん
18/01/13 19:18:42.64 gLbKwyK9x.net
>>898
こんな感じならどうかな
以下は、実行すると報告用シート内に含まれる選手コード全てを一気に置換する
複数の選手コードを含む場合も一発で置換できるはず
名簿にはコードの欄が空白の行がなく、名簿シートのA2セル以下に選手コードが入力されているものと仮定してる(A1は表見出し)
セル値の一部が選手コードと一致する場合も置換されてしまうので、コードのみが入力されているセルの値だけを確実に置換したい場合、Replaceメソッドの引数のLookAt:=xlPart をLookAt:=xlWholeに変更してくれ

Sub ReplaceCode
Dim sh_list As WorkSheet '選手名簿シート
Dim sh_report As WorkSheet '報告用シート
Dim i As Long
Set sh_list = WorkSheets("選手名簿シート")
Set sh_report = WorkSheets("報告用シート")
For i = 2 To sh_list.Range("A2").End("xlDown").Row
sh_report.Cells.Replace What:=sh_list.Cells(i, 1).Value, Replacement:=sh_list.Cells(i, 2).Value, LookAt:=xlPart
Next i
End Sub

930:858
18/01/13 19:32:04.47 eGapce6A0.net
>>901
ファイルのフォーマットが複数あるので、
事前にファイル名とシート名を規定できないのです。
なので、せめてペアにしたファイル同士が特定できれば、
ファイルとシートを選択する手間が省けると思ったのですが・・・
3つ以上開けなくなるけど、workbooksからマクロブックを除外した先頭2つを比較する方法で考えてみます。

931:デフォルトの名無しさん
18/01/13 19:36:48.93 6HVsHBKb0.net
>>903
それは運用を変えよう。機械的に処理するなら人間側が合わせる必要がある。
手動で命名規則に沿うか、命名自体を自動的にして人間が意識しないようにするか。

932:デフォルトの名無しさん
18/01/13 23:03:28.12 aJN0Dby50.net
エクセル2010でCSVファイルを開いた場合、
UTF8やshiftjisを自動で判定して表示してくれますが、
この時に判定された文字コードを取得する方法はありますか。
用途は、外部データの取り込みでCSVを開きなおすための文字コードの特定です。

933:デフォルトの名無しさん
18/01/13 23:14:29.83 odSwvUdp0.net
>>905
application.nkf

934:デフォルトの名無しさん
18/01/13 23:28:32.80 aJN0Dby50.net
>>906
ありがとうございます。
試してみます。

935:デフォルトの名無しさん
18/01/14 06:58:25.18 UVUQYwWb0.net
>>907
いいってことよ(´・ω・`)b

936:デフォルトの名無しさん
18/01/15 01:08:16.65 Zqan8uZj0.net
>>902
実行時エラー13
型が一致しませんとなっていて
For~の行でエラーを出していて止まるみたいです
あと報告シートが選手の強さ別に複数に分かれているのですが今選手コードの入力したシート(つまりいま開いているマクロ実行用のボタンを押したシート)を処理したいという場合どうするとよいのか教えていただけると助かります

937:897
18/01/15 01:48:08.96 ubg4QImpx.net
>>909
エラーの出たコードを転載して見せてもらえませんか?こちらの環境ではうまく動いているんですが、私がコードを転載したときにミスをしたかもしれないので
それから、コードはボタンマクロ(ボタン名_Clickのような名前のプロシージャ)として各シートのシートモジュールに書いているんでしょうか?

938:デフォルトの名無しさん
18/01/15 11:28:57.27 thpu0oBS0.net
>>910
Sub ReplaceCode()
Dim sh_list As Worksheet '選手名簿シート
Dim sh_report As Worksheet '報告用シート
Dim i As Long
Set sh_list = Worksheets("選手名簿")
Set sh_report = Worksheets("対戦結果表_A級")
For i = 2 To sh_list.Range("A2").End("xlDown").Row
sh_report.Cells.Replace What:=sh_list.Cells(i, 1).Value, Replacement:=sh_list.Cells(i, 2).Value, LookAt:=xlPart
Next i
End Sub
シート作成用のコードが既にあるのですがその中のコードを流用して各シートに実行用のボタンを置く計画でした
ActiveSheet.Buttons.Add(2, 1.5, 125, 18.75).Select
Selection.OnAction = "CSV_SAVE"
Selection.Characters.Text = Worksheets(2).Cells(1, 1).Text & "級のCSVファイル作成"
With Selection.Characters(Start:=1, Length:=15).Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
これのCSV_SAVEをReplaceCodeにしてボタンの名前と場所をかえるつもりでしたがあまりよくない方法なのでしょうか
必要であれば既にあるコードを出しますので教えてください

939:デフォルトの名無しさん
18/01/15 11:58:16.00 Vljo7f2q0.net
>>908
application.nkf オブジェクトが見つかりませんでした。
下記のapplicationオブジェクト内にも、nkfプロパティが見つかりません。
URLリンク(msdn.microsoft.com)
オブジェクトの参照方法が違うのでしょうか。

940:897
18/01/15 23:02:33.00 JvjYqsKWx.net
>>911
申し訳ない、For


941:フ行でEnd("xlDown")となってるの、自分の転記ミスでした エラーの原因もこれでしょう 二重引用符なしでEnd(xlDown)と書き直して動かしてみてください



942:デフォルトの名無しさん
18/01/16 12:17:16.43 SelV7zwId.net
質問です。
ソルバーで普通は目的セルをrangeなどで指定しますが、シートのセルにアクセスせず、vba内の変数を直接ソルバーにかけてvba内だけで完結したいのですが、方法あるでしょうか?

943:デフォルトの名無しさん
18/01/17 02:18:24.01 x8yvrTsd0.net
>>913
うまくいきました
ありがとうごさいます

944:デフォルトの名無しさん
18/01/20 12:24:27.92 sSjH/Vu40.net
セルのA列にある文字列をコンボboxにaddですべて入れた後に、一文字入力する度に候補が絞られてくって出来ます?
コード教えてもらえないですか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

2255日前に更新/339 KB
担当:undef