探検
Excel VBA 質問スレ Part65
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 3bda-drwQ)
2020/03/17(火) 16:27:20.88ID:hh8LiIgR0ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part64
https://mevius.5ch.net/test/read.cgi/tech/1575297834/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
839デフォルトの名無しさん (ワッチョイ 67ac-fZS3)
2020/05/04(月) 10:28:02.39ID:ESbXk+mE0 はいつぎの方
840デフォルトの名無しさん (ワッチョイ df01-lZTE)
2020/05/04(月) 10:39:56.70ID:EYE1xMNJ0 うちの職場じゃボタン押すことぐらいしか出来ないような連中ばかりだから
仕様書どころかマニュアル作っても1割ぐらいしか理解してもらえないだろうな
目の前で説明しても少し込み入った設定になると覚える気一切ないしな
俺がいなくなったら終わりと思ってる
コメントすら残してない
仕様書どころかマニュアル作っても1割ぐらいしか理解してもらえないだろうな
目の前で説明しても少し込み入った設定になると覚える気一切ないしな
俺がいなくなったら終わりと思ってる
コメントすら残してない
841デフォルトの名無しさん (ワッチョイ a7ad-ur4w)
2020/05/04(月) 11:03:15.13ID:mKy38ERH0842デフォルトの名無しさん (ワッチョイ a78e-MvRk)
2020/05/04(月) 11:58:39.88ID:oqIKeiQj0 >>841
死ね
死ね
843デフォルトの名無しさん (ワッチョイ 877c-mIzA)
2020/05/04(月) 11:59:42.54ID:zFV2kJYS0 ドキュメントが必要かどうかに言語は関係ない
プロジェクトの内容次第
プロジェクトの内容次第
844デフォルトの名無しさん (ワッチョイ c7da-ts7H)
2020/05/04(月) 12:35:48.74ID:NmZgEDtP0 >>841
例えばテレビのリモコンの電源ボタンとか消音ボタンのような使い方をするイメージ
例えばテレビのリモコンの電源ボタンとか消音ボタンのような使い方をするイメージ
845デフォルトの名無しさん (ドコグロ MM9f-4Orb)
2020/05/04(月) 12:43:46.28ID:RsDc9cGOM >>838
お前の所の普通が世間一般の普通じゃないだけが
お前の所の普通が世間一般の普通じゃないだけが
846デフォルトの名無しさん (ワッチョイ c7ce-ts7H)
2020/05/04(月) 12:48:54.23ID:cVQIuVcH0 >>841
誰も使わない悪い例を書いただけ
誰も使わない悪い例を書いただけ
847デフォルトの名無しさん (ブーイモ MM2b-ur4w)
2020/05/04(月) 13:16:33.95ID:c8yfA7Q3M848デフォルトの名無しさん (ワッチョイ a78f-h83k)
2020/05/04(月) 13:17:26.32ID:n6lRLUl70 If a = True Then
誰にでもわかる書き方でとても良いと思う
今VBAを勉強する人は本職プログラマではなく
別に仕事があって、その効率化の為に学んでる人が主でしょう
そしてそれを非プログラマ同士で共有するのなら
どの本にでも書いてある書き方の方が望ましい
匿名の名人様の言葉に右往左往する必要はないよ
誰にでもわかる書き方でとても良いと思う
今VBAを勉強する人は本職プログラマではなく
別に仕事があって、その効率化の為に学んでる人が主でしょう
そしてそれを非プログラマ同士で共有するのなら
どの本にでも書いてある書き方の方が望ましい
匿名の名人様の言葉に右往左往する必要はないよ
849デフォルトの名無しさん (ワッチョイ df01-4Orb)
2020/05/04(月) 13:43:10.72ID:/ITc8kQd0 >>847
自己紹介かよww
自己紹介かよww
850デフォルトの名無しさん (ワッチョイ 7fda-ts7H)
2020/05/04(月) 14:09:51.63ID:9S16/cFq0 Debug.Print xml.getElementsByTagName("タグ名").Item(0).Text
Microsoft XML, v3.0 参照 → OK
Microsoft XML, v6.0 参照 → エラー
何でやねん。
Microsoft XML, v3.0 参照 → OK
Microsoft XML, v6.0 参照 → エラー
何でやねん。
851デフォルトの名無しさん (ワッチョイ 2791-x7Cl)
2020/05/04(月) 14:14:20.30ID:r232eNWS0 >>841
卜グルボタンとかチェックボックスのようなオンオフするようなものを変数で管理しようとした時に、変数がTrueならFalseに設定し、FalseならTrueに設定する処理を書いている。
最初のIf文の方は英文が分かれば簡単に理解出来る。
Notを使う方はTrue/Falseだから変数を変数自身と反対にすることで実現してる。
卜グルボタンとかチェックボックスのようなオンオフするようなものを変数で管理しようとした時に、変数がTrueならFalseに設定し、FalseならTrueに設定する処理を書いている。
最初のIf文の方は英文が分かれば簡単に理解出来る。
Notを使う方はTrue/Falseだから変数を変数自身と反対にすることで実現してる。
852デフォルトの名無しさん (ワッチョイ 7fdd-ts7H)
2020/05/04(月) 14:35:44.64ID:m3H0OQVZ0 検索Dialogの検索場所(WithIn)をVBAから切り替えるアイデアをお持ちの方いたら教えていただけないでしょうか。
全シートから検索するのが目的ではなく、ブック全体検索後に何気に範囲指定置換を実施して引き起こされる惨状を回避したく。
(または別視点による工夫でもOKです)
詳しい方、よろしくお願いします。
全シートから検索するのが目的ではなく、ブック全体検索後に何気に範囲指定置換を実施して引き起こされる惨状を回避したく。
(または別視点による工夫でもOKです)
詳しい方、よろしくお願いします。
853デフォルトの名無しさん (ワッチョイ 67ac-fZS3)
2020/05/04(月) 15:43:06.15ID:ESbXk+mE0 >>852
意味不明な点が多すぎる。
>ブック全体検索後に何気に範囲指定置換を実施して
検索と置換ダイアログでは検索、置換は違うタブだから操作ミスは起きずらいが、
そこまでしなきゃならないのか
>引き起こされる惨状を回避したく。
惨状って具体的になにか
そもそも惨状とやらが起きるのは、GUIの話なのかVBAの話なのか
意味不明な点が多すぎる。
>ブック全体検索後に何気に範囲指定置換を実施して
検索と置換ダイアログでは検索、置換は違うタブだから操作ミスは起きずらいが、
そこまでしなきゃならないのか
>引き起こされる惨状を回避したく。
惨状って具体的になにか
そもそも惨状とやらが起きるのは、GUIの話なのかVBAの話なのか
854デフォルトの名無しさん (スップ Sd7f-C/EQ)
2020/05/04(月) 15:44:13.44ID:gO9XNStOd 今からVBAなんて覚える必要は全くない
855デフォルトの名無しさん (ワッチョイ a7ad-ur4w)
2020/05/04(月) 18:17:24.80ID:mKy38ERH0 841です。
丁寧な解説、みなさんありがとうございました。
勉強になりました。
丁寧な解説、みなさんありがとうございました。
勉強になりました。
856デフォルトの名無しさん (ワッチョイ 67f9-qVEi)
2020/05/04(月) 19:20:35.81ID:V2+TGFiQ0 >>855
アンカーも書けず全角で数字を書くよな馬鹿は死ね
アンカーも書けず全角で数字を書くよな馬鹿は死ね
857デフォルトの名無しさん (ワッチョイ 7fdd-ts7H)
2020/05/04(月) 19:40:04.11ID:m3H0OQVZ0 >>853
説明が不足していました。
検索と置換のタブはパラメータ設定の記憶が共通となっております。
ブック全体検索を行った後に範囲を選択して範囲内置換を実施しようとCtrl+Hを押します。
すると前回検索時の "検索場所=ブック"が活きている状態になっております。
気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。
コロン ":" でも削除置換しようものなら全ての時刻書式が破壊されます。
お試しください。
これを防ぐには、ブック内検索を実施した際は引き続きシート内検索を実施して設定を戻しておく必要があります。
普段ブック内検索ってあまり使わないのでこんな時に限って忘れてしまいます。
VBAはどうなっているかというと、.Find .Replace共に、WithInパラメータが存在しないため引数指定できず、直前のUI操作依存となるわけです。
自動化された置換処理があったりすると、事故が起こるわけです。
本件、GGってよく捜してみたら同様の悩みに対するQAありました。
Range("A1").Find("*")
この1行を実施するだけで検索場所をシートに戻せるようです。
逆に検索場所をブックにする方法を探しているところです。
ご存じの方おられましたら教えてください。
説明が不足していました。
検索と置換のタブはパラメータ設定の記憶が共通となっております。
ブック全体検索を行った後に範囲を選択して範囲内置換を実施しようとCtrl+Hを押します。
すると前回検索時の "検索場所=ブック"が活きている状態になっております。
気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。
コロン ":" でも削除置換しようものなら全ての時刻書式が破壊されます。
お試しください。
これを防ぐには、ブック内検索を実施した際は引き続きシート内検索を実施して設定を戻しておく必要があります。
普段ブック内検索ってあまり使わないのでこんな時に限って忘れてしまいます。
VBAはどうなっているかというと、.Find .Replace共に、WithInパラメータが存在しないため引数指定できず、直前のUI操作依存となるわけです。
自動化された置換処理があったりすると、事故が起こるわけです。
本件、GGってよく捜してみたら同様の悩みに対するQAありました。
Range("A1").Find("*")
この1行を実施するだけで検索場所をシートに戻せるようです。
逆に検索場所をブックにする方法を探しているところです。
ご存じの方おられましたら教えてください。
858デフォルトの名無しさん (ワッチョイ 6741-eET6)
2020/05/04(月) 20:21:19.69ID:2XIJsT+F0 .OpenTextで開いたテキストファイルを操作したいのですがやり方がわからなくて困っています。
拡張子CSVなら通常のエクセルワークシートと同様に扱えますが、テキストファイルは無理なのでしょうか?
Workbooks.Countは開いたテキストファイルの分増えているようですが…
ご教示お願いいたします。
拡張子CSVなら通常のエクセルワークシートと同様に扱えますが、テキストファイルは無理なのでしょうか?
Workbooks.Countは開いたテキストファイルの分増えているようですが…
ご教示お願いいたします。
859デフォルトの名無しさん (スフッ Sdff-rvxR)
2020/05/04(月) 20:24:42.58ID:mUlUr63md テキストファイルの中身はどのようなフォーマットで、どう操作したいのですか?
860デフォルトの名無しさん (ワッチョイ 87e6-aR2J)
2020/05/04(月) 20:40:40.91ID:c199Arvf0 1セルに1文字づつならExcelチックに楽しめそうだな
知らんけど
知らんけど
861デフォルトの名無しさん (ワッチョイ a78e-MvRk)
2020/05/04(月) 20:56:39.11ID:oqIKeiQj0 次から次へと馬鹿が来る
862853 (ワッチョイ 67ac-ts7H)
2020/05/04(月) 21:05:25.33ID:ESbXk+mE0 >>857
まず、問題としてる事象は提示している方法で解決するんだよね
そのブック開いたときとか操作したときに実行すればいい
>「ブック全体検索を行った後」に「範囲を選択」して「範囲内置換を実施」(ブック全体と指定しているオプションを開いたまま)
→ その悪意に満ちた行為のみを想定するの?
検索ダイアログのオプション設定は起動中のExcelアプリ(プロセス)に記憶されるから、
Excelアプリを開いたまま同じPCで同様の操作をしないと再現しないはず
>気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。
→ さっきの操作をすると検索オプションは開いてるはずだけど、
それでも気付かずファイル保存するっていう悪意ry
GUI操作->GUI操作で出る問題なら、運用で禁止するか保護するか、影響に基づいて運用システム自体を見直す
>逆に検索場所をブックにする方法を探しているところです。
→ 問題としてる事象の解決は自分で提示しているようだけど、
逆に引き起こしたいってことは、単にやりたいから?
VBAで置換するなら別に全シートをReplace擦ればいいだけだし
GUIでブックにしたいならそう操作すればいいけど、何が必要なの
検索と置換ダイアログの操作はCommandBars.dialogsとかExecuteMsoとかで表示は出来る
ウィンドウ操作にしても他のダイアログ操作と似たようなもんだろう(APIが多分必要)
GUIとVBAをごっちゃに対応するから要らない悩みを抱える
運用やコストを考えない妄想の機能なら、それこそ趣味でアドインでも作ればいい
まず、問題としてる事象は提示している方法で解決するんだよね
そのブック開いたときとか操作したときに実行すればいい
>「ブック全体検索を行った後」に「範囲を選択」して「範囲内置換を実施」(ブック全体と指定しているオプションを開いたまま)
→ その悪意に満ちた行為のみを想定するの?
検索ダイアログのオプション設定は起動中のExcelアプリ(プロセス)に記憶されるから、
Excelアプリを開いたまま同じPCで同様の操作をしないと再現しないはず
>気づかずに実施すると全シートの指定文字列が置換されてデータが破壊されてしまいます。
→ さっきの操作をすると検索オプションは開いてるはずだけど、
それでも気付かずファイル保存するっていう悪意ry
GUI操作->GUI操作で出る問題なら、運用で禁止するか保護するか、影響に基づいて運用システム自体を見直す
>逆に検索場所をブックにする方法を探しているところです。
→ 問題としてる事象の解決は自分で提示しているようだけど、
逆に引き起こしたいってことは、単にやりたいから?
VBAで置換するなら別に全シートをReplace擦ればいいだけだし
GUIでブックにしたいならそう操作すればいいけど、何が必要なの
検索と置換ダイアログの操作はCommandBars.dialogsとかExecuteMsoとかで表示は出来る
ウィンドウ操作にしても他のダイアログ操作と似たようなもんだろう(APIが多分必要)
GUIとVBAをごっちゃに対応するから要らない悩みを抱える
運用やコストを考えない妄想の機能なら、それこそ趣味でアドインでも作ればいい
863デフォルトの名無しさん (ワッチョイ 6741-eET6)
2020/05/04(月) 21:24:09.39ID:2XIJsT+F0 説明足らずで申し訳ありません。
カンマ区切りのテキストファイルに対してOpenTextを使います。これでカンマごとにセルに値が分けらたエクセルブックが開きます。
このブックのシートを通常のエクセルシートと同様に、例えばRange("A1").Activateとしたいのですが、ブックをどうやって指定すればいいのでしょうか?
以下の方法を試しましたがうまくいきません。
元々開いているブックが一つのとき、テキストファイルはWorkbooks.CountWorkbook=2として開かれることを確認。このときWorkbooks(2)をVariant型の変数に代入しようとしました。
Set myBook = Workbooks(2)
ウォッチ式でmyBookの値を確認すると
型 Variant/Object
値 <変数なし>
となり値が取得できません。
テキストファイルの拡張子をCSVに変更すると問題なく値が取得できます。
すみませんがよろしくお願いいたします。
カンマ区切りのテキストファイルに対してOpenTextを使います。これでカンマごとにセルに値が分けらたエクセルブックが開きます。
このブックのシートを通常のエクセルシートと同様に、例えばRange("A1").Activateとしたいのですが、ブックをどうやって指定すればいいのでしょうか?
以下の方法を試しましたがうまくいきません。
元々開いているブックが一つのとき、テキストファイルはWorkbooks.CountWorkbook=2として開かれることを確認。このときWorkbooks(2)をVariant型の変数に代入しようとしました。
Set myBook = Workbooks(2)
ウォッチ式でmyBookの値を確認すると
型 Variant/Object
値 <変数なし>
となり値が取得できません。
テキストファイルの拡張子をCSVに変更すると問題なく値が取得できます。
すみませんがよろしくお願いいたします。
864デフォルトの名無しさん (ワッチョイ 7fdd-ts7H)
2020/05/04(月) 21:39:32.81ID:m3H0OQVZ0 >>862
ご回答ありがとうございます。
>オプションを開いたまま
これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。
全体検索実施と範囲選択実施は一連の動作じゃないです。
例えば複数のファイルを開いて作業していて、全体検索を実施したファイルは既に1時間前に閉じていたとしても設定は維持されます。
これを悪意と言われましても、、
まあ、この点は前述のコードをシートイベント等に挟むことで防げそうです。
(設置Bookに限られるかな?まあ、良い方法を考えてみます)
>それでも気づかずに
キーボード主体でマウスはほぼ使わない派なので、範囲選択→ダイアログ開く→検索語、置換語入力→Enterの動作は
一連の操作で、ガッ、ガガガッで感じでやっちゃうのでダイアログのパラメータいちいち確認しないんですよね。
ちょっと落ち着けよって話なんでしょうけど。
>問題としている事象の解決は自分で提示しているようだけど、
最初に掲げた命題が "VBAで検索場所(WithIn)を切り替えたい" だったので逆の操作もできれば知りたいという程度です。
破壊リスクは回避できそうですが、例えば範囲が”シート"の状態からVBAで"ブック"に変更して全置換も可能なのかな、という疑問です。
結論としては通常の方法では出来なそうですね。
Worksheets.Select: Cells.Select を実行すれば、シートをForで回さなくても
Selection.Replace できることもわかりましたのでこれで解決としたいと思います。
>GUIとVBAをごっちゃに対応するから要らない悩みを抱える
GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。
お付き合いいただきありがとうございます。
ご回答ありがとうございます。
>オプションを開いたまま
これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。
全体検索実施と範囲選択実施は一連の動作じゃないです。
例えば複数のファイルを開いて作業していて、全体検索を実施したファイルは既に1時間前に閉じていたとしても設定は維持されます。
これを悪意と言われましても、、
まあ、この点は前述のコードをシートイベント等に挟むことで防げそうです。
(設置Bookに限られるかな?まあ、良い方法を考えてみます)
>それでも気づかずに
キーボード主体でマウスはほぼ使わない派なので、範囲選択→ダイアログ開く→検索語、置換語入力→Enterの動作は
一連の操作で、ガッ、ガガガッで感じでやっちゃうのでダイアログのパラメータいちいち確認しないんですよね。
ちょっと落ち着けよって話なんでしょうけど。
>問題としている事象の解決は自分で提示しているようだけど、
最初に掲げた命題が "VBAで検索場所(WithIn)を切り替えたい" だったので逆の操作もできれば知りたいという程度です。
破壊リスクは回避できそうですが、例えば範囲が”シート"の状態からVBAで"ブック"に変更して全置換も可能なのかな、という疑問です。
結論としては通常の方法では出来なそうですね。
Worksheets.Select: Cells.Select を実行すれば、シートをForで回さなくても
Selection.Replace できることもわかりましたのでこれで解決としたいと思います。
>GUIとVBAをごっちゃに対応するから要らない悩みを抱える
GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。
お付き合いいただきありがとうございます。
865デフォルトの名無しさん (ワッチョイ df02-mIzA)
2020/05/04(月) 21:50:38.13ID:6MBl5GGH0 >>863
txtファイル開いた時点で何かしらのファイル名が付いてるでしょ
txtファイル開いた時点で何かしらのファイル名が付いてるでしょ
866デフォルトの名無しさん (ワッチョイ a764-7mTq)
2020/05/04(月) 22:13:52.11ID:HiZbEqQh0 特に目的があるわけではないけど、興味があってVBAを勉強しようと思ってます。
皆さんどんな勉強法しましたか?おすすめの本とか有りましたら知りたいです
皆さんどんな勉強法しましたか?おすすめの本とか有りましたら知りたいです
867853 (ワッチョイ 67ac-ts7H)
2020/05/04(月) 22:16:36.67ID:ESbXk+mE0 >>864
まあ終わってるからいいけど・・
>>オプションを開いたまま
>これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。
→これは、「検索と置換」ダイアログの
「検索場所」ドロップダウンはGUIだと「オプション>>」ボタンで開かれる拡張エリアにのみ表示されて、
「ブック全体を選択した」=「オプションを展開表示している」から、GUIなら気付かないわけがない。
ということ。
ダイアログ内の設定値同様、オプション展開状況もExcelプロセスで共有してるから、
他のファイルで展開してるなら違うブックでも展開されたままダイアログ表示される。
>GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。
VBAもGUIで行った設定の影響を受けないような、Rangeを指定する記述を普通は心掛けるべきだな
まあ終わってるからいいけど・・
>>オプションを開いたまま
>これの意味がわからないですが、ダイアログを開いたままという意味なら、閉じても記憶は維持します。
→これは、「検索と置換」ダイアログの
「検索場所」ドロップダウンはGUIだと「オプション>>」ボタンで開かれる拡張エリアにのみ表示されて、
「ブック全体を選択した」=「オプションを展開表示している」から、GUIなら気付かないわけがない。
ということ。
ダイアログ内の設定値同様、オプション展開状況もExcelプロセスで共有してるから、
他のファイルで展開してるなら違うブックでも展開されたままダイアログ表示される。
>GUIの設定がVBA操作にも影響を与えてしまうから制御できないかなと思った次第です。
VBAもGUIで行った設定の影響を受けないような、Rangeを指定する記述を普通は心掛けるべきだな
868デフォルトの名無しさん (ワッチョイ e709-ur4w)
2020/05/04(月) 23:21:11.46ID:igVQrW+K0 今までそーいうものだと思い込ませて放置していたことなのですが、
引数を使うのにカッコつけなきゃいけないメソッドと、使わなくてもいい
メソッドって、なにが違うんでしょうか?なにか理由があるのでしょうか。
Dim a As Range: Set a = Cells.Find(What:="test")
ThisWorkbook.ActiveSheet.PrintOut copies:=1
それに付け加えて、findした結果をcolllectionに格納する際、
カッコをつけるとdouble型、つけないとrange型となりました。
検索結果を格納するcollection.Add 検索range
検索結果を格納するcollection.Add (検索range)
ご教授何卒宜しくお願いいたします。
引数を使うのにカッコつけなきゃいけないメソッドと、使わなくてもいい
メソッドって、なにが違うんでしょうか?なにか理由があるのでしょうか。
Dim a As Range: Set a = Cells.Find(What:="test")
ThisWorkbook.ActiveSheet.PrintOut copies:=1
それに付け加えて、findした結果をcolllectionに格納する際、
カッコをつけるとdouble型、つけないとrange型となりました。
検索結果を格納するcollection.Add 検索range
検索結果を格納するcollection.Add (検索range)
ご教授何卒宜しくお願いいたします。
869デフォルトの名無しさん (ワッチョイ 7fdd-ts7H)
2020/05/04(月) 23:58:21.23ID:m3H0OQVZ0 >>867
オプションが開かれてるという意味でしたか。
なるほどですね。
呼吸レベルでキーコンビネーションで通り過ぎちゃうので、、しっかり見るべきだと。
>VBAもGUIで行った設定の影響を受けないような
ごもっともです。
普段は .Find系は滅多に使わないのですが、あるとき大被害にあって、、、
どちらかというとGUI操作のほうが悩ましかったので、、、
API制御の方法にも辿り着けて、各Controlの制御もわかりました。
一瞬表示されてしまうのが難点ですが。良い情報をいただきました。
ご助言感謝します。
オプションが開かれてるという意味でしたか。
なるほどですね。
呼吸レベルでキーコンビネーションで通り過ぎちゃうので、、しっかり見るべきだと。
>VBAもGUIで行った設定の影響を受けないような
ごもっともです。
普段は .Find系は滅多に使わないのですが、あるとき大被害にあって、、、
どちらかというとGUI操作のほうが悩ましかったので、、、
API制御の方法にも辿り着けて、各Controlの制御もわかりました。
一瞬表示されてしまうのが難点ですが。良い情報をいただきました。
ご助言感謝します。
870デフォルトの名無しさん (ワッチョイ 877c-mIzA)
2020/05/05(火) 01:19:15.50ID:nv2gdYIy0 >>868
とりあえず戻り値があるかないかの違いとでも思っとけばよい
とりあえず戻り値があるかないかの違いとでも思っとけばよい
871デフォルトの名無しさん (ワッチョイ e7ad-HyhH)
2020/05/05(火) 03:17:48.98ID:SDhPW+o/0 12121212111211121112みたいな数列で、
1212..と続くものにはA、
11121112..と続くものにはBと置き換え、
AABBBのような文字列を作成することはできますか?
1212..と続くものにはA、
11121112..と続くものにはBと置き換え、
AABBBのような文字列を作成することはできますか?
872デフォルトの名無しさん (ワッチョイ 2701-3faj)
2020/05/05(火) 04:45:25.58ID:a+XprBAt0 その数列を文字列に直しておく
これをReplace関数で
1212 → AA
A12 → AA
に置換する
同様に 1112 についても行う
これをReplace関数で
1212 → AA
A12 → AA
に置換する
同様に 1112 についても行う
873デフォルトの名無しさん (バットンキン MM4b-+Mqj)
2020/05/05(火) 12:25:05.11ID:hJBFA35lM >>870
868です。ありがとうございました。
868です。ありがとうございました。
874デフォルトの名無しさん (ワッチョイ e709-ur4w)
2020/05/05(火) 21:19:05.44ID:lsW1yIjx0 vbaのエディタの話なのですが、皆様はコードの複数行を選択したいとき
ショートカットかなにか使っているのでしょうか?
たとえば、一部のコードが不要になって削除や切り取りしたいときに、
ちゃんと行頭から行末までしっかり選択しないとtabやスペースが残ってしまい、
その後コードがズレたり色々と不都合が生じています。
現在は、Homeで行頭、Shift+下矢印で選択しています。
マウスで左端をドラッグすれば選択できるのは知っていますが、これの
キーボードショートカットとかないんですかね・・・
ショートカットかなにか使っているのでしょうか?
たとえば、一部のコードが不要になって削除や切り取りしたいときに、
ちゃんと行頭から行末までしっかり選択しないとtabやスペースが残ってしまい、
その後コードがズレたり色々と不都合が生じています。
現在は、Homeで行頭、Shift+下矢印で選択しています。
マウスで左端をドラッグすれば選択できるのは知っていますが、これの
キーボードショートカットとかないんですかね・・・
875デフォルトの名無しさん (ワッチョイ bf2f-WRor)
2020/05/05(火) 21:34:38.69ID:wmeBDlBR0 行選択は知らんが、行削除ならCTRL-Yでよくね
876デフォルトの名無しさん (ワッチョイ c7da-ts7H)
2020/05/05(火) 21:52:41.57ID:PgjsbAaO0 検索すれば出てくるよな、俺は shift+上/下 をよく使うけど
https://excel-ubara.com/excelvba1/EXCELVBA485.html
https://excel-ubara.com/excelvba1/EXCELVBA485.html
877デフォルトの名無しさん (ワッチョイ e709-ur4w)
2020/05/05(火) 22:03:15.71ID:lsW1yIjx0 >>876
web拝見しましたが、「複数選択→tabで行範囲が作成される」という部分
でしょうか?確かに、削除ならこれでいけそうです。
(コピーや切り取りのときにはtab→shift+tabで元通りにしなきゃならないかもですが)
私はずっとvbaを使わずエクセル本体の操作に慣れていたのですが、よく使っているのが
適当な複数のセル範囲を作成⇒それらをshift+spaceで行範囲化
という動作だったので、ここにいる方たちはvbaではどんな操作を
しているのか気になって質問いたしました。ありがとうございました。
web拝見しましたが、「複数選択→tabで行範囲が作成される」という部分
でしょうか?確かに、削除ならこれでいけそうです。
(コピーや切り取りのときにはtab→shift+tabで元通りにしなきゃならないかもですが)
私はずっとvbaを使わずエクセル本体の操作に慣れていたのですが、よく使っているのが
適当な複数のセル範囲を作成⇒それらをshift+spaceで行範囲化
という動作だったので、ここにいる方たちはvbaではどんな操作を
しているのか気になって質問いたしました。ありがとうございました。
878デフォルトの名無しさん (ワッチョイ c7da-ts7H)
2020/05/05(火) 22:06:50.95ID:PgjsbAaO0 ちがうだろ
879デフォルトの名無しさん (ブーイモ MM2b-trzR)
2020/05/05(火) 22:11:42.93ID:NpEa/agLM このハゲー
880デフォルトの名無しさん (ワッチョイ e709-ur4w)
2020/05/05(火) 22:30:50.81ID:lsW1yIjx0881デフォルトの名無しさん (ワッチョイ 738e-jYUs)
2020/05/06(水) 00:51:48.50ID:Kd1uYxyM0 >>880
馬鹿は死ね
馬鹿は死ね
882デフォルトの名無しさん (ワッチョイ 7364-JVfZ)
2020/05/06(水) 00:55:04.24ID:zRh9yAG10 >>881
酷いこと言うね
酷いこと言うね
883デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/06(水) 01:03:21.11ID:6rAOvRF50 コメントアウトだけはctrl+/でデフォルトでできるようにアプデして欲しいわ。。
設定もボタンクリックもめんどい
設定もボタンクリックもめんどい
884デフォルトの名無しさん (ワッチョイ 5b09-jgrQ)
2020/05/06(水) 08:05:52.83ID:p05hHIhJ0 うーむ…どういじっても分からない…
Ctrl+Yは現在の行だけしか削除されないし、そもそも選択範囲は
作成されないし…
おっさんになった私の限界ですかね汗
Ctrl+Yは現在の行だけしか削除されないし、そもそも選択範囲は
作成されないし…
おっさんになった私の限界ですかね汗
885デフォルトの名無しさん (ワッチョイ 17da-oySJ)
2020/05/06(水) 09:03:13.32ID:1Pr5leMy0 >>884
やろうとしていることに何の意味がある?
やろうとしていることに何の意味がある?
886デフォルトの名無しさん (ワッチョイ 6602-uk0G)
2020/05/06(水) 09:22:21.96ID:iCjbaALk0 意味のある事しかしなかったら進化しない
887デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/06(水) 10:57:23.06ID:6rAOvRF50 くっそどうでもいいことに時間かけてるな
888デフォルトの名無しさん (ブーイモ MMd6-sgQa)
2020/05/06(水) 12:16:06.30ID:j2svN8neM クラスに対してモジュールという概念がよくわかりません。Cで言うところ外部ヘッダファイルとソースみたいなものでしょうか。クラスを使ってたら基本的に出番がない?
889デフォルトの名無しさん (ワッチョイ bbad-I8iA)
2020/05/06(水) 12:56:23.88ID:Z893TlLs0 クラスはOOPに出てくるクラス
newする必要がないならモジュール
newする必要がないならモジュール
890デフォルトの名無しさん (アウアウウー Sa1f-t13D)
2020/05/06(水) 13:46:31.67ID:gPSsYrwFa 馬鹿が進化してどうにかなるのか
891デフォルトの名無しさん (ワッチョイ 662f-jW3u)
2020/05/06(水) 14:02:43.27ID:OIN1lY2H0 モジュールはVBがオブジェクト指向になるまえからの互換のためだから
クラスを使うなら忘れてもいいよ
広域で静的なクラスだと思えばいい
クラスを使うなら忘れてもいいよ
広域で静的なクラスだと思えばいい
892デフォルトの名無しさん (ワッチョイ cb41-KyAn)
2020/05/06(水) 15:26:50.64ID:G9W2eJpB0 >>865
そのファイル名を使っても値が変数なしになってしまいます…
そのファイル名を使っても値が変数なしになってしまいます…
893デフォルトの名無しさん (ワッチョイ 662f-jW3u)
2020/05/06(水) 16:43:25.70ID:OIN1lY2H0 >>863
それウォッチがちゃんと出ないだけで、ブックそのものはとれてるだろ
試しにやってみたが、myBookのウォッチで展開すると変数なしだが
myBook.Sheets(1).Range("A1").Activate でちゃんと動作するぞ
それウォッチがちゃんと出ないだけで、ブックそのものはとれてるだろ
試しにやってみたが、myBookのウォッチで展開すると変数なしだが
myBook.Sheets(1).Range("A1").Activate でちゃんと動作するぞ
894デフォルトの名無しさん (ワッチョイ 6602-uk0G)
2020/05/06(水) 18:09:01.45ID:iCjbaALk0 どうにかなるのかと思考停止するバカが炙り出される
895デフォルトの名無しさん (ワッチョイ 17da-oySJ)
2020/05/06(水) 18:27:07.81ID:1Pr5leMy0 目的と手段が逆になる人たまにいる
896デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/06(水) 18:39:41.01ID:6rAOvRF50 基本的にプログラミングがうまくなる人って、
早い段階で、特定のやり方にこだわらず最終的に要件を満たせればいいってことに気付けるんだよな
早い段階で、特定のやり方にこだわらず最終的に要件を満たせればいいってことに気付けるんだよな
897デフォルトの名無しさん (ワッチョイ 17da-oySJ)
2020/05/06(水) 19:32:27.36ID:1Pr5leMy0 本末転倒か、言葉が出てこなかった
898デフォルトの名無しさん (アウアウウー Sa1f-lvFW)
2020/05/06(水) 19:37:46.56ID:aLD+Grz6a それはプログラミングをするという前提を置いている時点で矛盾している
手段はなんでもいいから目的達成できりゃいい、だと、だいたいのことは出来合いのSaaSを契約して使うのが最良
手段はなんでもいいから目的達成できりゃいい、だと、だいたいのことは出来合いのSaaSを契約して使うのが最良
899デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/06(水) 20:34:47.68ID:6rAOvRF50 仕事ならそうだよね
代わりにSaasでってのは範囲が違うので当てはまらないけど
代わりにSaasでってのは範囲が違うので当てはまらないけど
900デフォルトの名無しさん (ワッチョイ 2301-UHqe)
2020/05/06(水) 20:38:43.01ID:prm5gj7H0 普段の自分のやり方じゃ対応できない場面が出た時は、
変に拘らずに完成優先でやるべきって意味でしょ
変に拘らずに完成優先でやるべきって意味でしょ
901デフォルトの名無しさん (ワッチョイ 5b09-jgrQ)
2020/05/06(水) 20:48:48.08ID:p05hHIhJ0902デフォルトの名無しさん (ワッチョイ 8f63-07dd)
2020/05/06(水) 22:29:01.29ID:k50qIlTz0 >>901
残念ながら設定でこれだけ躓いて立ち止まるような人は言ってるような時間の有効活用できるとは思えんな
ツールはツールと割り切ったり慣れたりする事ができないなら、今後時間の有効活用できるようにもなれないよ
残念ながら設定でこれだけ躓いて立ち止まるような人は言ってるような時間の有効活用できるとは思えんな
ツールはツールと割り切ったり慣れたりする事ができないなら、今後時間の有効活用できるようにもなれないよ
903デフォルトの名無しさん (ワッチョイ 738e-jYUs)
2020/05/06(水) 22:34:53.59ID:Kd1uYxyM0 >>901
馬鹿は死ね
馬鹿は死ね
904デフォルトの名無しさん (ワッチョイ cb41-KyAn)
2020/05/06(水) 23:47:22.90ID:G9W2eJpB0905デフォルトの名無しさん (ワッチョイ 17da-oySJ)
2020/05/07(木) 10:28:01.40ID:nnhcaKI70 頭のおかしい人の書き込みを読むのが無駄なので無視しますね
906デフォルトの名無しさん (オッペケ Sr33-V20a)
2020/05/07(木) 12:26:16.72ID:D07kRcpQr はいつぎのひと
907デフォルトの名無しさん (ワッチョイ 6391-ABif)
2020/05/07(木) 13:12:49.35ID:MibsCGor0 >>896
そいつは違うな。
拘るのは必要だ。
最適なのに拘るの。
だから動いたで終わりにしないで他にもっと良い方法はないかを常に考える。
自分が知らなかった技術を手に入れた時に、これを使えば5年前のあの件はもっと上手く出来たかもと考える。
そいつは違うな。
拘るのは必要だ。
最適なのに拘るの。
だから動いたで終わりにしないで他にもっと良い方法はないかを常に考える。
自分が知らなかった技術を手に入れた時に、これを使えば5年前のあの件はもっと上手く出来たかもと考える。
908デフォルトの名無しさん (ワッチョイ 1749-V20a)
2020/05/07(木) 14:10:36.95ID:2qiR+IIc0 >>907
ヒマなんだな
ヒマなんだな
909デフォルトの名無しさん (アウアウウー Sa1f-lvFW)
2020/05/07(木) 14:23:33.98ID:cpirF9cIa 本気でやり方に拘ったらExcelなんて大半が無駄なわけで
自分達の仕事を守るためにも割り切りは必要
自分達の仕事を守るためにも割り切りは必要
910デフォルトの名無しさん (ワッチョイ bbad-I8iA)
2020/05/07(木) 14:42:35.85ID:O8jL8wQb0911デフォルトの名無しさん (ワッチョイ 1749-V20a)
2020/05/07(木) 14:50:52.35ID:2qiR+IIc0 そんな1つのVBAに何日もかけれんわ
時間かけれるならWebサービスとかAPIとかもっと皆が幸せな解決方法が大体あるわ
時間かけれるならWebサービスとかAPIとかもっと皆が幸せな解決方法が大体あるわ
912デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 17:22:17.83ID:IeUYmiVSd VBAとか関係無く、プログラミング全般の話なんだけどね。
動きゃ良いとかいう奴はいつまで経っても出来るようにゃならんよ。
動きゃ良いとかいう奴はいつまで経っても出来るようにゃならんよ。
913デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 17:23:34.85ID:IeUYmiVSd914デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 17:24:33.58ID:IeUYmiVSd >>908
出来る奴は瞬時に何通りかは思いつく。
出来る奴は瞬時に何通りかは思いつく。
915デフォルトの名無しさん (ラクッペペ MMe6-r6hg)
2020/05/07(木) 17:29:14.38ID:OBEeDnS1M 無知の知
916デフォルトの名無しさん (ワッチョイ 33ad-D+XR)
2020/05/07(木) 17:50:13.55ID:oG7+JCgx0 Application.CentimetersToPoints(1)
で列幅1cmにしたいんですが、
何度やっても5.64cmになります。
Rows(n).RowHeight = Application.CentimetersToPoints(1)
はちゃんと行幅1cmになりました。
Columns(n).ColumnWidth = Application.CentimetersToPoints(1)
だと何故か列幅5.64cmになります。
この事についてどう検索しても誰も言及してないことも含めて謎が尽きません。
煮詰まり過ぎて焦げ付いてきたのでどなたかアドバイスお願いします。
で列幅1cmにしたいんですが、
何度やっても5.64cmになります。
Rows(n).RowHeight = Application.CentimetersToPoints(1)
はちゃんと行幅1cmになりました。
Columns(n).ColumnWidth = Application.CentimetersToPoints(1)
だと何故か列幅5.64cmになります。
この事についてどう検索しても誰も言及してないことも含めて謎が尽きません。
煮詰まり過ぎて焦げ付いてきたのでどなたかアドバイスお願いします。
917デフォルトの名無しさん (ワッチョイ 33ad-D+XR)
2020/05/07(木) 17:58:41.98ID:oG7+JCgx0 あっまさか列と幅のポイントは同じポイントでも数値としては別物って聞いた気もする
そして行幅のポイントの方がVBAのポイントと合致しているという訳か
だとすると列幅のポイントに変換するのはどうしたらいいのか…
そして行幅のポイントの方がVBAのポイントと合致しているという訳か
だとすると列幅のポイントに変換するのはどうしたらいいのか…
918デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 18:13:16.48ID:k5uIH00p0919デフォルトの名無しさん (ワッチョイ becc-oySJ)
2020/05/07(木) 18:13:25.52ID:z+lCu/T70 >>917
ページレイアウトにして、列幅1cmをマクロ記録
ページレイアウトにして、列幅1cmをマクロ記録
920デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 18:13:45.51ID:k5uIH00p0 あ、間違えた
アンカ>>916ね
アンカ>>916ね
921デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 18:17:19.51ID:k5uIH00p0922デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 19:06:33.04ID:IeUYmiVSd >>921
あれ、分からんかった?
瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
あるいは昔、どうしても解決出来なかった問題が解決出来たとか。
俺の場合はデフォルトのプリンター設定のポートを変更するプログラムが出来なくてね。
PRINTER_INFO_5構造体を使ってプリンターのプロパティ設定変更するのは出来てたけどポートはさらに先のポインタでその時は出来なかった。
もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。
あれ、分からんかった?
瞬時に5通り思いついたとして、5年後に知らない技術を獲得した時に、あの時これ使えばもっと良くなったなあと思うとか。
あるいは昔、どうしても解決出来なかった問題が解決出来たとか。
俺の場合はデフォルトのプリンター設定のポートを変更するプログラムが出来なくてね。
PRINTER_INFO_5構造体を使ってプリンターのプロパティ設定変更するのは出来てたけどポートはさらに先のポインタでその時は出来なかった。
もっとも、これ10年以上前の話だし、それで修正するとかいう話でもないけどな。
923デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 19:59:41.10ID:k5uIH00p0 >>922
効いてて草、必死すぎw
効いてて草、必死すぎw
924デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 20:18:07.38ID:IeUYmiVSd >>923
理解出来なくて悔しいからって、そうまでして絡みたいの?
理解出来なくて悔しいからって、そうまでして絡みたいの?
925デフォルトの名無しさん (ワッチョイ 6668-uk0G)
2020/05/07(木) 20:58:22.79ID:SRAFxxem0 効いてる事にして勝ったつもりになってるけど実は・・・
926デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 21:20:02.04ID:k5uIH00p0 >>924
別に古臭いVBAおじさんに絡みたいとかないけどなw
その程度でどや顔して、こんなところで長文まで書いて哀れだなあってねw
・瞬時に5個思い付く(ドヤア)
・10年以上前の話(ドヤア)
・どうしても解決出来ない問題が解決できた(ドヤア)
いい年して恥ずかしいww
別に古臭いVBAおじさんに絡みたいとかないけどなw
その程度でどや顔して、こんなところで長文まで書いて哀れだなあってねw
・瞬時に5個思い付く(ドヤア)
・10年以上前の話(ドヤア)
・どうしても解決出来ない問題が解決できた(ドヤア)
いい年して恥ずかしいww
927デフォルトの名無しさん (ワッチョイ d35f-kDcj)
2020/05/07(木) 21:20:55.13ID:XMGIuLDd0 >>916
煮詰まったなら完成じゃん。
煮詰まったなら完成じゃん。
928デフォルトの名無しさん (ワッチョイ 6ab5-OuYa)
2020/05/07(木) 21:29:03.52ID:vCXp7vkf0 4月、5月、6月というシートを請求書という新しいブック名のシートに追加していきたい場合
請求書というブックがなかったら
請求書というブックを作成して○月のシートをコピー
既に請求書というブックがあったら
そのブック内に○月のシートをコピー
という考え方でいいですか?
というか可能ですか?
請求書というブックがなかったら
請求書というブックを作成して○月のシートをコピー
既に請求書というブックがあったら
そのブック内に○月のシートをコピー
という考え方でいいですか?
というか可能ですか?
929デフォルトの名無しさん (ワッチョイ cf7c-7oqX)
2020/05/07(木) 21:34:48.09ID:wHiSIw2F0 既にあるブックを変えて問題ないんならいいんじゃないの
930デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 21:46:21.07ID:IeUYmiVSd >>926
悔しいと素直に言えば良いのにw
悔しいと素直に言えば良いのにw
931デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 21:58:23.82ID:k5uIH00p0 >>930
あ、恥ずかしくなってるwかわいーねーw
あ、恥ずかしくなってるwかわいーねーw
932デフォルトの名無しさん (ワッチョイ 33ad-D+XR)
2020/05/07(木) 22:16:17.23ID:oG7+JCgx0 色々調べ直して列幅1cmできた! ありがとうございます。
それにしたって、なんと解りにくい…
CentimetersToColumnPointsみたいにしてくれればいいのに…
それにしたって、なんと解りにくい…
CentimetersToColumnPointsみたいにしてくれればいいのに…
933デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 22:22:20.56ID:IeUYmiVSd >>931
自分の技術が足りないのがそんなに悔しいのかねw
自分の技術が足りないのがそんなに悔しいのかねw
934デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 22:33:54.55ID:k5uIH00p0935デフォルトの名無しさん (ワッチョイ 6bac-V20a)
2020/05/07(木) 22:35:53.74ID:k5uIH00p0936デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 22:48:13.57ID:IeUYmiVSd937デフォルトの名無しさん (スプッッ Sd2a-ABif)
2020/05/07(木) 22:50:20.24ID:IeUYmiVSd だいたい、バカにしようととしたら自分より上のレベルで悔しくても、それは自分が悪いんだろw
938デフォルトの名無しさん (ワッチョイ 7f7f-sgQa)
2020/05/07(木) 23:08:01.99ID:ATN3rOjQ0 array関数で要素を代入する際に、プロシージャ引数のヒントの様にカンマで区切ると何を入力すべきか表示させることは出来ないでしょうか。要素が多いので解りづらくて
戻り値ありの関数作るべきなのでしょうか
戻り値ありの関数作るべきなのでしょうか
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- お前らがやってるバイト教えて
- 上司がアンパンマン体操のリズムで「アンポンタンは君か〜?」って歌うんやが
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
