1 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:24:32.62 ID:I0u44nFvd.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ ExcelのVBAに関する質問スレナリ コード書き込みや作成依頼もOKナリ ※前スレ Excel VBA 質問スレ Part74 https://mevius.5ch.net/test/read.cgi/tech/1639932059/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
302 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:43:39.19 ID:5R1CCyAZd.net] 何ていうかVBAの言語より先にちゃんとした構文の日本語を学ぶ事をおすすめします
303 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 21:25:56.68 ID:pVJYfbHP0.net] いやでも回答者さんの言うとおりだと思う。理屈や仕組み分からないまま使ったりしていたらいつかは大事故に繋がる。 過去にそういう事が身近であった。
304 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 21:46:06.24 ID:jSBR5AQpd.net] 何がきっかけで作ることになったか知らないけど どうして動いてるかもわからずに作って少ししておかしいことに気づいてもすぐ直せなかったら評価悪くなると思うんだよね 自分の周りの出来事でなければ知ったことではないんだけどその辺は踏まえて作った方がいいよ
305 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 22:33:01.31 ID:yer8R1MmM.net] ID:KJVc8U50M の言い回しが技術サイトでありがちな英語かロシア語の機械翻訳文に似てて草
306 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 11:35:29.63 ID:lcqTf7BDd.net] !!Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long For i =1 to 5 cells(i,4)=DateValue(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日") Next i End Sub 上記記述して実際にシートに数字を入力すると型が一致しませんとエラーになってしまいます どうしていいのかわからずご教授していただければと 素人みたいな質問すいません
307 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:01:15.53 ID:tG3yIb4ia.net] 月の位置がおかしいから?w
308 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:21:43.22 ID:RMBcHsBod.net] こういうひとってデバッグの仕方とか知らないのかね? Debug.Print(Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日") のようなことをすればどんな値が指定されているかわかるんだからみればいいのに >素人みたいな質問すいません 素人でもこんな質問するかなという内容
309 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:21:43.61 ID:6K6JgexZM.net] >>301 とりあえず止まったときにイミディエイトウィンドウで Debug.Print Cells(i,1)&" 年"&" 月"&Cells(i,2)&Cells(i,3)&"日" ってやってみな
310 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:22:36.15 ID:6K6JgexZM.net] 被ったわ…
311 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:39:47.23 ID:/JtJWIIA0.net] そもそもVBAにする必要あるのかこれ?
312 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 12:51:19.12 ID:lcqTf7BDd.net] >>301 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long For i =1 to 5 cells(i,4)=DateValue(Cells(i,1)&" 年"& Cells(i,2)&"月"&Cells(i,3)&"日") Next i End Sub すいません! 月の位置が違いました 上記の記述でも型が一致しませんとエラーになってしまいます
313 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 13:08:57.00 ID:GCjMsc400.net] =Date(A2, B2, ... え?それ以上はやめとけって? はーい
314 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 13:15:31.27 ID:RMBcHsBod.net] その書き方だと少なくとも変更された際のイベントでDateValueを正しく動作させるには 1から5行目までの1から3列目までにそれぞれ年月日の値が保証されないと型が一致しないとでるけど そういう状態が担保できてるの? 1行目の入力中でもその書き方だと2行目以降が空欄だと単なる「年月日」という値でDateValue実行してしまいますよ
315 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 13:43:03.37 ID:9H2YJJUDd.net] セルの中身が実はシリアル値でしたに一票
316 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 14:24:04.55 ID:lcqTf7BDd.net] >>309 おっしゃるとおりだと なんとなくわかっていたのですが 回避方法ありますか?
317 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 14:46:06.75 ID:RMBcHsBod.net] >>311 いずれかのセルが空欄や数字以外だったら4列目に空を設定 それ以外の場合のみDateValueとかでいいんじゃないの ただ結果的に月日が不正な値(99月など)ならどうするとかそういうのも含めて自分で考えないとこの先やっていけないのでは
318 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 14:57:28.77 ID:lcqTf7BDd.net] >>313 なるほど 参考になります ググって見ます! ありがとうございます!
319 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:28:41.82 ID:VC
] [ここ壊れてます]
320 名前:o1qiqP0.net mailto: すみません、質問です! 例えばA1セルに関数が入っていたとします A1セルが空白かどうか(関数は入っています)をVBAのIF文で分岐したいですがうまく行きません VBAでは空白を取得できているはずなんですが何故なんでしょう… どなたか対応方法を教えてください [] [ここ壊れてます]
321 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:33:03.86 ID:e+QnjkryM.net] If Range("A1").Fomula = "" Then
322 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:33:45.29 ID:e+QnjkryM.net] あ、嘘。ごめん。間違えた。忘れて。
323 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:39:20.91 ID:VCo1qiqP0.net] >>315 ありがとうございます Formulaを設定すると関数をそのまま取得してしまいました なので空白の時の分岐ができませんでした
324 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 11:41:01.62 ID:VCo1qiqP0.net] 大丈夫です! ありがとうございますm(_ _)m ご存じの方いらっしゃいましたらよろしくお願いします
325 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 12:20:48.22 ID:vjLwCjzB0.net] 普通にセルのValueなりTextなりを見ればいいんじゃないの?
326 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 12:37:16.79 ID:YxxaCHXb0.net] >>314 >>318 If Range("A1").value = "" Then >>319 その普通を学習前の段階ぽい
327 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 13:18:52.50 ID:+eE97yRCa.net] 空なのか空白なのか
328 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 13:28:01.68 ID:ez1E04nZd.net] Trim(.Text)じゃないか? >>321 数式が入ってたらEmptyにはならん
329 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 14:12:30.12 ID:vjLwCjzB0.net] Empty と空文字列と空白は違うって話かと
330 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 19:12:34.37 ID:IBMOg+Z/0.net] 前任者のシートで0を書式で空白にしてるのには参ったね textプロパティを覚えるきっかけにはなったけど
331 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 19:25:23.65 ID:fxoU/Jgx0.net] 文字列枠だけど 書式は # よくやるw
332 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 06:05:40.07 ID:a7Y3SJRd0.net] すみません、質問させてください。 VBAで自作したクラスのメソッドやプロパティの一覧を列挙するにはどうすれば宜しいでしょうか? どのような自作したクラスでも使える汎用的なものを作成したいです。
333 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 07:32:33.79 ID:mh6S44cma.net] すみません。 特定のセル内に有るリンクを抽出する方法は有りますか?
334 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 08:32:32.67 ID:vHBnGMWOd.net] >>326 VBAでは無理 ソースをエクスポートしてテキストファイルを処理するぐらいしかないと思う VB.netならGetMembersってのがあるんだけど
335 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 08:33:31.79 ID:vHBnGMWOd.net] >>327 Hyperlink
336 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 01:24:13.27 ID:7NvJtuE10.net] >>328 なるほど、VBAでは無理なんですね。 以前、VB.Netの命令をVBAで走らせることが出来る場合があることをこのスレで聞いたことがあるような気がしましたので、 そちらとAPIで実装出来ないかを模索してみます。ありがとうございました。
337 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 03:38:02.55 ID:pgjQzAZm0.net] オブジェクトブラウザがやってるけど、どうやってるんだろうな >>328 エクスポートとかしなくても、VBEオブジェクト使えばコードのスキャンはできる プロシジャ名の列挙だけでよければここの実行結果3がそうじゃね https://excelwork.info/excel/codemoduleproperty/
338 名前:デフォルトの名無しさん mailto:sage [2022/03/12(土) 08:17:43.49 ID:7NvJtuE10.net] >>331 後出しになってしまい申し訳ありません。 実は、実際にやりたかったことは 自作したEntityクラスのプロパティを 片っ端からGetして配列に入れ込み、 それをシートに展開すると言うことでした。 名前の列挙さえ取得できれば 後はリフレクションで呼び出せば可能と 考えていました。 おかげで実装の目処がつきました。 ありがとうございます。
339 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 02:21:31.96 ID:YEneWsYd0.net] どういう状況で使うんだろう 自分で作ったのに数が多すぎて覚えてないとか?
340 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 02:43:05.91 ID:B1jPEMw70.net] 素人ですが質問させて下さい。 画像のような、1つのシートに20行単位の表で、連番と日付を上の表から取得するようなブックを作成しています。 表の順番を変えても、常に1つ上の表の番号+1、同じ日付としたいため、直接セルを参照せずこのような関数を使用しています。 式は、↓としています。 =INDIRECT(ADDRESS(ROW()-20,COLUMN())) 起動中は問題なく動作するのですが、ブックを閉じて再起動すると、起動時に必ず落ちてしまいます。(手動計算にすると開ける) コピーを作成して、上記の式の部分だけ消すと問題なく起動します。 この場合、何が悪いのでしょうか。或いは代替手段があれば教えて頂けると助かります。 https://i.imgur.com/cVZnwnZ.jpg
341 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 02:49:45.62 ID:B1jPEMw70.net] 普段VBAを触っているためVBAスレで質問してしまいました。 スレ違いであればスルーして下さい。
342 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 03:12:17.58 ID:JfJkUCau0.net] >>335 多分Excel板なら親切な人が回答してくれすよ
343 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 05:18:44.42 ID:JG4Baegn0.net] >>334 offsetで良いと思う。indirectは挙動が微妙におかしい t46=offset(t26,-20,0) >>335 >>336 回答者は被ってるからどっちでもいいよ
344 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 11:02:15.36 ID:B1jPEMw70.net] レスありがとうございます。 こいつ自体難のあるものなんですね。 offsetで狙った動きができました。ありがとうございます。
345 名前:デフォルトの名無しさん mailto:sage [2022/03/13(日) 14:32:38.85 ID:UXs3pJFgd.net] 普通に「=R[-20]C+1」じゃダメなのかね(R1C1形式
346 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 05:49:07.49 ID:3S2IFgLOM.net] >>339 これだと移動させたとき式の値も変動してしまいました。
347 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 07:57:10.59 ID:727wXMaZd.net] >>340 失礼、移動後も保証しないとだめだからこれではだめですね
348 名前:デフォルトの名無しさん mailto:sage [2022/03/14(月) 17:48:06.77 ID:yx1wpkrnM.net] >>334 ですが、当初安定していたもののまた同じ現象になりました。 端末を変えるなり新しいブックにして作り直したり色々試すも改善せず、T列の参照だけがこの現象を引き起こしている(参照先が文字列だと発生しないが数値は発生)ことが分かったため他の列を経由して参照する形で概ね落ち着きました。 エクセル自体のバグなのか分かりませんが同種の状況の方の参考まで。
349 名前:デフォルトの名無しさん mailto:sage [2022/03/15(火) 13:19:58.65 ID:cMhtDWKy0.net] >>342 多分ブックが壊れている 新しいブックを作り、1シートずつコピーすれば直る可能性がある その状態で使い続けると完全に壊れて、開けなくなる可能性があると思う
350 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 04:32:35.42 ID:3pfuXf5y0.net] ブックがブックわれている
351 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 07:48:40.55 ID:/fL7/vIcd.net] セル「 ちくしょーちくしょー! 完全体に…… 完全体にさえなればー! 」
352 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 07:55:37.71 ID:tVfnjSl40.net] エクセル「私の行数は 1048576です」
353 名前:デフォルトの名無しさん mailto:sage [2022/03/16(水) 10:32:53.21 ID:EfOqqAli0.net] 質問させて下さい。 EXCELの自ブックのシートにVBAにてADO接続でSQLを投げてRecordSetに値を取得していますが、 あまりに遅いのでINDEXを対象のシートに設定したいのですが、可能でしょうか? 可能であれば実装方法を教えて頂けるとありがたいです。 CREATE INDEXのSQLを投げると 「この操作は、このタイプのオブジェクトには実行できません。」というエラーが返って来ます。 EXCEL VBA上でのADO接続だったのでこちらのスレで質問させて頂きました。 もしスレ違いで有れば誘導して頂けるとありがたいです。
354 名前:デフォルトの名無しさん [2022/03/16(水) 20:05:55.54 ID:E9jeVJ9d0.net] エクセルの開発、挿入、フォームコントロールでリストボックスを作って操作するのですが sheet.ListBoxes("List").AddItem "A" だったかな?で追加できるんですが sheet.ListBoxes("List").Clear で全て消去したくてもエラーになります。 sheet.ListBoxes("List").RemoveItem 1 で消せるので .ListCountが0になるまで 消していくとやりたいことはできるのですがClearのような1行で消す方法が知りたいです。 あと選択している内容を取得したいのですが.Valueだと内容ではなくインデックス番号?が返ってきます 選択している内容を文字列で取得できないのでしょうか。検索してもユーザーフォームのページばかり 出てきてわかりません。どなたか知っていたら教えてください。
355 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 04:53:04.06 ID:2UkhCjLQ0.net] >>348 全消しはRemoveAllItemsかな? 内容の取得はItem(インデックス番号)かな? マニュアル見てそれっぽい単語を見つけただけだから違ってるかも
356 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 05:57:03.26 ID:RdQIwXxN0.net] 最近のExcelってヘルプもついていないの?
357 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 06:07:57.47 ID:UlLj9IGM0.net] ネットがあるからねぇ
358 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 11:46:40.93 ID:mL7eqXCg0.net] それでなくなったのか、知らんかった
359 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 12:31:38.84 ID:9VjLQzax0.net] F1押すだけでヘルプ出てくるの便利だったのにね
360 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 12:35:28.43 ID:++LfIShu0.net] F1ヘルプ起動大嫌い 起動遅いから誤爆した時ストレス
361 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 12:48:39.33 ID:Rh0i5fdo0.net] まあ市販ソフトとかゲームとかおしゃんな小物とかもネット参照多くなったしね
362 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 15:59:04.45 ID:2UkhCjLQ0.net] 2010のあたりでヘルプがオンラインになって、旧バージョンのヘルプファイルを無理矢理インストールして使ってた記憶がある あれってどのバージョンの話だっけ
363 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 16:00:36.21 ID:2UkhCjLQ0.net] >>348 VBAから操作するんなら、たぶんフォームコントロールよりActiveXコントロールのが簡単だと思うよ MSは推奨してないみたいだけど
364 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 18:51:23.33 ID:NNC6CjWiM.net] やたら重かった無能なイルカよりはマシだろう
365 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 19:51:28.31 ID:hQEb7r5k0.net] お前を消す方法なつい
366 名前:デフォルトの名無しさん mailto:sage [2022/03/17(木) 20:00:50.39 ID:+xJma3Ej0.net] >>348 https://www.sejuku.net/blog/37803 ここ読んでがんがれ
367 名前:デフォルトの名無しさん [2022/03/17(木) 22:15:36.31 ID:UYkpbTrn0.net] >>349 全消しはRemoveAllItemsでできました。Itmeで内容はとれずエラーになりました。 マニュアルはマイクロソフトのExcel VBA リファレンスかな?そこで検索かけてもよくわからないのであきらめます。 Valueでもやりたいことはできそうなので >>357 ActiveXでのやり方はわかるんですけどできればActiveXより新しいの使いたいんですよね。 別件でActiveXが大量に使われているブックが物凄く重くなっているのを見たことあってあまり使いたくない。てのもあります。 >>360 ユーザーフォームのことじゃないです。
368 名前:デフォルトの名無しさん mailto:sage [2022/03/18(金) 09:26:17.20 ID:yuFF0zGe0.net] じゃあこれ officetanaka.net/excel/function/tips/tips56.htm
369 名前:デフォルトの名無しさん mailto:sage [2022/03/18(金) 10:46:32.32 ID:GvFVeYD4d.net] >>361 List(参照したい位置)でいけるんじゃないか 参照したい位置はListIndexでとれるかと 複数選択ならSelected(位置)でTrueになるところかな
370 名前:デフォルトの名無しさん mailto:sage [2022/03/18(金) 19:57:18.31 ID:hw4UnylL0.net] シート上で任意に選択した範囲を set myRange = 選択範囲 のように代入した後、 For Each buf In myRange.Value 処理A Next という処理をしようとすると、 ・選択範囲が複数ある場合:正常に動作する ・選択範囲が1つの場合:「型が一致しません」のエラーになる 「For each ○ IN ●」の●には複数セルが指定されていないといけないということでしょうか?
371 名前:デフォルトの名無しさん [2022/03/18(金) 23:38:51.84 ID:q1DQLrxB0.net] >>364 そうです set buf as range For Each buf In myRange debug.print buf.value Next こんな感じじゃだめですか?
372 名前:デフォルトの名無しさん [2022/03/18(金) 23:53:01.28 ID:q1DQLrxB0.net] おっと間違えた dim buf as range For Each buf In myRange debug.print buf.value Next
373 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 00:50:36.99 ID:OOddD3UI0.net] myRange.Value の Value がおかしかったのか。 ありがとうございます。
374 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 02:03:56.48 ID:yYNieGSo0.net] >>364 myRangeの何をbufとしてとりたいの?各セル、連続した複数のセル、myRange全体によつて正しいこーどは異なる
375 名前:364 mailto:sage [2022/03/19(土) 10:45:02.08 ID:OOddD3UI0.net] >368 任意のドラッグ操作で選択したセルと同じ行のL列(左から12番目)に入っている文字列を結合して表示させようとしました。 Dim cnt As Integer Dim myRange As Range Dim buf As Range Dim target As String cnt = Selection.Rows.Count Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12)) For Each buf In myRange target = target & buf & vbCrLf Next Debug.Print target
376 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 10:48:26.22 ID:kJy21FG50.net] >>347 で質問させて頂いたものです。 色々調べましたがシートにINDEXを設定するのは実現可能か分からなかったのと、 出来ない場合、代替案を考えたいのですが、 ひとつのシートに20万行、100列の一覧が有ったとして そのとき、ひとつの項目(項目1とします)はある値とイコール、更に別の項目(項目2とします)は 項目1で抽出したレコードの内の最大値を求めたいです。 どのような方法が一番速く処理出来ると思いますか?
377 名前:364 mailto:sage [2022/03/19(土) 10:48:43.76 ID:OOddD3UI0.net] >>369 は正常に動作したコードです。 最初は下記のようなコードでエラーとなっていました。 Dim buf As Variant ←Variant型にしていた。 For Each buf In myRange.Value ←.Valueを付けていた。 target = target & buf & vbCrLf Next Debug.Print target
378 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 10:51:21.24 ID:CvJNM5+IM.net] 範囲検索するのにfindとworksheetfunction.matchとではどちらが速いですか?
379 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 10:52:04.86 ID:CvJNM5+IM.net] ちなみに完全一致の場合です
380 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 11:51:46.09 ID:/t3SgnSXa.net] 自分で試せばいいだろw
381 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 11:51:57.89 ID:i9OMIEsk0.net] 試したほうが早いよ
382 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 12:52:21.15 ID:UXt2lmR80.net] は?試してたらこんな所で聞きませんけど?
383 名前:デフォルトの名無しさん [2022/03/19(土) 12:52:58.71 ID:4DGoWoBi0.net] >>369 >cnt = Selection.Rows.Count >Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12)) Set myRange = Cells(Selection.Row, "L").Resize(Selection.Rows.Count) もっと簡単に書けそうな気もするがこんなもんかな
384 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 13:47:10.61 ID:zEPprvQva.net] >>376 試してなくても、こんなところで聞かないでくださいw
385 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 14:44:42.82 ID:qNoriQBK0.net] >>377 ちゅんちゅんさん推奨の書き方か resize真似して使ってたんだけど間違えやすかった
386 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 15:12:32.83 ID:OOddD3UI0.net] >>377 ありがとうございます。.Resizeを使うとスマートに書けるんですね。使ってみます。
387 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 15:57:19.25 ID:rhR/rlzyd.net] autofilterで表示されたものだけで、列をautofitすることは出来ますか?
388 名前:デフォルトの名無しさん [2022/03/19(土) 16:36:01.13 ID:4DGoWoBi0.net] SpecialCells(xlCellTypeVisible)でできんじゃねーかな
389 名前:デフォルトの名無しさん [2022/03/19(土) 16:40:58.85 ID:AuBNrAzT0.net] コードは
390 名前:スマートなのに…って言われろ [] [ここ壊れてます]
391 名前:デフォルトの名無しさん [2022/03/19(土) 18:04:38.19 ID:4DGoWoBi0.net] Range("テーブル1[項目A]").SpecialCells(xlCellTypeVisible).Columns.AutoFit 出来ないのかと思ったらできるじゃん
392 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 18:22:46.82 ID:qn2+ggVDa.net] VBA素人にご教示ください PowerQueryで整形したテーブルのデータを 別ブックのVBAに引っ張ってきたい場合 ・列データをユーザー定義型にまとめる ・ListObjectを使う どちらがベターでしょうか?
393 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 18:48:13.74 ID:XaCRBAWQM.net] 引っ張ってきたい側でpowerquery使って整形したテーブルをソースに指定する
394 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 19:07:47.91 ID:qn2+ggVDa.net] すいません、うまく説明できてませんでした PowerQueryとVBAは別ブックでも同じブックでもいいです やりたいことは 巨大なテーブルを参照してVBAで検索フォームを作りたい です その場合、テーブルデータを ・ユーザー定義型にまとめる ・ListObjectを使う どちらがいいのか?が質問の意図です 改めてお願いします
395 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 20:45:24.46 ID:ecCVM1RA0.net] 全くの素人で申し訳ないんですけど、やりたい事 ❶:B10からスタートしてボタンを押したら次の行に指定された文字を入力していく。 ❷:Ifを使って、もしB29行まで埋まった状態でボタンを押したら B2からB29までコピーしてB1からB28にペースト →B29に指定された文字を入力 色々頑張ったけど自分で❶は出来たけど❷ハードルが高かった・・・
396 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 21:21:42.73 ID:titlKmjCa.net] 2のどの部分ができないのか
397 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 21:33:07.78 ID:qNoriQBK0.net] If Range("B29")<>"" then Range("B1:B28").value = Range("B2:B29").value こんな感じか?
398 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 22:17:04.40 ID:hVJQeY+Td.net] >>389 IFで範囲内空白があった場合を出そうとしてたんだけどうまくいかなかったんや・・・
399 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 22:17:58.96 ID:hVJQeY+Td.net] 因みに入れたいのは勝利か負け。2つボタン作れば別々に行けるかな
400 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 22:56:32.21 ID:hVJQeY+Td.net] >>389 ありがとう。認識できた。そしてなんとか検索して思うような結果になった!
401 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 00:13:30.21 ID:ZUsPYd03M.net] >>382 >>384 ありがとうございます。 明日試してみます。
402 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 01:49:20.37 ID:CEJcVsO40.net] >>387 巨大ならlistobjectかadoじゃないの、速度的に。 巨大じゃなきゃ何でもいいや。