[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
670: (スプッッ Sd02-oXyV) 2020/10/25(日)14:25 ID:f7KUnMgPd(1/2) AAS
>>667
String(255,"*")
671: (スプッッ Sd02-oXyV) 2020/10/25(日)14:26 ID:f7KUnMgPd(2/2) AAS
100文字か。
String(100,"*")
672: (アウアウウー Sa45-TzND) 2020/10/25(日)14:53 ID:SDXJVscja(1) AAS
>>667
その質問のほうがダサい
673: (ワッチョイ ee63-9Kcm) 2020/10/25(日)17:29 ID:6oKLzf6v0(2/2) AAS
>667
です
669-671
おかげさまでできました有難う天才たち
674: (ワントンキン MMd2-++O/) 2020/10/25(日)19:06 ID:DNLjJymIM(1) AAS
やっぱりいつものあいつでしたとさ
675: (ワッチョイ fd5f-orSx) 2020/10/25(日)19:23 ID:eXluQ9/t0(2/2) AAS
なんでもいいという要件がわからない。
676: (ワッチョイ 05da-tMQb) 2020/10/25(日)20:13 ID:R1nDOxYO0(2/2) AAS
からかわれている
677: (ワッチョイ cd7c-z4aL) 2020/10/25(日)20:37 ID:cOgZifE90(2/2) AAS
というかバカにされてるなたぶん
678
(3): (ワッチョイ d163-9Kcm) 2020/10/25(日)21:38 ID:eeV8PNBf0(1) AAS
複数行まとめてコメントアウトしたい場合
どう書けばいいですか
一行ずつ'を入れたくないです。
679
(1): (アウアウウー Sa45-ot4R) 2020/10/25(日)22:03 ID:D3cPjOx/a(1/3) AAS
選択されたら行範囲をすべてコメント化/コメント解除はツールバーにある
そのバーが非表示だと表示しなければダメだが
あと、推奨されるかは分からないけど、

#if 0 then

コメント化したい行

#end if

とかよくやります
680: (アウアウウー Sa45-ot4R) 2020/10/25(日)22:04 ID:D3cPjOx/a(2/3) AAS
出だし
選択された行範囲…
です
681: (アウアウウー Sa45-ot4R) 2020/10/25(日)22:18 ID:D3cPjOx/a(3/3) AAS
自分で書いておいてなんだけど、#でぃれくてぃぶによるコメントはお勧めしません
知っておいてよいかも、で
682: (ワッチョイ 02ad-dZ3m) 2020/10/25(日)23:22 ID:JTBNO/Ek0(1) AAS
>>678
行の末尾に半角スペースとアンダーバーを入れて次の行と繋げてしまうとか?
683: (ワッチョイ 05da-tMQb) 2020/10/26(月)00:23 ID:qmNjcSj20(1/2) AAS
>>678
数行程度の編集作業で手を抜くってのはどうかな
むしろそのコメント残さないで削除した方がいいんじゃね
一時的に処理を分けるならプロシージャとかで追い出して呼び出し部分をコメントにするとかあるけど
684: (ワッチョイ fd5f-orSx) 2020/10/26(月)12:01 ID:fNFJMgyU0(1) AAS
>>678 は釣り
685: (ワッチョイ 05da-TzND) 2020/10/26(月)14:18 ID:qmNjcSj20(2/2) AAS
やっぱりそうか
686
(1): (ワッチョイ eef2-dv2+) 2020/10/26(月)22:12 ID:jYeoL4370(1/2) AAS
元々スプレットシート使ってて最近vba始めたんだけど
エクセルのvbaではスプレットシートで言うとこのsetvaluesみたいなのはないの?
2次配列をシートに貼り付けるみたいなことしたいんだけど
687
(1): (ワッチョイ eef2-dv2+) 2020/10/26(月)22:13 ID:jYeoL4370(2/2) AAS
2次配列じゃなくて多次元配列でした
688
(1): (ワッチョイ 65ce-gGz3) 2020/10/26(月)22:18 ID:LUihbr1y0(1) AAS
>>687
VBAは2次元配列限定でRangeに代入すればまとめて書き込んだり読み取ったりできる
689
(2): (ワッチョイ c2e6-E8a6) 2020/10/27(火)00:26 ID:bFDGidnH0(1) AAS
VBAはなぜか裏技っぽい文法が好きらしい
Midステートメントなんて最悪
690: (ワントンキン MMd2-++O/) 2020/10/27(火)01:13 ID:86zqMFTdM(1) AAS
>>686
>>689
釣られないように
691: (ワッチョイ eef2-dv2+) 2020/10/27(火)02:21 ID:rqaBQIGU0(1/3) AAS
>>688
何度もすいません
例えばこんな感じでrangeの範囲がわからない場合rangeのとこどうしたらいいの?

dim tmp
tmp = worksheets("sheet1").usedrange
worksheets("sheet2").range()= tmp
692
(1): (ワッチョイ eef2-dv2+) 2020/10/27(火)02:24 ID:rqaBQIGU0(2/3) AAS
ソース間違いです

dim tmp
tmp = worksheets("sheet1").usedrange.value
Worksheets("sheet2").range()= tmp
693: (スッップ Sda2-rRPK) 2020/10/27(火)02:30 ID:9HNq6CFYd(1) AAS
例のあいつ
694: (ワントンキン MMd2-gpcg) 2020/10/27(火)11:38 ID:ptoZa2VhM(1) AAS
Wordの2ページ目以降にラベルを追加する方法について教えてください

エクセルからWordを呼び出して、ラベルを追加しようとしています
以下のように記載しました

Set newDoc wdApp.Documents. Add
newDoc.Shapes.AddLabel msoTextOrientationHorizontal, 35, 300, 30, 20

AddLabelの第二引数(300になっているところ)を増やせば2ページ目以降に追加されると思いましたが消えてしまい上手くいきません

すみませんがどうすればいいかご教示お願いいたします
695
(1): (スップ Sda2-oXyV) 2020/10/27(火)12:32 ID:g67UH/S6d(1) AAS
>>692
それ、Rangeの範囲わかるよね。
696
(2): (ワッチョイ eef2-dv2+) 2020/10/27(火)16:07 ID:rqaBQIGU0(3/3) AAS
>>695
わからない場合です
いちおうuboundとかで出せるのは分かるけど流石にこれだと増長すぎるかなと
worksheets("sheet2").range(cells(1,1),cells(ubound(tmp),ubound(tmp,2))) = tmp
697
(2): (ワッチョイ e163-3xd8) 2020/10/27(火)18:11 ID:l1bcXJEN0(1/2) AAS
VBAを使うには記述の冗長さは諦めたほうがいい
その書き方で大正解だ
698: (ワッチョイ e163-3xd8) 2020/10/27(火)18:13 ID:l1bcXJEN0(2/2) AAS
VBAの何が終わってるってこう言う書き方に少しも疑問を覚えない老害がいっぱいいるんだよな
699: (アウアウウー Sa45-TzND) 2020/10/27(火)18:22 ID:qZwcfAyua(1) AAS
一旦変数にいれればいいんじゃね
700: (テテンテンテン MMe6-FUnU) 2020/10/27(火)18:42 ID:6WpiGXJ0M(1) AAS
疑問に思ったところでどうしようも無く無いか
自分でクラスでも作るとか?
701: (ワッチョイ ee63-S+8T) 2020/10/27(火)18:50 ID:D9T+kNV20(1) AAS
冗長にしたくなければテーブル使うのが1番手っ取り早いかなぁ
プロパティの分かりづらさとネット検索結果の貧弱さは仕方ない
702: (ワッチョイ fd5f-zec2) 2020/10/27(火)19:33 ID:w/TzFTqy0(1/2) AAS
>>697
resizeはどうだ?
703: (ワッチョイ fd5f-zec2) 2020/10/27(火)19:35 ID:w/TzFTqy0(2/2) AAS
最近おもいついたこと
ワークシート関数→波紋
VBAマクロ→幽波紋
704
(2): (ワッチョイ 21da-tMQb) 2020/10/27(火)23:01 ID:o6G0sPC10(1) AAS
>>689
裏技っぽいかは知らんがこれ好き
a = b = c
705
(1): (ワッチョイ 0563-9Kcm) 2020/10/27(火)23:03 ID:gj2Ohu8L0(1) AAS
>>679
ありがとうお勧めではないそうですが
教えてくださった方法でコメントアウトできたので
使いますww
706: (アウアウウー Sa45-ot4R) 2020/10/27(火)23:05 ID:WVQXu4mGa(1/2) AAS
代入が式の言語だと、結果 a、b、c が同値になるし、イヤだなぁ…
707: (アウアウウー Sa45-ot4R) 2020/10/27(火)23:13 ID:WVQXu4mGa(2/2) AAS
>>705
[表示]-[ツールバー]-[編集] で表示られるアイコンの左から9番目で選択範囲を一括コメント化、その右のアイコンでコメント解除
それも試してみてください
708: (アウアウウー Sa45-TzND) 2020/10/27(火)23:23 ID:2iVpt4JMa(1) AAS
>>704
おれは嫌い
709: (ラクッペペ MMeb-4t7V) 2020/10/28(水)06:32 ID:MUExsF8QM(1/2) AAS
マクロ実行後、
エクセルファイルを保存しようとすると
プライバシーに関する注意
というメッセージが出ます。
出ないよう設定できるようですが
セキュリティ的に不安です。
皆さんどのような対処をされてますか

いったんエクセルを全部終了するくらいしか
思いつきません
710
(1): (テテンテンテン MMeb-1WjG) 2020/10/28(水)06:48 ID:MGib4+U5M(1) AAS
マクロ実行後、 ←この時点で手遅れ
711: (ラクッペペ MMeb-4t7V) 2020/10/28(水)08:53 ID:MUExsF8QM(2/2) AAS
>>710
実行前に他のエクセルを終了するのが
一般的でしょうか
712: (ドコグロ MMfd-frLi) 2020/10/28(水)12:22 ID:VqefcRCnM(1) AAS
>>704
好きとか嫌いとかじゃなくて
If b = c Then
a = True
Else
a = False
End If
みたいなコード書くなら
a = b = c
ッて書いた方が楽じゃね?
713: (テテンテンテン MMeb-gykd) 2020/10/28(水)12:26 ID:SBFJNMXDM(1/2) AAS
後から見直すときに前者の方が見やすい
書く時に楽かどうかは別にどうでもいいです
714: (ワッチョイ 0bba-CXnf) 2020/10/28(水)13:08 ID:Gcn0+siH0(1) AAS
a = (b == c)
ならいいんだけどなぁ
715: (ラクッペペ MMeb-rMvQ) 2020/10/28(水)13:28 ID:ArgZkv9MM(1) AAS
インタプリタの時代にif文の構文解析が遅いからって可読性皆無の謎の数式書いてた思い出
716: (ワッチョイ 8bf2-+/f8) 2020/10/28(水)15:35 ID:0lSgHaJH0(1) AAS
>>697
教えてくれてありがとうございます
これが普通なんですね
仕方ないので暫くはこれで大人しく頑張ってみます
何か荒れてたとこに変な質問して申し訳ありませんでした
717
(1): (ドコグロ MM63-frLi) 2020/10/28(水)18:57 ID:koZ0sZlBM(1) AAS
>>696
冗長とか増長とか言う前にシートを指定せずにcells( )とか使うのはバグの元、せめて
With Worksheets("sheet2")
.Range(.Cells(1, 1), .Cells(UBound(tmp), UBound(tmp, 2))) = tmp
End With
にした方がいい
718: (テテンテンテン MMeb-gykd) 2020/10/28(水)19:02 ID:SBFJNMXDM(2/2) AAS
withはなんか嫌い
719: (テテンテンテン MMeb-1WjG) 2020/10/28(水)19:10 ID:URI3IFfrM(1) AAS
DAIGO監修マッチングアプリ
720: (ワッチョイ 93e6-rMvQ) 2020/10/28(水)19:13 ID:Aw3ALjki0(1/2) AAS
..でもうひとつ上のwithが使えるとか変な拡張してほしい
721: (ワッチョイ f15f-CXP8) 2020/10/28(水)19:29 ID:n4xiXKpa0(1/2) AAS
>>717
With ThisWorkbook.Worksheets("sheet2")
.Cells(1, 1).Resize(UBound(tmp), UBound(tmp, 2))) = tmp
End With
おれはブックから指定しないと気が済まんな
722: (ブーイモ MMcb-Z7cj) 2020/10/28(水)19:32 ID:XiKqUxDYM(1) AAS
withはなんか嫌い
723: (ワッチョイ f15f-5dFy) 2020/10/28(水)19:40 ID:8aJXN6gS0(1) AAS
Sheetオブジェクトにbookから指定したシート格納して扱うことが多いかなー
724: (ワッチョイ 93e6-rMvQ) 2020/10/28(水)19:43 ID:Aw3ALjki0(2/2) AAS
SetしたらNothing警察がウルサイんだよ
725: (ワッチョイ f15f-CXP8) 2020/10/28(水)19:44 ID:n4xiXKpa0(2/2) AAS
Withじゃないと他人がつけたSheetやRangeの変数名を把握するの大変じゃない?
726
(1): (スップ Sd33-xx6n) 2020/10/28(水)19:49 ID:HcvuYFHJd(1) AAS
>>696
???
worksheets("sheet2").usedrange.value= tmp
じゃ駄目なのか?

範囲の文字が欲しいなら
worksheets("sheet2").usedrange.address
とかでも駄目?
727
(1): (ワッチョイ 132f-G7xE) 2020/10/29(木)12:00 ID:xpkBYj/E0(1) AAS
>>726
sheet1と2じゃUsedRangeの範囲が違うだろ
sheet1の範囲取得しないと
728: (スップ Sd33-xx6n) 2020/10/29(木)12:27 ID:wp9TtuK3d(1) AAS
>>727
意味が分かった。
ならアドレスでOK。
アドレス違うなら関数作れ。
入ってる二次元配列がどんなであろうと貼り付け先1セル指定で貼り付く奴。
729: (アウアウウー Sa9d-LNIG) 2020/10/29(木)18:28 ID:2VkEHk3qa(1) AAS
背中にお婆さんがはり付いているよ
730: (ワッチョイ 8bf2-+/f8) 2020/10/29(木)21:30 ID:4HKKGi1r0(1) AAS
vba配列操作貧弱すぎてつらい
731: (ワッチョイ c1da-CXnf) 2020/10/30(金)14:29 ID:mCzxAGXk0(1) AAS
ならVBAやめなよ
732: (ワッチョイ 8bda-YFxM) 2020/10/31(土)00:00 ID:OI+kPxFG0(1) AAS
無理にやる必要わない
UB人口少ないし
733: (ワッチョイ 2b02-d+DX) 2020/10/31(土)19:30 ID:ihhGxqs70(1) AAS
複雑な部分はpowershellでやれ
734: (ワッチョイ c1da-CXnf) 2020/10/31(土)20:06 ID:p/A/SH820(1) AAS
そしてそっちのスレでやれ
735: (ラクッペペ MMeb-UPla) 2020/11/01(日)06:21 ID:eo7/HsaKM(1) AAS
Excel add-insならJavaScriptでExcelを操作できる
外部リンク:docs.microsoft.com
736: (ワッチョイ 9163-skIi) 2020/11/01(日)13:18 ID:RpKdwAj80(1) AAS

老害がいっぱいでしょう
737
(1): (ワッチョイ 9963-fDVG) 2020/11/01(日)14:06 ID:wVa8LgII0(1/2) AAS
会社でxlsmファイルを次の担当に引き継ぐことになりました。
microsoft scripting runtimeの設定をそのファイルに施してあります。
次の担当者は自分で設定しなくても普通に使えるんでしょうか。
それとも自分で開発タブを表示するところから設定しないと
エラーになってしまうのでしょうか。
738
(1): (ワッチョイ 13ad-pe6I) 2020/11/01(日)14:29 ID:rqDSIn020(1) AAS
参照設定はユーザー毎じゃなくてファイル毎に設定
739: (ワッチョイ 8b8e-JnB3) 2020/11/01(日)14:51 ID:HO7tvAnU0(1) AAS
>>737
なぜやってみないの?ゆとりなの?
740: (ワッチョイ 9963-fDVG) 2020/11/01(日)15:54 ID:wVa8LgII0(2/2) AAS
やってみたところ>>738の印象だったのですが
実際どーなのかなあって思いまして・・
741
(1): (ワッチョイ 8bf2-+/f8) [sagr] 2020/11/01(日)17:10 ID:osQdZjWG0(1) AAS
一時期excelでpthon使えるようになるとかあったけどあれどうなったんだ
正直ちょっと期待してたんだけど
742: (ワイーワ2 FF63-OHB4) 2020/11/01(日)22:02 ID:8xLcKULEF(1) AAS
>>741
その話は消えたようだ
外部リンク:qiita.com
743: (ワッチョイ 8bf2-+/f8) 2020/11/03(火)03:00 ID:N88Bm9k/0(1) AAS
僕「複数のブックから値を取得したい時どうしたらいいんだろ」検索
検索結果「全部のブックを開いて取得しましょう。外部参照しましょう。」
僕「こいつら正気かよ…」
744: (ワッチョイ 19da-CXnf) 2020/11/03(火)07:44 ID:Z7LuIdeU0(1) AAS
他にどうしろと
特にZIP圧縮になって以降
745
(1): (ワッチョイ 117c-flnY) 2020/11/03(火)12:46 ID:3Zl4+FN80(1) AAS
ちょっと読むだけなら4macroとか大量データでないならDB接続とか
746: (アウアウウー Sa9d-YFxM) 2020/11/03(火)15:03 ID:Wl8qkqc+a(1) AAS
いつもの人でしょ
747: (ワッチョイ 69e5-Iouh) 2020/11/03(火)22:04 ID:DcyztcMU0(1) AAS
クラスが便利なのは分かっているんだが、難しくてやる気なくしてたんだけど
ユーザー定義型Typeね、アレすげえな
バカなオレでもプログラミングしている気分にさせてくれるくらい簡単
748: (ワッチョイ 655f-U72L) 2020/11/04(水)06:49 ID:dR//5Nki0(1) AAS
おれもクラスを調べてるけど要はオブジェクトを自分で作り出せるというところまでは分かった
749
(2): (ワッチョイ 8101-L1wp) 2020/11/04(水)18:04 ID:H6E0ixtH0(1) AAS
>>745
おそらく4macroで使える程度の関数群は外部参照で元ファイル開かなくても参照できる
どんなデータを集計したいかしらんけどただ値を取得したいだけならブック開く必要ないよ(裏では開いてるけど)
一方最近の関数使ってるなら安全のためにブック開いてたほうがいい

DB接続ってのはエクセルファイルにDB接続できないから意味ないだろうね
750: (ワッチョイ b57c-B5oV) 2020/11/04(水)19:12 ID:LUbnrRil0(1) AAS
できることしか言ってないよ
751
(1): (ワッチョイ 5e8e-JaP7) 2020/11/04(水)20:01 ID:YMXq55HT0(1) AAS
>>749
db接続できないと思ってるような人はコメントしなければいいのに
752
(1): (ワッチョイ a9da-t1Nk) 2020/11/04(水)20:42 ID:iJjhODSM0(1/3) AAS
>>749
ジェットでインストール可能なイサムすればつながるだろうが!
753: (ワッチョイ 92b5-FW0W) 2020/11/04(水)21:07 ID:+u5LkCAg0(1/4) AAS
txtデータをダイアログから開いた時に
元のxlsmにあるテンプレというシートを
毎回そのブック内の右側に添付したいんですが
御教授お願いします。。
毎回txtデータの名前は異なります。
なかなか調べてもわかりません
754
(1): (ワッチョイ a9da-t1Nk) 2020/11/04(水)21:12 ID:iJjhODSM0(2/3) AAS
よくわからんが、単純に If right(filename, 4) = ".txt" Then じゃダメなんかい
755
(1): (ワッチョイ 92b5-FW0W) 2020/11/04(水)21:32 ID:+u5LkCAg0(2/4) AAS
>>754
初心者で理解できてなくてすみません
色々サイトを検索はしたのですが

Sub テキストを読み込む() Dim TARGET_TEXT_FILE As String
ChDir "C:\テキストデータフォルダ"
TARGET_TEXT_FILE = Application.GetOpenFilename("テキストファイル,*.txt")
If TARGET_TEXT_FILE = "False" Then Exit Sub Workbooks.OpenText TARGET_TEXT_FILE End Sub

今のところこれでテキスト開いてるだけなんですが
全く変えた方がいいですか?
これで開いた新ブック全てに元々あるテンプレというシートを添付させたいのですが
省1
756: (ワッチョイ 92b5-FW0W) 2020/11/04(水)22:21 ID:+u5LkCAg0(3/4) AAS
結構片っ端からヒットしたサイト調べてますが答えがあるのかもしれないのですがなかなか知恵が出てこず…どなたかお助け頂ければと
757
(1): (ワッチョイ a9da-t1Nk) 2020/11/04(水)22:28 ID:iJjhODSM0(3/3) AAS
開いた後にこうかな?

ThisWorkbook.Worksheets("テンプレ").Copy , Workbooks(Dir(TARGET_TEXT_FILE)).Sheets(1)
758
(1): (スップ Sd12-ZPmU) 2020/11/04(水)22:41 ID:4kHESo6md(1) AAS
>>755
Dim tsh As WorkSheet
Set tsh = ThisWorkBook.Worksheets(″テンプレ″)
としておいて、
テキストファイルをオープンした後に
tsh.copy
ActiveWorkbook.insert
とかなんとかできないかね
759
(1): (ワッチョイ 92b5-FW0W) 2020/11/04(水)23:45 ID:+u5LkCAg0(4/4) AAS
>>757
>>758
お二方、本当にありがとうございます。
いまホテルでPCが無い環境になってしまったので
また試させていただきます。
もし上手く動かなくても勉強にさせてもらいます。本当に感謝します。
760: (スププ Sdb2-ErlH) 2020/11/05(木)00:34 ID:Hf0k6gxcd(1) AAS
初心者、勉強中って設定でくれくれするスタイル
761: (ワントンキン MM62-BMuU) 2020/11/05(木)00:55 ID:E/zWC4JEM(1/2) AAS
ID:+u5LkCAg0

いつものあいつだろ
762
(1): (ワッチョイ d2e6-DMUe) 2020/11/05(木)01:18 ID:MmJj0qw00(1) AAS
わざわざこんなとこで聞くよりググったほうが早いからな
ただのかまってちゃんだ
763: (スッップ Sdb2-JaP7) 2020/11/05(木)01:33 ID:wTkbtAOfd(1) AAS
>>762
意味もわからずコピペするだけの馬鹿だから無理なのだろ
764: (ワッチョイ 5e8e-BMuU) 2020/11/05(木)01:37 ID:eUwwuQR20(1/2) AAS
>>759
死ね
765
(2): (ワッチョイ 8101-L1wp) 2020/11/05(木)13:00 ID:OVMdlSXB0(1) AAS
>>751
>>752
直じゃなくて一旦DB化(一括インポート)しなきゃなんねえの
Jet.OLEDB,ACE.OLEDB,SQL Server,Power Query
外部DBが使えるならなんでもええがな
こいつら通さずエクセルに直にSQL送ったところで何も帰ってこないよ
さらにいうとエクセルファイルにDBアクセス中にエクセルファイル書き換えると整合性が取れなくなる
別物をかましてるんだからエクセル同志でDB接続とは言えんだろ
766: (ワッチョイ 5e8e-JaP7) 2020/11/05(木)13:45 ID:eUwwuQR20(2/2) AAS
>>765
黙っていればいいのに
767: (ワントンキン MM62-BMuU) 2020/11/05(木)17:33 ID:E/zWC4JEM(2/2) AAS
ODBC全否定の馬鹿がいる
768: (ワッチョイ 3162-cN9R) 2020/11/05(木)18:57 ID:hU6fY/MX0(1) AAS
凄く初歩的な質問ですいません。
VbaでEDGEを操作することは可能ですか?
可能ならIEで使っていたコードは使えるんでしょうか?
769: (ワッチョイ a9da-t1Nk) 2020/11/05(木)19:50 ID:SbS9cEmY0(1) AAS
>>765
ただの屁理屈だそんなもん
ADOだのMSクエリ前提で話しているに決まってるだろうが

パソコンでテレビを見るには、チューナを外付けしないといけないから、
パソコンでテレビを見られるとは言えない、とか言ってるようなものだぞ。
1-
あと 233 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s