20/12/28 00:09:12.39 eYw4/aNg0.net
ユーザーフォーム2からユーザーフォーム1
ボタンを押したようにできることが豆知識だったのよ
自分にとってはね
137:デフォルトの名無しさん
20/12/28 02:13:46.08 zq2Mh9UF0.net
>>133
初心者ではなく初心者から脱却する気の無い人間が
138:デフォルトの名無しさん
20/12/28 11:52:39.77 D2Ae0vPz0.net
>>136
分かりにくくなるだろうな
そのフォーム1の処理の中にフォーム2の処理が混ざっていて・・・みたいな
139:デフォルトの名無しさん
20/12/28 12:18:01.21 tqv11FjK0.net
単体で使いたい時もあるけど
ある処理の部品としても使いたいとかかな
140:デフォルトの名無しさん
20/12/28 12:46:17.64 2cxQATNW0.net
それなら共通部品として切り出して
フォーム1から呼ぶ、2から呼ぶってしないと後々メンテで死ぬパターン
141:デフォルトの名無しさん
20/12/28 20:20:11.64 VGvj7ZmYa.net
今FTPするのに諸事情あってwininetを利用してるんだけど
これってファイルのディレクトリ移動は無理?
ちなみにLINUXサーバ
例えば
/work/testdir/test.log
を
/work/movetodir/test.log
って感じで移動したい
コピーした後deleteすればいいのでコピーでもオッケー
今はスマホからならなので詳細ソースは勘弁して
試したのはFtpPutFileやFtpGetFileで
fromとtoをそれぞれファイル名やフルパスで入れ替えたりしてみたんだけど
まぁだめだった
FtpMoveFile的なものはないですか?
142:デフォルトの名無しさん
20/12/28 20:23:27.00 VGvj7ZmYa.net
ちなみにBASPやWINSCPとかは規約上使用できないです
ない場合はローカルに一時的にgetした後別のディレクトリにPutすると言う力技も考え中
143:デフォルトの名無しさん
20/12/28 20:51:35.01 VGvj7ZmYa.net
なんとなく自己解決
やはりFTPの仕様上Moveはダメっぽい
力技しか無いかなぁ
144:デフォルトの名無しさん
20/12/29 04:24:04.54 r4ksfnFx0.net
シートを開いたときにシート上のコンボボックスにリストを読み込ませたいんですけど、
シート上にある文字列を読み込むのではなくマクロのみで特定の文字列を読み込ませることって出来ますか?
145:144
20/12/29 04:50:38.55 r4ksfnFx0.net
DirectXのコンボボックス使えば一発でした……すみません……
146:144
20/12/29 06:16:00.81 r4ksfnFx0.net
ActiveXのコンボボックス2つを設置し、以下のようにシートのところに記述後、ComboBox1のプルダウンボタンをクリックすると、
実行時エラー "380":
Valueプロパティを設定できません。プロパティの値が無効です
と表示され、「ComboBox2.Value = "G6"」がハイライト表示になるのですが、対処法が分かりません。ご教授お願い致します。
---------------------------------------------------
Option Explicit
Private Sub ComboBox1_Change()
ComboBox2.Value = "G6"
End Sub
Private Sub ComboBox1_DropButtonClick()
ComboBox1.List = Array("A", "B", "C", "D")
End Sub
Private Sub ComboBox2_DropButtonClick()
If ComboBox1.Value = "A" Then
ComboBox2.ListFillRange = "G6:G9"
Else
ComboBox2.ListFillRange = "G6:G8"
End If
End Sub
147:144
20/12/29 06:25:34.42 r4ksfnFx0.net
すみません、Stylesプロパティが2 - fmStyleDropDownListだったからValueに代入できなかったんですね……
ComboBox2.ListIndex = 0 にしたら直りました。お目汚しすみません。
148:デフォルトの名無しさん
20/12/29 15:15:22.81 eRbfzaAa0.net
コンボ1→鈴木一郎
コンボ3→鈴木専務
鈴木部長
須藤係長
杉村課長
コンボ3には先頭一致で「す」を検索し絞り込みで表示したいのですがむずかしいでしょうか?あるいは漢字一文字で検索でもいいのですがMatchFound関数を使用するのではないかと思うのですが検討もつきません
Option Explicit
Private Sub ComboBox2_Change()
End Sub
Private Sub UserForm_Initialize()
Dim r As Long
ComboBox1.ColumnCount = 2
For r = 1 To Sheet3.Range("A" & Rows.Count).End(xlUp).Row
ComboBox1.AddItem Range("DB!A" & r).Value
ComboBox1.List(r - 1, 1) = r 'リストの2列目にシートの何行目かを記憶
Next
End Sub
Private Sub ComboBox1_Change()
Dim r As Long
Dim c As Integer
r = ComboBox1.List(ComboBox1.ListIndex, 1) '選択したリストの2列目(シートの何行目か)
ComboBox2.Clear
For c = 2 To Sheet3.Cells(r, Columns.Count).End(xlToLeft).Column
ComboBox2.AddItem Sheet3.Cells(r, c).Value
Next
End Sub
149:デフォルトの名無しさん
20/12/29 15:20:48.46 xvN7YPpo0.net
インデントしてない時点で(キリ
150:デフォルトの名無しさん
20/12/29 15:24:36.38 1ep2xIo7M.net
>(キリ
ウザっ
151:デフォルトの名無しさん
20/12/29 16:02:20.40 NKmqU0kK0.net
>>148
リスト全部チェックして一致したものを追加するなりシート上でフィルタした結果を追加するなりしたらいいんでないの
152:デフォルトの名無しさん
20/12/29 16:26:47.99 NKmqU0kK0.net
思ったんだが、そのコード自分で読み込んだり動き確認したりしてないだろう…
153:デフォルトの名無しさん
20/12/29 16:30:16.32 9/T630Lp0.net
質問するのが趣味なんだろ
154:デフォルトの名無しさん
20/12/29 16:53:27.47 dODwImwo0.net
読み仮名でソートすればいいんでないの
エクセルの並び替えもこうなるし
お
大学(おおきいで変換)
か
だ
大学(だいで変換)
ぢ
155:デフォルトの名無しさん
20/12/29 18:16:49.35 eRbfzaAa0.net
すいません!
質問するレベルにも到達してなくて
シート上で一致させるなら簡単ですね
質問が趣味ではないのですが
業務で必要なもので初心者ながら悪戦苦闘しています
質問のしかたが悪かったと思います
ちょっと考えて質問したいと思います
156:デフォルトの名無しさん
20/12/29 18:20:31.42 U6Tn+IN30.net
いつものあいつだろ
157:デフォルトの名無しさん
20/12/29 18:24:55.74 NKmqU0kK0.net
いつものやつだった・・・
158:デフォルトの名無しさん
20/12/29 18:26:09.51 eRbfzaAa0.net
前に質問した時も
誰かと勘違いされたような・・・
誰ですか?
VBAスレには
4回ぐらいしか書き込んだりしてないのですが?
どういった人と勘違いしてるんですか?
荒らしみたいな人いるんですか?
159:デフォルトの名無しさん
20/12/29 18:57:29.26 lS8hY7UX0.net
話題に上ると嬉しそうに反応すんなよw
160:デフォルトの名無しさん
20/12/29 20:40:10.06 eRbfzaAa0.net
>>159
だからここには4回ぐらいしか来たことない
どういったら信じてくれるのかな
初めてだわ
荒らしと間違えられたの
どんな荒らしなの?
普通に書き込んでるつもりなんだけど?
何か気に入らなかった?
3日前ぐらいに書き込んだ時も勘違いされたけど
ホント勘弁して
161:デフォルトの名無しさん
20/12/29 22:12:23.41 DC9TsoaB0.net
荒らしと同じようなことを書くから間違われるのでは?
162:デフォルトの名無しさん
20/12/29 22:16:06.03 mchvBN/f0.net
真っ赤な帽子にキラリとヒカル
163:デフォルトの名無しさん
20/12/29 22:16:31.70 eRbfzaAa0.net
>>161
どこがどう悪かったのか教えてください
164:デフォルトの名無しさん
20/12/29 22:29:26.63 dODwImwo0.net
おかしな事言う人がいるな
でスルーしてたらいいと思うよ
今のままだと思うツボ
165:デフォルトの名無しさん
20/12/29 23:51:56.35 xvN7YPpo0.net
>>78
わからぬ。ホムペとかに時々セミナーの写真とか載ってるからそれを見て判断
性格まで瓜二つだからすぐわかるぜw
166:デフォルトの名無しさん
20/12/30 01:27:15.02 RXqudRq00.net
俺も前になんかの質問したときにいつものアイツって言われた事があったから逆になんでもかんでもいつものアイツって言いたがる荒らしが常駐してるもんだと思ってた
167:144
20/12/30 01:52:55.19 Oh92F1JH0.net
シートを開くと「オブジェクトが必要です。」だの「メソッドまたはデータメンバが見つかりません。」だのと表示されるんですけど、特に修正することもなく動作している(ように見える)んですけど、これ何が悪いんですかね?
168:デフォルトの名無しさん
20/12/30 03:31:25.87 AqLm+Pp2M.net
PERSONALに余計な書き込みしちまっつてるんじゃね。
再表示させて全部消すんだ。
169:144
20/12/30 03:53:07.20 Oh92F1JH0.net
Personal.xlsですかね?
探しましたがそもそもファイル自体存在しないみたいです……
170:144
20/12/30 03:58:33.29 Oh92F1JH0.net
なんかよく分かんないんですけどエラー行で指定してたコンボボックスを消して再設置したら直りました
助言ありがとうございました
171:デフォルトの名無しさん
20/12/30 05:38:22.32 AqLm+Pp2M.net
毎回コンボボックス言ってるなあんた
172:144
20/12/30 05:47:42.87 Oh92F1JH0.net
なんかコンボボックスってクセ強くないですか?
すごく弄りにくくてややこしいです
173:デフォルトの名無しさん
20/12/30 08:41:09.68 mfFqR3/N0.net
クセ強いって言うか、1クリックで2回イベント発動するのがなぁ・・
いちいちIf Flag Then Exit Sub とかいれて、
無理矢理1回しか動かないようにしてるけど、
他にいい方法ないもんかね
174:デフォルトの名無しさん
20/12/30 08:43:56.99 mfFqR3/N0.net
あ、直前に Flag = Not Flag な
175:デフォルトの名無しさん
20/12/30 11:23:33.25 hFnpG/QKH.net
>>173
イベントハンドラは必ず先頭でEnableEvents=Falseするんだよ
そして時間のかかる処理はハンドラの中へ書かずに別プロシージャに飛ばす
176:デフォルトの名無しさん
20/12/30 13:02:57.82 mfFqR3/N0.net
>>175
ごめん、1クリックで2回じゃなくて、
選択肢の表示で1回、選択で1回で計2回の間違い
なのでイベントOFFで逃げられない
177:デフォルトの名無しさん
20/12/30 16:14:15.56 8iwO+LiN0.net
状態管理用のフラグ作って管理している
178:144
20/12/30 23:59:22.86 Oh92F1JH0.net
>>173
マジすか
もしかしてDropButtonClickイベントに.Clearと.AddItemを入れたら選択してもボックス内に表示されなかったりするのって原因それですかね
179:デフォルトの名無しさん
20/12/31 08:04:03.76 qAEGulJg0.net
>>178
そういうの作りながら動作確認しないの?
180:デフォルトの名無しさん
20/12/31 08:17:09.79 sAh4R5unH.net
ネットにサンプルがいくらでも転がってんだから、素直にコピペしとけばいいのに
181:デフォルトの名無しさん
20/12/31 08:39:17.53 5hauEQny0.net
直ぐにネットの野良コードを見て何も考えずにコピペコピペする人は決して【上級者】ではありません!(キリ
182:デフォルトの名無しさん
20/12/31 10:43:23.83 yfYCC+Dx0.net
>>178
多分そう
>>179
最初はそんな罠があると思わないからな
俺は、間にMsgBox入れたら2回出たのでやっと気づいたわ
183:デフォルトの名無しさん
20/12/31 10:53:25.38 8vAoqqdn0.net
罠なんてのは理解してる人間が陥るものであってただの知識不足には何の関係もない
想定の動きしなかったら一つ一つ確認するのは最低限のことだ
184:デフォルトの名無しさん
20/12/31 11:11:12.57 sAh4R5unH.net
プログラムは決して思った通りには動かず、書いた通りにしか動かない
思った通りに動かない時、それは思った通りに書けてない時
185:デフォルトの名無しさん
20/12/31 11:33:07.51 yfYCC+Dx0.net
いや、Windows Update直後に動かなくなるとか普通にあるから
あとVBSだが、最近InputBoxで第1引数の文字が出ないことがある
どこかのファイルから文字を読み込んでるとかじゃなく、
引数に直接指定してるのに
起動しなおすと出るから間違ってはいない
186:デフォルトの名無しさん
21/01/01 09:42:29.21 Sutdgdij0.net
間違っているのではなく見落としているんじゃね
187:デフォルトの名無しさん
21/01/01 17:08:38.32 PXRj0cmP0.net
そりゃPGの動作ってのは環境含めてだからな
188:デフォルトの名無しさん
21/01/02 20:54:06.70 gYfsTimq0.net
不具合がわかっていて放置できるとかうらやましいな
189:デフォルトの名無しさん
21/01/04 03:24:12.12 SOcZuJtz0.net
>>125
検索結果はARTICLEタグの1番目から3番目迄(0番目は検索結果とは違うものに使用されてる。)。
その下のクラス名LawDownloadの下にクラス名pdfFileが幾つか見つかるが、その直ぐ下にAタグにhref=で始まるURLが見つかる。
どれもGetElements系で取得出来る。
最後はURLDownloadToFile使えば良いんじゃね?
190:デフォルトの名無しさん
21/01/04 16:03:39.37 P/FS/eNz0.net
バッチでデスクトップを再起動する人もあまりいないと思うが
デスクトップを再起動するプロシージャ内でExcelをQuitすると、Excelが勝手に再起動する
という現象が起きるので一応報告しとくね
環境によるかも
最初からWin10のPCで、Excel2019
(Win8からのアプデPCで、Excel2013では起きなかったかも)
デスクトップを再起動するコマンドを実行してるのはShell関数
Shell関数は非同期のはずだが、その同一プロシージャ内では、APIのSleepで5秒待っても駄目
DoEventsも駄目
そのプロシージャを一旦抜けて、タイマーで5秒後にQuitを実行すればExcelが再起動しない
デスクトップを再起動するのは、とあるツールの強制終了で残るタスクバーアイコンをクリアするためで
そんな用事のある人も滅多にいないだろうけど(クリアしなくても問題があるわけでもないし)
191:デフォルトの名無しさん
21/01/04 16:52:13.02 P/FS/eNz0.net
Access VBAに比べるとExcel VBAは随分安定してるが
それでもゴリゴリ開発を繰り返すと、謎の実行エラーは起きるよね
ソースを全部エクスポートしてインポートし直すと直るやつ
結構有名なはずだが
謎は実在するのにないと言い張るのは、経験不足なだけ
話題の動作を確認したわけじゃないがね
192:デフォルトの名無しさん
21/01/04 18:20:52.45 WAisD+UGM.net
あまり何もかもをまとめて処理するのはリスキー過ぎる
小分けにして段階を踏め
193:デフォルトの名無しさん
21/01/04 21:23:02.41 XJuzf2wY0.net
VDI環境でメモリ4ギガしか振られてないんだけど、グローバル変数を4つくらい作るとメモリ不足エラーが出て不安定になります。
割り当てるメモリを増やせばエラー収まりますか?
194:デフォルトの名無しさん
21/01/07 11:25:47.54 vMxmEGnU0.net
質問というか相談です
フォーム上のテキストボックスを右クリックした時、元の背景色が通常色の場合は黄色に、黄色の場合は通常色にと切替を行い、塗り潰しチェックの様な事が出来るようにした物を作りたいです
なのでMouseDown若しくはMouseUpで拾ってButton=2の場合に、テキストボックスの背景色を切り替える方向で行こうと考えました
MouseDownは1度のクリックで2度処理を行ってしまう為、MouseUPを使用しようと思いましたが、
正直押した瞬間ではなく離した時点なのが至極個人的に違和感バリバリなのでMouseDownでどうにか処理できないかと考えています
その場合、静的変数を用いて2回目かどうかの判定を行うのが良いのでしょうか
195:デフォルトの名無しさん
21/01/07 12:14:22.04 lqyAMCWOM.net
Timerで1秒以内の2回目は止めたら
196:デフォルトの名無しさん
21/01/07 13:06:20.76 LEN4uLCLd.net
for eachでフィルターがかけられた列をコレクションし、現在のセルと一つ下のセルの値を比較しようと思ったのですが、offsetだと隠れた行の数値が参照されてしまいます。
フィルタリングして可視状態の一つ下のセルを参照するには、どうすればよいのでしょうか。
197:デフォルトの名無しさん
21/01/07 15:55:15.71 JVCs6nJOM.net
無理だな
一つ上のを覚えといて比較しな
198:デフォルトの名無しさん
21/01/07 17:04:40.85 lqyAMCWOM.net
該当セルから下方向に、
VidibleがTrueなセルに当たるまで探せば
199:デフォルトの名無しさん
21/01/07 20:16:51.59 GNpPPMMj0.net
>>194
マウス離した時に実行するのがExcelに限らず一般的な動作だと思うが
200:デフォルトの名無しさん
21/01/07 23:26:20.22 q8h4Rq+X0.net
確かに
↓\→ 弱ボタン離す、でも波動拳出るな
201:デフォルトの名無しさん
21/01/07 23:51:53.97 CAJlIzxl0.net
はどうけんてなんですか
202:デフォルトの名無しさん
21/01/07 23:59:30.52 GNpPPMMj0.net
イギリスのロックバンドのことです
203:デフォルトの名無しさん
21/01/08 07:36:54.65 /1SPkI99a.net
行とか列のデータのある範囲を選択するメソッドありますか?
currentregionの1行だけみたいなイメージで
今思いつくのは無理くり
Range("C5").CurrentRegion.Offset(略).Resize(略~
ないしは
Endとかで割り出してから選択する
とかなんですが
なんかもう少しスマートな書き方があれば知りたいです
204:デフォルトの名無しさん
21/01/08 07:38:15.90 /1SPkI99a.net
説明捕捉
>>203
の表の列はAからD以上まである感じです
205:デフォルトの名無しさん
21/01/08 08:45:53.52 F7dsXzNTM.net
columnsとかrowsプロパティで範囲から希望の列や行を取り出すじゃ駄目なの?
206:デフォルトの名無しさん
21/01/08 09:53:03.11 /1SPkI99a.net
>>205
いや、rowsだと行全体が選ばれてしまうので
例えば
1行目は4列
2行目は5列
とデータの入っている列数がバラバラな場合
(値は全て入っているものとして)
それぞれ4列とか5列分ぴったりに選ぶメソッドは無いものかと
C列基準とかで選べたら一番いいけど
A1選んで「ctrl+shift+→」と同じ結果でもいいです
207:デフォルトの名無しさん
21/01/08 10:06:49.06 /1SPkI99a.net
すみません
>>205
のヒントで自己解決しました
Range("C5").EntireRow.SpecialCells(引数)
でいけました
失礼しました
208:デフォルトの名無しさん
21/01/08 10:12:04.47 0GZaxWieH.net
>>206
一発で求めるメソッドやプロパティはない
たとえば3行目だけ選択だと、たぶんこれが最短
Range([A3], [A3].End(xlToRight)).Select
209:デフォルトの名無しさん
21/01/08 10:18:16.84 /1SPkI99a.net
>>208
ありがとうございます
やっぱり1発ではないんですね
自分が書いたspecialcellも定数と数式とが混在してると
やはりUnionで繋ぐなどしかないので
煩雑になるなあと思っていたので
その書き方の方が良さそうですね
210:デフォルトの名無しさん
21/01/09 19:33:14.89 tpxthpMW0.net
Dirコマンド、
コマンドプロンプトに直書きだとローカルもネットワークも取れるのに、
VBAからWSHで取ると、ローカルしか取れないのは何故?
211:デフォルトの名無しさん
21/01/09 22:38:35.27 sDO7vtGda.net
理由は知らないけど、コマンドプロンプトのDIRコマンドと、VBAのDir関数は別物です
212:デフォルトの名無しさん
21/01/09 22:40:13.80 sDO7vtGda.net
あ、失礼いたしました
VBAのDirでなく、スクリプト経由なのか
1つ前のレスは撤回します
213:デフォルトの名無しさん
21/01/10 01:05:09.81 kg6XuktW0.net
>>210
まあユーザ認証回りだとおもうけど
ちょっとコード晒してみて
214:デフォルトの名無しさん
21/01/10 01:13:14.86 4Xu9louP0.net
>>213
これそのまま
URLリンク(officetanaka.net)
sCmd = "dir [ローカル]" だとOKで、
sCmd = "dir [ネットワーク]" だと取れない
Len(Result)で調べると0文字になってる
コマンドプロンプトでやると取れるから、打ち間違いじゃないと思うんだけど
215:デフォルトの名無しさん
21/01/10 01:40:53.81 bwHYpHvWH.net
>>214
手動でコマンドプロンプトからネットが見えるか再確認した?
Windows Updateするとファイル共有が勝手にoffにされることがけっこうあるよ
216:デフォルトの名無しさん
21/01/10 02:36:39.33 CEBDD+E50.net
>>215
そんなことねーよ
死ね