!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part68
https://mevius.5ch.net/test/read.cgi/tech/1598756127/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part69
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 3fad-qZ/b)
2020/12/13(日) 00:22:23.67ID:Fd224klc0633デフォルトの名無しさん (ワッチョイ cbda-1Lsn)
2021/02/13(土) 11:41:30.80ID:PelpVnvk0634デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/13(土) 12:21:31.92ID:PYtZn7CJ0 >>633
例えば、A1, B1, C1セルの中身をカンマで繋いでD1に格納したい
その際セルが空なら"[空だよーん]"ってしたいとするでしょ
今までは
D1: =TEXTJOIN(", ", FALSE, IF(A1 = "", "[空だよーん]", A1), IF(B1 = "", "[空だよーん]", B1), IF(C1 = "", "[空だよーん]", C1))
って似たようなIF式を何度も書く必要があったけどLAMBDA使えたら
f: =LAMBDA(x, IF(x = "", "[空だよーん]", x))
って定義しておけば
D1: =TEXTJOIN(", ", FALSE, f(A1), f(B1), f(C1))
って書ける
さらに課長に"[空だよーん]"とかふざけんな、"[空でございます]"にしろって言われてもLAMBDAの1箇所を直すだけで済む
例えば、A1, B1, C1セルの中身をカンマで繋いでD1に格納したい
その際セルが空なら"[空だよーん]"ってしたいとするでしょ
今までは
D1: =TEXTJOIN(", ", FALSE, IF(A1 = "", "[空だよーん]", A1), IF(B1 = "", "[空だよーん]", B1), IF(C1 = "", "[空だよーん]", C1))
って似たようなIF式を何度も書く必要があったけどLAMBDA使えたら
f: =LAMBDA(x, IF(x = "", "[空だよーん]", x))
って定義しておけば
D1: =TEXTJOIN(", ", FALSE, f(A1), f(B1), f(C1))
って書ける
さらに課長に"[空だよーん]"とかふざけんな、"[空でございます]"にしろって言われてもLAMBDAの1箇所を直すだけで済む
635デフォルトの名無しさん (ササクッテロ Spc7-nOGz)
2021/02/13(土) 12:41:35.80ID:BN4b1mTrp >>633
40のお前がバレンタインデーでチョコ貰えるくらい凄い
40のお前がバレンタインデーでチョコ貰えるくらい凄い
636デフォルトの名無しさん (ワッチョイ cbda-1Lsn)
2021/02/13(土) 12:49:30.81ID:PelpVnvk0 >>635
(>_<)\
(>_<)\
637デフォルトの名無しさん (ワッチョイ 9263-OxJ8)
2021/02/13(土) 14:07:20.92ID:IALcuoUI0 ただの関数定義じゃないか
それで十分だった気はするが
それで十分だった気はするが
638デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/13(土) 15:14:43.31ID:wz9KaBQo0 VBAに影響ほとんどなさそう
一発でピボ集計とかシート挿入とかに関係ないし
一発でピボ集計とかシート挿入とかに関係ないし
639デフォルトの名無しさん (ワッチョイ cfac-z198)
2021/02/13(土) 15:33:24.19ID:QpeYGISo0 と言うかラムダ式書けるなら、ついでにセル内でも数式の改行とインデントができるようにしてくれればよかったのにな
Excel職人のIFだらけの数式を読むのがまずキツイんだは
Excel職人のIFだらけの数式を読むのがまずキツイんだは
640デフォルトの名無しさん (ワッチョイ 335f-ZwSN)
2021/02/13(土) 15:40:56.55ID:jHG+5C+w0 セルで分ければいいんだけど一つの数式にまとめられるのがすごいと思ってるからな
まあ自分もそうだったけど
まあ自分もそうだったけど
641デフォルトの名無しさん (ワッチョイ a37c-oFCC)
2021/02/13(土) 17:28:35.52ID:VP7xI/GI0 単に複数セル使うのが嫌なだけってのが多いように見える
642デフォルトの名無しさん (JP 0Hdb-DrOF)
2021/02/13(土) 18:42:07.48ID:yi//B+MQH まとめて印刷とか名前を付けて保存みたいな手作業を置き換えるVBAはなくならないかな
643デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/13(土) 19:19:56.21ID:PYtZn7CJ0 >>639
> セル内でも数式の改行とインデントができるようにしてくれればよかったのにな
それ昔からできるぞ…
https://www.becoolusers.com/excel/img/long-formula-line-break20.png
> セル内でも数式の改行とインデントができるようにしてくれればよかったのにな
それ昔からできるぞ…
https://www.becoolusers.com/excel/img/long-formula-line-break20.png
644デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/13(土) 19:28:08.81ID:jHG+5C+w0 営業の要ミーティング恐い((((;゚Д゚)))))))
645デフォルトの名無しさん (スッップ Sd32-k3oY)
2021/02/13(土) 21:29:40.36ID:T3s5Sft8d646デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/13(土) 21:48:38.47ID:wz9KaBQo0 うかる!って、説明ヘタだね…
647デフォルトの名無しさん (ワッチョイ b7e5-XAOW)
2021/02/13(土) 22:16:40.52ID:OlVotr6u0 職場にIf and orの職人がいるオレに謝れ
648デフォルトの名無しさん (ワッチョイ 47a5-oFCC)
2021/02/13(土) 23:44:53.12ID:29TtheM20 んー? 今までセル内の数式って受身の動きだったけど
それ実装すれば自発的に動けるようになるってこと?
それ実装すれば自発的に動けるようになるってこと?
649デフォルトの名無しさん (ワッチョイ cfac-z198)
2021/02/14(日) 00:40:24.25ID:X0FsHGir0650デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/14(日) 00:53:19.53ID:D24G58JB0651デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/14(日) 00:53:54.05ID:D24G58JB0 >>649
まあ俺もつい1年ぐらい前に知ったんだけどw
まあ俺もつい1年ぐらい前に知ったんだけどw
652デフォルトの名無しさん (ワッチョイ a701-qH/C)
2021/02/14(日) 05:33:27.25ID:8cTA8eHd0 それよりかパイプライン演算子を実装して欲しい
ラムダ関数はその足掛かりな気もするけど
ラムダ関数はその足掛かりな気もするけど
653デフォルトの名無しさん (ブーイモ MMdb-DrOF)
2021/02/14(日) 08:25:32.74ID:0LuW/JvdM セルの書式を調べる関数はよ
654デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/14(日) 09:01:53.08ID:D24G58JB0655デフォルトの名無しさん (ワッチョイ 335f-Rooy)
2021/02/14(日) 09:44:10.83ID:9bE5PNm50 EXCELって意外と古いの使ってたりするから受け渡しがどうかな
656デフォルトの名無しさん (ワッチョイ 1e68-DrOF)
2021/02/14(日) 09:46:12.37ID:HYvJ8gAi0 >>652
一部がダメ文字の文字コード
一部がダメ文字の文字コード
657デフォルトの名無しさん (ブーイモ MM0e-DrOF)
2021/02/14(日) 10:33:56.69ID:ccxL17vjM658デフォルトの名無しさん (ワッチョイ 16da-DrOF)
2021/02/14(日) 10:46:19.10ID:IPhvN32f0659デフォルトの名無しさん (ワッチョイ 16da-DrOF)
2021/02/14(日) 10:47:17.03ID:IPhvN32f0 ありゃ。本人からの返事の方が早かった
660デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/14(日) 11:28:53.22ID:D24G58JB0661デフォルトの名無しさん (ワッチョイ 92da-pCKf)
2021/02/14(日) 16:36:27.43ID:W30Sj/2D0 VBAはSelectのCaseで、False,Empty,Nullあたりが同一判定されて、個々に行えないのがクソ
662デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/14(日) 17:23:19.56ID:D24G58JB0663デフォルトの名無しさん (ワッチョイ 1663-OxJ8)
2021/02/14(日) 19:08:55.75ID:hT3ZVIIc0 ねこ
664デフォルトの名無しさん (ワッチョイ 53fd-OxJ8)
2021/02/15(月) 11:39:26.92ID:S0ZRmbKV0 DIR関数を利用して以下のりようなロジックを見たのですが、
foldercheck = (Dir(wrkpath, vbDirectory) <> "")
()の中のロジックはどのような技法なんでしょうか
if Dir(wrkpath, vbDirectory) <> " then
foldercheck = (Dir(wrkpath, vbDirectory) <> "")
()の中のロジックはどのような技法なんでしょうか
if Dir(wrkpath, vbDirectory) <> " then
665664 (ワッチョイ 53fd-OxJ8)
2021/02/15(月) 13:15:47.99ID:S0ZRmbKV0 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/comparison-operators
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
自己解決しました。上記と同じなのですね。お騒がせしました。
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
自己解決しました。上記と同じなのですね。お騒がせしました。
666デフォルトの名無しさん (オッペケ Src7-Wb2C)
2021/02/15(月) 19:45:33.20ID:olEKN+utr フォルダへの書き込みのアクセス権をチェックするようなサンプルないですかね。
イメージとしてはフォームのフォルダ選択ボタンを押して選んだフォルダが書き込みできなければ選んだ時点でそういうメッセージを出したい。このあとアウトプットフォイルを書き込む際にエラーが出る前に
イメージとしてはフォームのフォルダ選択ボタンを押して選んだフォルダが書き込みできなければ選んだ時点でそういうメッセージを出したい。このあとアウトプットフォイルを書き込む際にエラーが出る前に
667デフォルトの名無しさん (JP 0Hdb-DrOF)
2021/02/15(月) 20:10:33.97ID:xaJaofAeH >>666
まじめにやるならGetFileSecurityとGetAclInformationを使う
もっと簡単にやりたかったら、ダミーのファイルを1つ作ってみてOn Errorでエラーになったかどうか判定
まじめにやるならGetFileSecurityとGetAclInformationを使う
もっと簡単にやりたかったら、ダミーのファイルを1つ作ってみてOn Errorでエラーになったかどうか判定
668デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/15(月) 20:15:42.96ID:nKU68rXI0 FSOのGetFileでフォルダーを取得して
Attlibutesプロパティ見ればいいんでないかな
Attlibutesプロパティ見ればいいんでないかな
669デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/15(月) 20:16:42.83ID:nKU68rXI0670デフォルトの名無しさん (ワッチョイ d2e6-HHI4)
2021/02/15(月) 20:30:32.32ID:btvLdCUB0671デフォルトの名無しさん (ワッチョイ 1279-oc8s)
2021/02/15(月) 22:00:51.83ID:iJ9piVTy0 普通にicacls呼べばいいじゃん
672デフォルトの名無しさん (ワッチョイ 92da-pCKf)
2021/02/15(月) 22:59:53.76ID:R4sT9O4+0673デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/15(月) 23:48:13.25ID:yTkZToOt0 isnullはあったよなたしか
674デフォルトの名無しさん (バットンキン MM3b-ciZU)
2021/02/16(火) 02:55:26.52ID:nbeJO0KhM CSV形式で保存する前に、Serial値の表示形式をyyyy/m/dにマクロから変更して
保存してからその後開くと、"1/1/2020"とか意味分からんStr型になっちゃうんだけど、
誰か分かるひといる?
csvを取り込むソフトがどうしてもこの表示形式に変更しないと、うまく取り込めない謎仕様なんだ。
ちなみに、いったん保存してから開いてやってもダメだった。
(もちろん、手作業で開いて表示形式変更したらバグらないんだけど・・・)
rngObj.NumberFormatLocal = "yyyy/m/d"
保存してからその後開くと、"1/1/2020"とか意味分からんStr型になっちゃうんだけど、
誰か分かるひといる?
csvを取り込むソフトがどうしてもこの表示形式に変更しないと、うまく取り込めない謎仕様なんだ。
ちなみに、いったん保存してから開いてやってもダメだった。
(もちろん、手作業で開いて表示形式変更したらバグらないんだけど・・・)
rngObj.NumberFormatLocal = "yyyy/m/d"
675デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/16(火) 07:43:45.82ID:+oOyZ54g0676デフォルトの名無しさん (ワッチョイ 1e68-DrOF)
2021/02/16(火) 10:30:54.61ID:OCcCJKsW0 整数の1と小数の1.0だと値(バイナリ)が違うって知ったら狂いそうだな
677デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/16(火) 11:04:29.70ID:+oOyZ54g0 >>674
いま手元にExcelないから確認できないけど
rngObj.NumberFormat = "yyyy/m/d"
か
book.SaveAs …, Local:=True
に、してみたらどうかな
いま手元にExcelないから確認できないけど
rngObj.NumberFormat = "yyyy/m/d"
か
book.SaveAs …, Local:=True
に、してみたらどうかな
678デフォルトの名無しさん (ワッチョイ 12ad-Ible)
2021/02/16(火) 11:41:24.25ID:XpWP4Lg+0 2021/2/15 6:43
みたいに、時間が入ったセルの、
日付の部分
だけ変えたいんですがやり方がわからないです
セルの日付(2021/2/15)を変数で定義して、新たな日付(2021/2/16)の変数も定義して
replace(セルの位置,セルの日付,新たな日付)
で入れ替えようとすると型が合わないって出てしまうのですが
どうすればいいでしょうか?
みたいに、時間が入ったセルの、
日付の部分
だけ変えたいんですがやり方がわからないです
セルの日付(2021/2/15)を変数で定義して、新たな日付(2021/2/16)の変数も定義して
replace(セルの位置,セルの日付,新たな日付)
で入れ替えようとすると型が合わないって出てしまうのですが
どうすればいいでしょうか?
679デフォルトの名無しさん (アウアウウー Sac3-y1fs)
2021/02/16(火) 11:56:30.35ID:S5ddSisTa >>678
もしかして変数で定義してる型がDateだったり?
もしかして変数で定義してる型がDateだったり?
680デフォルトの名無しさん (ワッチョイ 12ad-Ible)
2021/02/16(火) 11:58:31.61ID:XpWP4Lg+0 >>679
dateとstring両方試しました
dateとstring両方試しました
681デフォルトの名無しさん (ブーイモ MMdb-Cr/x)
2021/02/16(火) 12:13:25.96ID:9n1pp/97M CStr(Format(a,″yyyy/m/d“))
682デフォルトの名無しさん (ワッチョイ 12ad-Ible)
2021/02/16(火) 12:24:02.20ID:XpWP4Lg+0 すいません自己解決しました
変数の定義がおなしかったみたいです
変数の定義がおなしかったみたいです
683デフォルトの名無しさん (バットンキン MM3b-ciZU)
2021/02/16(火) 13:04:12.03ID:nbeJO0KhM >>677
いけましたサンクス!!!
いけましたサンクス!!!
684666 (オッペケ Src7-Wb2C)
2021/02/16(火) 19:15:33.72ID:+pX1epGPr 遅くなりましたが、結局Dummyファイルの書き込みにしました。アドバイス頂いた方ありがとうございました。
685デフォルトの名無しさん (アウアウエー Saaa-tVK2)
2021/02/16(火) 21:00:08.21ID:PQjj23xSa スミマセン、セルの特殊な機能だと思うのですが、
セルにポインタを合わせると、セルの外側右下に小さな▼が出現、
▼を押すとセルの下に小さなウィンドウが展開し、羅列された文字や数字を選択できる。
上記機能の名称とは何なのか、
どこでイジれるのか、作成できるのか等わからず困ってしまいました。
機能が生きているセルもありましたため、
新規で作成せずともその機能をコピーしようともしましたが方法わからず。
お詳しい方いらっしゃいましたら
お力添え願いたいです。
失礼します。
セルにポインタを合わせると、セルの外側右下に小さな▼が出現、
▼を押すとセルの下に小さなウィンドウが展開し、羅列された文字や数字を選択できる。
上記機能の名称とは何なのか、
どこでイジれるのか、作成できるのか等わからず困ってしまいました。
機能が生きているセルもありましたため、
新規で作成せずともその機能をコピーしようともしましたが方法わからず。
お詳しい方いらっしゃいましたら
お力添え願いたいです。
失礼します。
686デフォルトの名無しさん (ワッチョイ 5322-GfrP)
2021/02/16(火) 21:24:43.99ID:kmFmEkS70 VBAとは関係なく
「セルの入力規則」から「リスト」を選択してあとは適宜
詳細は上記キーワードで検索して
「セルの入力規則」から「リスト」を選択してあとは適宜
詳細は上記キーワードで検索して
687デフォルトの名無しさん (オッペケ Src7-B7l3)
2021/02/16(火) 22:46:03.00ID:g3oiZXVYr 教えていただけると助かります。
VBAでIEからExcelに文章を写したいです。
アクティブなIEからカーソルで範囲指定して、その内容を写すことは可能なのでしょうか?
例えば、ヤフーで気になる記事の内容だけをコピペといった感じです。
気になるものだけなので、検索を入れ込む必要はないです。
IEとYahoo起動まではできるのですが、その先が分かりません。
よろしくお願いいたします。
VBAでIEからExcelに文章を写したいです。
アクティブなIEからカーソルで範囲指定して、その内容を写すことは可能なのでしょうか?
例えば、ヤフーで気になる記事の内容だけをコピペといった感じです。
気になるものだけなので、検索を入れ込む必要はないです。
IEとYahoo起動まではできるのですが、その先が分かりません。
よろしくお願いいたします。
688デフォルトの名無しさん (ワッチョイ 9242-duN9)
2021/02/16(火) 23:02:29.70ID:LtHH0x/40 それ手動でコピペしたほうが早いんじゃね
689デフォルトの名無しさん (ワッチョイ dfda-4u9f)
2021/02/16(火) 23:41:10.89ID:5LT5VcGn0 気になる記事の条件は?
それを自分で判断するなら>>688が正解だと思うが
それを自分で判断するなら>>688が正解だと思うが
690デフォルトの名無しさん (ワッチョイ 124f-nOGz)
2021/02/17(水) 09:01:14.53ID:tQXaEzsv0691デフォルトの名無しさん (ワッチョイ 975f-B4ia)
2021/02/17(水) 10:16:38.01ID:vOoN+LpT0 >>690
優しすぎる
優しすぎる
692デフォルトの名無しさん (ワッチョイ 1601-tVK2)
2021/02/17(水) 12:53:19.33ID:3Z4/s25m0693デフォルトの名無しさん (オッペケ Src7-z198)
2021/02/17(水) 12:57:54.00ID:quEf8nPTr いえいえ
694デフォルトの名無しさん (JP 0Hdb-DrOF)
2021/02/17(水) 12:59:55.94ID:Mp3MtPnAH クリップボードを監視して、新しいデータがコピーされるたびに保存してくれるアプリとか使えばいいんじゃない?
いちいちウィンドウを切り替えたりペーストしなくていいやつあるだろ
いちいちウィンドウを切り替えたりペーストしなくていいやつあるだろ
695デフォルトの名無しさん (スッップ Sd32-tVK2)
2021/02/17(水) 15:46:44.57ID:i293dZUhd696デフォルトの名無しさん (ワッチョイ f215-LlBx)
2021/02/17(水) 22:01:12.58ID:YnE2/fOB0 最終列までコピーをしたいんですがエラーを繰り返しなかなか実現できません…
例えばA3セルがデータの始まりでA7セルが最終列の場合、以下の文になるかと思いますRange(“A3:A7”).copy
ただ、半年に一度最終列が一列追加になるので、メンテナンスしなくていいように上の文のA7の部分が最終列になるようにしたいです
この場合何かいい方法はあるでしょうか
例えばA3セルがデータの始まりでA7セルが最終列の場合、以下の文になるかと思いますRange(“A3:A7”).copy
ただ、半年に一度最終列が一列追加になるので、メンテナンスしなくていいように上の文のA7の部分が最終列になるようにしたいです
この場合何かいい方法はあるでしょうか
697デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/17(水) 22:41:15.13ID:FtApzB1S0 行じゃなくて列?
698デフォルトの名無しさん (ワッチョイ dfda-sg8N)
2021/02/17(水) 22:42:03.66ID:tZ0yQ1Z/0 オーソドックスなのはこれだけど、物凄い珍回答を聞いてみたいわ
Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
699デフォルトの名無しさん (ワッチョイ 1279-oc8s)
2021/02/17(水) 22:45:44.66ID:LXOFF6tt0 >>696
last_row = Sheet1.UsedRange.Row + Sheet1.UsedRange.Rows.Count - 1
last_col = Sheet1.UsedRange.Column + Sheet1.UsedRange.Columns.Count - 1
Debug.Print "A3:" & Sheet1.Cells(last_row, last_col).Address(RowAbsolute:=False, ColumnAbsolute:=False)
こんなん?
last_row = Sheet1.UsedRange.Row + Sheet1.UsedRange.Rows.Count - 1
last_col = Sheet1.UsedRange.Column + Sheet1.UsedRange.Columns.Count - 1
Debug.Print "A3:" & Sheet1.Cells(last_row, last_col).Address(RowAbsolute:=False, ColumnAbsolute:=False)
こんなん?
700デフォルトの名無しさん (オッペケ Src7-B7l3)
2021/02/17(水) 22:46:54.85ID:bJ7UNxEFr >>690
ありがとうございます❗
探してたものに出会えました。
ググってはみたんですが、このサイトには巡り会えなかったので、本当に助かります。
やってみたら、思う結果になりました。
ありがとうございました。
ありがとうございます❗
探してたものに出会えました。
ググってはみたんですが、このサイトには巡り会えなかったので、本当に助かります。
やってみたら、思う結果になりました。
ありがとうございました。
701デフォルトの名無しさん (ワッチョイ f215-LlBx)
2021/02/17(水) 22:47:30.28ID:YnE2/fOB0 行じゃなく列です
最終列が半年に一回追加になるのです…
最終列が半年に一回追加になるのです…
702デフォルトの名無しさん (ワッチョイ f215-LlBx)
2021/02/17(水) 22:50:45.05ID:YnE2/fOB0 >>697
ごめんなさい、最終列の話だったのでA3セルからD3セルをコピーする場合、以下になるんでした
Range(“A3:D3).copy
今はD3が最終列ですが、半年後にはD3が最終列になるイメージです
ごめんなさい、最終列の話だったのでA3セルからD3セルをコピーする場合、以下になるんでした
Range(“A3:D3).copy
今はD3が最終列ですが、半年後にはD3が最終列になるイメージです
703696 (ワッチョイ f215-LlBx)
2021/02/17(水) 22:51:42.12ID:YnE2/fOB0 何度も間違えてすみません…
今はD3が最終列ですが半年後にはE3が最終列になるの間違いでした
今はD3が最終列ですが半年後にはE3が最終列になるの間違いでした
704デフォルトの名無しさん (ワッチョイ a37c-oFCC)
2021/02/17(水) 22:55:52.03ID:X7VrF3DN0 最終列取得の仕方調べないの?
705デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/17(水) 23:06:07.99ID:FtApzB1S0 Range("A3").CurrentRegion.Copy
706デフォルトの名無しさん (ワッチョイ 92ad-Cr/x)
2021/02/17(水) 23:08:53.17ID:ooyd3US+0 ColLst = Sheet1.Сells(3,Columns.Count).End(xIToLeft).Column
Range(Sheet1.Cells(3,1),Sheet1.Сells(3,ColLst))
みたいにケツのColumnIndexを可変化させりゃええ
指定範囲より右側にコメントが入るのであれば別の方法を考える必要があるけど
Range(Sheet1.Cells(3,1),Sheet1.Сells(3,ColLst))
みたいにケツのColumnIndexを可変化させりゃええ
指定範囲より右側にコメントが入るのであれば別の方法を考える必要があるけど
707デフォルトの名無しさん (ワッチョイ 1279-oc8s)
2021/02/17(水) 23:09:11.52ID:LXOFF6tt0 CurrentRegionは使えそうで使わない
708デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/17(水) 23:16:43.14ID:FtApzB1S0 UsedRangeだって使うの怖ない?
どっかにドットあるだけども持ってかれる
どっかにドットあるだけども持ってかれる
709デフォルトの名無しさん (ワッチョイ dfda-sg8N)
2021/02/17(水) 23:18:02.78ID:tZ0yQ1Z/0 これってやり方は何通りかあるけど、
どの状況でも使える完璧なのが無いよな
一見よさげなUsedRange.Find法とかも、
検索と置換の状態が変わっちゃうし
どの状況でも使える完璧なのが無いよな
一見よさげなUsedRange.Find法とかも、
検索と置換の状態が変わっちゃうし
710デフォルトの名無しさん (ワッチョイ 1279-oc8s)
2021/02/17(水) 23:21:06.27ID:LXOFF6tt0 ちゃんとやりたい場合列のヘッダの名前の有無を確認とか意味解析するしかないよ
711デフォルトの名無しさん (ワッチョイ 92da-ciZU)
2021/02/18(木) 00:18:06.29ID:ZQty99yr0 vbaしかつかえないうんちなんだけど、ダイアログに変数名入れたら、その名前を反映させた定型コード作ってくれるような支援ソフトないの?
たとえば、Dim var: var= xとかFor i=LBound(arr) to UBound(arr)とか。いちいちめんどい。
cliborはつかってる。スレチだったらすまそ。
たとえば、Dim var: var= xとかFor i=LBound(arr) to UBound(arr)とか。いちいちめんどい。
cliborはつかってる。スレチだったらすまそ。
712デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/18(木) 02:16:18.22ID:QcGF+jUk0 それこそ自分で作れよ
自分だけにに都合よく自動化したいならそれしかないだろ
自分だけにに都合よく自動化したいならそれしかないだろ
713デフォルトの名無しさん (ワッチョイ 124f-nOGz)
2021/02/18(木) 08:21:36.53ID:sd++046d0 >>711
そういうの別言語だと見たことあるけど
VBAでは諦めた方がいいんじゃないかなぁ
https://mobile.twitter.com/johnsundell/status/1221758718188060673
こういう奴でしょ?
https://twitter.com/5chan_nel (5ch newer account)
そういうの別言語だと見たことあるけど
VBAでは諦めた方がいいんじゃないかなぁ
https://mobile.twitter.com/johnsundell/status/1221758718188060673
こういう奴でしょ?
https://twitter.com/5chan_nel (5ch newer account)
714696 (ワッチョイ f215-LlBx)
2021/02/18(木) 08:30:28.40ID:0xKDo7Uv0 最終列の取得をしてコピーしたいと申した者です
具体的には2シート目以降のC8セルから最終列までコピペしたくこのような文を書いてました
Maxcol = Worksheets(1).Range(“C8”).End(XlToRight).Column
For i = 2 To Worksheets.Count
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
Worksheet(1).Cells(Maxrow,1).PasteSpecial Paste:=xlPasteValues
Maxrow = Maxrow + 1
Next i
上には書いていませんがMaxRowで最終行していて、1シート目の最終行にペーストするイメージです
このとき以下の箇所でエラーになりました
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
具体的には2シート目以降のC8セルから最終列までコピペしたくこのような文を書いてました
Maxcol = Worksheets(1).Range(“C8”).End(XlToRight).Column
For i = 2 To Worksheets.Count
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
Worksheet(1).Cells(Maxrow,1).PasteSpecial Paste:=xlPasteValues
Maxrow = Maxrow + 1
Next i
上には書いていませんがMaxRowで最終行していて、1シート目の最終行にペーストするイメージです
このとき以下の箇所でエラーになりました
Worksheets(i) = Range(Cells(8,3), Cells(8, Maxcol)).Copy
715デフォルトの名無しさん (バットンキン MM3b-ciZU)
2021/02/18(木) 08:31:50.99ID:cssKdxraM >>713
やっぱVbaだと厳しいか、、、別言語だとこんなのあるんだな!ありがとう。
やっぱVbaだと厳しいか、、、別言語だとこんなのあるんだな!ありがとう。
716696 (ワッチョイ f215-LlBx)
2021/02/18(木) 08:45:37.53ID:0xKDo7Uv0 解決しました…
Rangeの中にCellsを入れる際はCellsの方にもワークシート名を記載してあげなければいけなかったんですね…
お騒がせしました
Rangeの中にCellsを入れる際はCellsの方にもワークシート名を記載してあげなければいけなかったんですね…
お騒がせしました
717デフォルトの名無しさん (ラクッペペ MMde-HHI4)
2021/02/18(木) 10:27:10.11ID:4sNPnSsIM 4点指定でrange作れればいいのにね
718デフォルトの名無しさん (ワッチョイ 1201-EsoH)
2021/02/18(木) 13:38:16.10ID:EVRbmhyV0 >>717
まあ、
Sheet.Cells(開始行, 開始列).Resize(行数, 列数)
もしくは
Sheet.Cells(開始行, 開始列).Resize(終了行 - 開始行 + 1, 終了列 - 開始列 + 1)
ってやるだけだし
まあ、
Sheet.Cells(開始行, 開始列).Resize(行数, 列数)
もしくは
Sheet.Cells(開始行, 開始列).Resize(終了行 - 開始行 + 1, 終了列 - 開始列 + 1)
ってやるだけだし
719デフォルトの名無しさん (テテンテンテン MMde-ZwSN)
2021/02/18(木) 17:41:06.06ID:Khd0zmwWM720デフォルトの名無しさん (ワッチョイ a701-qH/C)
2021/02/18(木) 20:47:31.34ID:Sdz2Rpjn0 コンパイルしたときに「ユーザー定義型は使用できません」といったようなエラーが出るのですが、
エラー箇所が選択されず特定できません。
ググってみたのですが「関数を一個ずつ切り貼りしながらコンパイル」的な記事しかなく、
結構大きなプロジェクトファイルになってしまっていて現実的ではありません。
原因って何が考えられますでしょうか。
エラー箇所が選択されず特定できません。
ググってみたのですが「関数を一個ずつ切り貼りしながらコンパイル」的な記事しかなく、
結構大きなプロジェクトファイルになってしまっていて現実的ではありません。
原因って何が考えられますでしょうか。
721デフォルトの名無しさん (ワッチョイ 6310-KgTK)
2021/02/18(木) 21:08:20.83ID:QcGF+jUk0 情報が少なすぎるだろ
で、ユーザー定義型を使ったの?
で、ユーザー定義型を使ったの?
722デフォルトの名無しさん (ワッチョイ 124f-nOGz)
2021/02/18(木) 21:48:45.33ID:sd++046d0 >>720
VBAでは珍しいかも知れないけど
VBSではよくある話
実行前コンパイルの概念がないからね
別に1関数単位で抜かなくても
纏めてごっそり抜いてみて
エラーが発生しなくなったら
残った部分には原因がなくて
抜いた部分に原因があるんで
まずそうやって切り分ける
抜いた部分から半分くらい戻してやって
またエラーが起きないか確認するのを
繰り返して行く内に
原因の可能性がある範囲はどんどん狭まるんで
そうやって確認して行く
VBAでは珍しいかも知れないけど
VBSではよくある話
実行前コンパイルの概念がないからね
別に1関数単位で抜かなくても
纏めてごっそり抜いてみて
エラーが発生しなくなったら
残った部分には原因がなくて
抜いた部分に原因があるんで
まずそうやって切り分ける
抜いた部分から半分くらい戻してやって
またエラーが起きないか確認するのを
繰り返して行く内に
原因の可能性がある範囲はどんどん狭まるんで
そうやって確認して行く
723デフォルトの名無しさん (ワッチョイ 124f-nOGz)
2021/02/18(木) 21:52:25.45ID:sd++046d0 原因として考えられるのは
ない型を指定した場合なので
型宣言の書き間違えとかかな
ない型を指定した場合なので
型宣言の書き間違えとかかな
724デフォルトの名無しさん (ワッチョイ a701-qH/C)
2021/02/18(木) 21:59:48.04ID:Sdz2Rpjn0725デフォルトの名無しさん (ドコグロ MMea-aQRC)
2021/02/18(木) 22:36:52.79ID:Xk2lzcuAM フォーム内のエラーはフォーム呼び出しコードが選択されるから、F8の手押し連打で進めて行けばエラー箇所で止まるんじゃね
726デフォルトの名無しさん (ワッチョイ 335f-6eOQ)
2021/02/18(木) 23:05:06.07ID:jY4O/2kG0 いつもの人っぽいけど、クラスモジュールでエラー止める設定すれば分かるかもしれん
727デフォルトの名無しさん (ワッチョイ dfda-sg8N)
2021/02/18(木) 23:14:40.89ID:Oj+90OvE0728デフォルトの名無しさん (ワッチョイ a37c-oFCC)
2021/02/18(木) 23:38:17.80ID:chyUcvsN0 ズボラせず1個ずつちゃんと調べなよ
729デフォルトの名無しさん (JP 0Ha7-W5tZ)
2021/02/19(金) 00:07:23.60ID:3RXIcFsGH DimとかConstとかでタイプミス
SubやFunctionの宣言部でもよくある
Visual StudioでVB.netプロジェクトを作ってコピペで発見できる場合もある
SubやFunctionの宣言部でもよくある
Visual StudioでVB.netプロジェクトを作ってコピペで発見できる場合もある
730デフォルトの名無しさん (ワッチョイ 4301-KfDg)
2021/02/19(金) 03:59:43.95ID:fFtIagGX0731デフォルトの名無しさん (ワッチョイ 4301-KfDg)
2021/02/19(金) 04:14:33.39ID:fFtIagGX0 お礼言うの忘れてました。
沢山回答ありがとうございます。
些細な事柄でも気になる点があればレス欲しいです。
一応質問内容をまとめます
・エラーが発生しているのはコンパイル時です
・通常あるエラー発生箇所の選択がされません(この「発生個所が選択されないという現象」自体の原因も調べています)
・原因と思われるクラスモジュールを解放すると発生しなくなります
・しかし、そのモジュール内のコードを消すだけでは引き続き発生します
沢山回答ありがとうございます。
些細な事柄でも気になる点があればレス欲しいです。
一応質問内容をまとめます
・エラーが発生しているのはコンパイル時です
・通常あるエラー発生箇所の選択がされません(この「発生個所が選択されないという現象」自体の原因も調べています)
・原因と思われるクラスモジュールを解放すると発生しなくなります
・しかし、そのモジュール内のコードを消すだけでは引き続き発生します
732デフォルトの名無しさん (ワッチョイ ff4f-TpLA)
2021/02/19(金) 05:06:58.61ID:UOwA+kJV0 なるほど
つまりVBAのコード側の問題ではないと
詳しい状況が分からんから何とも言えんけど
考えられる状況としては
・ファイルがぶっ壊れてる
・フォーム側に使ってるバージョンにそぐわないオブジェクトが設定されている
・使ってるバージョンにそぐわないAPIとかが使用されている
・何か変な参照設定切ってそれを使ってる
とかじゃない?
クラスとかライブラリ(何をもってライブラリと言ってるのかは分からんけど)使ってて
結構大きなプロジェクトファイル使ってると言うなら
元々動いてたものだったと思うんだけど
今改修を掛けているものが同じ環境下(EXCELのバージョンとか使ってるならランタイムとかが同じ)
で動くか確認した方がいいんじゃないかと思うよ
つまりVBAのコード側の問題ではないと
詳しい状況が分からんから何とも言えんけど
考えられる状況としては
・ファイルがぶっ壊れてる
・フォーム側に使ってるバージョンにそぐわないオブジェクトが設定されている
・使ってるバージョンにそぐわないAPIとかが使用されている
・何か変な参照設定切ってそれを使ってる
とかじゃない?
クラスとかライブラリ(何をもってライブラリと言ってるのかは分からんけど)使ってて
結構大きなプロジェクトファイル使ってると言うなら
元々動いてたものだったと思うんだけど
今改修を掛けているものが同じ環境下(EXCELのバージョンとか使ってるならランタイムとかが同じ)
で動くか確認した方がいいんじゃないかと思うよ
733デフォルトの名無しさん (ワッチョイ cfb0-wt0k)
2021/02/19(金) 05:44:12.15ID:6sfyeCMi0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【無職の男(31)】女子小学生に次々触る 下半身を露出した状態で 公然わいせつ、不同意わいせつ疑い 千葉県警 [nita★]
- 【サッカー】UEFA-CL第6節 インテル×リバプール、バルセロナ×フランクフルト、バイエルン×スポルティングなど [久太郎★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 【実況】博衣こよりのえちえち朝活🧪
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- 冬季賞与報告スレ [577451214]
- 【悲報】○んもに入る言葉「繁茂」しかない
- ワイ社畜、吐く🤮
- 大学生だけど金なさ過ぎてつまらない
