↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
Excel VBA 質問スレ Part78
https://mevius.5ch.net/test/read.cgi/tech/1667104996/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part79
レス数が1000を超えています。これ以上書き込みはできません。
2023/01/28(土) 11:46:47.21ID:mBQ16TA8
956デフォルトの名無しさん
2023/05/29(月) 15:43:26.34ID:sEjgVYtC >>954
多いだけで全員ではない
多いだけで全員ではない
957デフォルトの名無しさん
2023/05/29(月) 16:43:45.59ID:617wK6FV やっぱりめちゃくちゃ丁寧にコメント残して変数の宣言をめんどくてもしっかりしとくと後で手直しが楽だな…
社内サーバーが変更になって他部署のマクロがあちこちエラーでバタつきまくってるけど俺の作ったvbaちゃん達は少しメンテしただけでオールオッケー
ヘルプが来たけど他人の作ったマクロ全然わかんね
社内サーバーが変更になって他部署のマクロがあちこちエラーでバタつきまくってるけど俺の作ったvbaちゃん達は少しメンテしただけでオールオッケー
ヘルプが来たけど他人の作ったマクロ全然わかんね
958デフォルトの名無しさん
2023/05/29(月) 17:02:10.90ID:4Pg0mNi+ ウデを持ってるなら、そんな環境からとっととおサラバするのがいい
サヨナラされてようやく気付く企業も多く成るべき
それでもそこにしがみ付きたいなら、技術だけじゃなくて知恵も蓄えないと
どうやってその邪魔な上役・役職者を失脚させて、徐々にでもじぶんの地位を上げるか とか
学歴・派閥・職歴えtc、ひとは誰しも欠点を持ち合わせてンだし、そこをトコトン突っ突かないと
ブツブツ文句垂れてるだけじゃなにごとも変わらない 諦めたらそこで終わりなのも事実だし
サヨナラされてようやく気付く企業も多く成るべき
それでもそこにしがみ付きたいなら、技術だけじゃなくて知恵も蓄えないと
どうやってその邪魔な上役・役職者を失脚させて、徐々にでもじぶんの地位を上げるか とか
学歴・派閥・職歴えtc、ひとは誰しも欠点を持ち合わせてンだし、そこをトコトン突っ突かないと
ブツブツ文句垂れてるだけじゃなにごとも変わらない 諦めたらそこで終わりなのも事実だし
959デフォルトの名無しさん
2023/05/29(月) 21:13:35.07ID:PjfX8r01 一つだけお聞きしたいのですが、VBAを作成したとしても利用者がシート名を変更したり、シートを削除したり、シートを追加したり、並び替えたりしたら自動化や効率化のやりようがないですよね?
オブジェクトが存在しないとか並び替えられていたらインデックスで指定するのが無理とかそう言う事になりますよね?
VBAは決められた手順通りに定められたメゾットを実行する物であって、ブックがめちゃくちゃだと実行しようがないですよね?
オブジェクトが存在しないとか並び替えられていたらインデックスで指定するのが無理とかそう言う事になりますよね?
VBAは決められた手順通りに定められたメゾットを実行する物であって、ブックがめちゃくちゃだと実行しようがないですよね?
960デフォルトの名無しさん
2023/05/29(月) 21:20:52.62ID:4q9o84pD シートをオブジェクト名で処理すればシート名変更・並び替え・シート追加はどうでも良くなる
シート削除対策は予備シートを他のブックにでも入れておいて本シートの存在判定後に予備シートからコピーすれば良い
シート削除対策は予備シートを他のブックにでも入れておいて本シートの存在判定後に予備シートからコピーすれば良い
961デフォルトの名無しさん
2023/05/29(月) 21:26:22.38ID:PjfX8r01 >>960
なるほど
ちなみに一番新しいシートのオブジェクトを指定する方法はあるでしょうか?
ブックにあるオブジェクトを探して一番大きい数字のオブジェクトを指定できるなら助かるのですが
worksheet.countやworksheet.count - 1の様な事をオブジェクトで行いたいです
なるほど
ちなみに一番新しいシートのオブジェクトを指定する方法はあるでしょうか?
ブックにあるオブジェクトを探して一番大きい数字のオブジェクトを指定できるなら助かるのですが
worksheet.countやworksheet.count - 1の様な事をオブジェクトで行いたいです
962デフォルトの名無しさん
2023/05/29(月) 21:38:44.22ID:5rIVitSK もちろんできる
963デフォルトの名無しさん
2023/05/29(月) 21:43:07.69ID:4q9o84pD 普通は新しいシートを作る位置でその手のコントロールをすると思うけどね
964デフォルトの名無しさん
2023/05/29(月) 21:45:22.79ID:PjfX8r01965デフォルトの名無しさん
2023/05/29(月) 21:53:57.15ID:4q9o84pD >>964
新しいシートを作るのがコード自身ならコントロールできるでしょ
あと、並び替え程度で動かなくなるとか
シートを作られただけで動かなるコードなんてのは脆弱すぎるので
先ずはその点の改良をしたほうがいい
新しいシートを作るのがコード自身ならコントロールできるでしょ
あと、並び替え程度で動かなくなるとか
シートを作られただけで動かなるコードなんてのは脆弱すぎるので
先ずはその点の改良をしたほうがいい
966デフォルトの名無しさん
2023/05/29(月) 22:02:48.61ID:nq5ttQ99 そんなんで駄目になるなら初めからガチガチにロックしてこっちが想定した操作以外できなくしてしまったほうが早い気がする
967デフォルトの名無しさん
2023/05/30(火) 02:48:24.27ID:ztJvp+qD VBAでどんなコードを書いてもユーザーが勝手に変更したら動かなくなるよ
968デフォルトの名無しさん
2023/05/30(火) 06:48:55.03ID:D1ASN+X8 >>965
やりたい事は一番新しいシート(最新のシート)とその前に作成されたシート(古いバージョンの様な)を比較して一致しないセル(変更のあったセル)に色を塗ると言う事がしたいです
一番新しいシートはマクロを実行する度に複製されます
私は一番新しいシートに記入してマクロを実行すると直前のシートと比較して色を塗る所まで出来ました
しかし利用者の方が一番新しいシートに記入される方ばかりではないと言う事にも気がつきました。
なのでどこのシートでマクロを実行しようとも一番新しいシートとその直前のシートで比較するマクロを組みたいです。
やりたい事は一番新しいシート(最新のシート)とその前に作成されたシート(古いバージョンの様な)を比較して一致しないセル(変更のあったセル)に色を塗ると言う事がしたいです
一番新しいシートはマクロを実行する度に複製されます
私は一番新しいシートに記入してマクロを実行すると直前のシートと比較して色を塗る所まで出来ました
しかし利用者の方が一番新しいシートに記入される方ばかりではないと言う事にも気がつきました。
なのでどこのシートでマクロを実行しようとも一番新しいシートとその直前のシートで比較するマクロを組みたいです。
969デフォルトの名無しさん
2023/05/30(火) 06:57:07.62ID:T5vzeTOi どこかにシートの作成履歴を保存しておくしかないのでは?
970デフォルトの名無しさん
2023/05/30(火) 07:58:55.38ID:IcFRt183 ブックを開きその時点での一番新しいシートに記入する
マクロのボタンを押す
シートを複製する
一つ前のバージョンのシートと比較して変更のあったセルに色を塗る
と言う事がしたいです
つまりマクロを実行するシートというのは常に新しく複製されたシートです
理想は常に新しく複製されたシートのオブジェクト名を取得してその前のバージョンのシートと必ず比較できるマクロが組みたいです
マクロのボタンを押す
シートを複製する
一つ前のバージョンのシートと比較して変更のあったセルに色を塗る
と言う事がしたいです
つまりマクロを実行するシートというのは常に新しく複製されたシートです
理想は常に新しく複製されたシートのオブジェクト名を取得してその前のバージョンのシートと必ず比較できるマクロが組みたいです
971デフォルトの名無しさん
2023/05/30(火) 08:01:10.86ID:IcFRt183 ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11256025046
ここに書かれているCode nameが最大のシートを探すと言うのが答えになりそうなのですが私には分かりませんでした
ここに書かれているCode nameが最大のシートを探すと言うのが答えになりそうなのですが私には分かりませんでした
972デフォルトの名無しさん
2023/05/30(火) 08:29:21.45ID:qMHj8iFj そのブックの構成がよくわからないな
その古いシートへユーザーが書き込むってのはミスなの?そのシートに書き込む必要がある状態なの?
因みに、codenameを取得して番号から最新シートを把握というのはちょっと微妙な気がする
何故ならシートのオブジェクト名もシート名も
そのEXCELブックが立ち上がった時の一番若い番号に振られるから
つまり、オブジェクト名に歯抜けの番号があればその歯抜け番号が最新番号になる、、はず
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
その古いシートへユーザーが書き込むってのはミスなの?そのシートに書き込む必要がある状態なの?
因みに、codenameを取得して番号から最新シートを把握というのはちょっと微妙な気がする
何故ならシートのオブジェクト名もシート名も
そのEXCELブックが立ち上がった時の一番若い番号に振られるから
つまり、オブジェクト名に歯抜けの番号があればその歯抜け番号が最新番号になる、、はず
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
973デフォルトの名無しさん
2023/05/30(火) 08:29:25.24ID:IcFRt183 なんとなくわかって来ました
初期値のworksheet(シート名?オブジェクト?) < ブックの中のシートのコードネーム
がthenならそのCode nameを変数に入れたらいい
そしてそのCode nameのシート名を取得して変数に入れればいい
と言う事ですね
初期値のworksheet(シート名?オブジェクト?) < ブックの中のシートのコードネーム
がthenならそのCode nameを変数に入れたらいい
そしてそのCode nameのシート名を取得して変数に入れればいい
と言う事ですね
974デフォルトの名無しさん
2023/05/30(火) 08:49:28.89ID:IcFRt183 >>972
本当にありがとうございます
私はvbaの初心者で必ず最新のシートが選択される様にする
と言うだけでこの通り全く分からない状態です
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
↑
私もインデックスを固定して操作する方が確実だとは思うのですがシートの並び替えだけを禁止すると言う理解でよろしいでしょうか?
本当にありがとうございます
私はvbaの初心者で必ず最新のシートが選択される様にする
と言うだけでこの通り全く分からない状態です
そんなのより各シートにインデックス番号を
シート内の固定場所に
振っていくほうが手っ取り早いんじゃないの?
若しくは管理用シートを別に用意するとか手段はいくらでもある
↑
私もインデックスを固定して操作する方が確実だとは思うのですがシートの並び替えだけを禁止すると言う理解でよろしいでしょうか?
975デフォルトの名無しさん
2023/05/30(火) 09:26:21.94ID:qMHj8iFj >>974
いや、ちょっと勘違いしているね
平易に言うと、自分で作った通し番号を各シートの固定場所に記載するってこと。
シートの並び順はもはや関係なくなる
具体的には、一番最初のシートには使ってないセルに「1」を振る
次に新しいシートを作るときは
for each 変数名 in thisworkbook.worksheets
でブック内全シートの番号を降った場所を検索して
一番大きな番号を取得
その取得した番号の次の番号を新しいシートに振る
これでいつでも最新シートを更新出来るようになる
いや、ちょっと勘違いしているね
平易に言うと、自分で作った通し番号を各シートの固定場所に記載するってこと。
シートの並び順はもはや関係なくなる
具体的には、一番最初のシートには使ってないセルに「1」を振る
次に新しいシートを作るときは
for each 変数名 in thisworkbook.worksheets
でブック内全シートの番号を降った場所を検索して
一番大きな番号を取得
その取得した番号の次の番号を新しいシートに振る
これでいつでも最新シートを更新出来るようになる
976デフォルトの名無しさん
2023/05/30(火) 10:50:25.84ID:IcFRt183977デフォルトの名無しさん
2023/05/30(火) 17:51:07.23ID:1Ly+sIKy こないだの奴だろ? わかったつもりでいても、実装には難儀する気がする
そもそも要件と、それをまかなう仕様がなんかまちがってる気がしてならない
古いSheetと新しいSheetで違う値のセルをハイライト
で、その新しいSheetは明日には古いSheetに成るんじゃないのか?ハイライトする意味は?
ひとつのブックをみんなで寄ってたかって編集してるのか? で、制作物は最終的にひとつなのか大量にあるのか
古くなったSheetはもう不要なのか、いつか参照するのか ブック内でどんどんSheetが増えていくのか その頻度は
書ける範囲で業種とか業務とかの概略を書いた方が結果的に近道な気がする 気がするだけだけど
その用途ならこうした方がいいぞ というアドバイスも出てきそうだし
そもそも要件と、それをまかなう仕様がなんかまちがってる気がしてならない
古いSheetと新しいSheetで違う値のセルをハイライト
で、その新しいSheetは明日には古いSheetに成るんじゃないのか?ハイライトする意味は?
ひとつのブックをみんなで寄ってたかって編集してるのか? で、制作物は最終的にひとつなのか大量にあるのか
古くなったSheetはもう不要なのか、いつか参照するのか ブック内でどんどんSheetが増えていくのか その頻度は
書ける範囲で業種とか業務とかの概略を書いた方が結果的に近道な気がする 気がするだけだけど
その用途ならこうした方がいいぞ というアドバイスも出てきそうだし
978デフォルトの名無しさん
2023/05/30(火) 18:47:46.87ID:rtVxM/0K 適当な人間が使ってるものを深く考えずに何とかしようとしてるだけだから仕方なくね
ぶっちゃけこんな感じなるなら別のブックにマクロいれて
ファイル名、変更前シート、変更後シート
あたりを入力して変更後シートの変更箇所に色塗りするってマクロ作った方がいいんじゃねと思うわ
そもそも勝手にシート増やされたとしてそのシートが番号振ってあるシートだったら破綻するだろ?
ぶっちゃけこんな感じなるなら別のブックにマクロいれて
ファイル名、変更前シート、変更後シート
あたりを入力して変更後シートの変更箇所に色塗りするってマクロ作った方がいいんじゃねと思うわ
そもそも勝手にシート増やされたとしてそのシートが番号振ってあるシートだったら破綻するだろ?
979デフォルトの名無しさん
2023/05/30(火) 19:50:15.30ID:D1ASN+X8 >>978
シートを手動でコピーされるかあるいは新しいシートを挿入されたら終わり
確かにその通りでした
やはり浅はかでした
どうにもシートの保護などは禁止らしく、他のブックで比較するのも禁止らしいです
では最終手段として一番新しいシートを一番右に、その前のバージョンのシートをその左に手動で並べて右と左で比較するコードをと提案しましたが必要を理解してもらえませんでした
シートを手動でコピーされるかあるいは新しいシートを挿入されたら終わり
確かにその通りでした
やはり浅はかでした
どうにもシートの保護などは禁止らしく、他のブックで比較するのも禁止らしいです
では最終手段として一番新しいシートを一番右に、その前のバージョンのシートをその左に手動で並べて右と左で比較するコードをと提案しましたが必要を理解してもらえませんでした
980デフォルトの名無しさん
2023/05/30(火) 19:57:03.41ID:D1ASN+X8 個人的にはマクロが登録されているボタンを押して作成している限りにおいては正しい動作が行われるで満足なのでセルに数字を入力してシートを指定する案で終わります
981デフォルトの名無しさん
2023/05/30(火) 20:02:47.81ID:8KdzSu0t 誰もマクロを触れない部署で全く新しいアプローチでツールを作ってくれと言われて
今月の残業時間40Hだが全部vbaに費やしてる
まだ試作だけど部長に糞誉められた
いやでも会心の出来かも
デバックエラーが絶対起きないようにあらゆる想定をしてユーザーフォームのボタンに込めた
今月の残業時間40Hだが全部vbaに費やしてる
まだ試作だけど部長に糞誉められた
いやでも会心の出来かも
デバックエラーが絶対起きないようにあらゆる想定をしてユーザーフォームのボタンに込めた
982デフォルトの名無しさん
2023/05/30(火) 20:08:16.56ID:rtVxM/0K そうかよかったな
チラシの裏にでも書いておけ
チラシの裏にでも書いておけ
983デフォルトの名無しさん
2023/05/30(火) 20:19:41.96ID:D1ASN+X8 ちなみに当の本人は「サンプルシートに記入した人がいる、キチガイやろ?」と言っていました
私はそれはシートの保護をせず、入力ができるからでは?入力ができる以上、そう言う操作を行う人が居るのは当然なのでは?入力するべきではないシートだとわかりにくいからでは?と思いました。
そして人の悪口を言うのを辞めようと思いました。
私はそれはシートの保護をせず、入力ができるからでは?入力ができる以上、そう言う操作を行う人が居るのは当然なのでは?入力するべきではないシートだとわかりにくいからでは?と思いました。
そして人の悪口を言うのを辞めようと思いました。
984デフォルトの名無しさん
2023/05/30(火) 20:30:00.27ID:LGax4AHG985デフォルトの名無しさん
2023/05/30(火) 20:33:12.41ID:8KdzSu0t 常に煽り口調なレス怖いですね
低年収なら仕方ない…のか?
それこそチラシの裏に社会への不満書くのがいいかと
低年収なら仕方ない…のか?
それこそチラシの裏に社会への不満書くのがいいかと
986デフォルトの名無しさん
2023/05/30(火) 21:00:59.18ID:rtVxM/0K987デフォルトの名無しさん
2023/05/30(火) 21:19:25.23ID:LGax4AHG すごいだろ
でも書いてる内容見りゃお前が間違いなく底辺なのがわかっちゃうんよ
それを回答と言ってる時点で知能指数もしれてるわな
でも書いてる内容見りゃお前が間違いなく底辺なのがわかっちゃうんよ
それを回答と言ってる時点で知能指数もしれてるわな
988デフォルトの名無しさん
2023/05/30(火) 21:45:11.73ID:hm9t4j8O まあ目くそ鼻くそだけどな
989デフォルトの名無しさん
2023/05/30(火) 21:57:16.96ID:rtVxM/0K 同年代の年収の平均値・中央値よりもぜんぜん上だけどまあ言わせておくよw
>>988
ほんとその通りな
ワッチョイありの頃はそれなりに回ってたけどワッチョイなしで立てたクソ野郎のせいで
VBA質問スレは無関係のことしか書かないカスみたいなやつのたまり場になっちまったわ
>>988
ほんとその通りな
ワッチョイありの頃はそれなりに回ってたけどワッチョイなしで立てたクソ野郎のせいで
VBA質問スレは無関係のことしか書かないカスみたいなやつのたまり場になっちまったわ
990デフォルトの名無しさん
2023/05/30(火) 22:00:08.95ID:iuWp6cF1991デフォルトの名無しさん
2023/05/30(火) 22:14:49.50ID:D1ASN+X8 とりあえず納得するものが作れたと思います
少なくとも自分がどんな操作も受け付けるマクロやブックを作っておきながらそれを使用する人に対してキチガイという人には負けたくありません
少なくとも自分がどんな操作も受け付けるマクロやブックを作っておきながらそれを使用する人に対してキチガイという人には負けたくありません
992デフォルトの名無しさん
2023/05/30(火) 23:08:53.36ID:LGax4AHG wをつけだしたらおわりだわ
993デフォルトの名無しさん
2023/05/30(火) 23:17:06.57ID:LGax4AHG 平均値中央値よりもぜんぜん上
こんなこっぱずかしいレスをネットで久しく見た
こんなこっぱずかしいレスをネットで久しく見た
994デフォルトの名無しさん
2023/05/31(水) 00:42:56.05ID:Akn6fcLj 必要な操作をできる人、理解している人が行う
とか
シートを保護する
とか
そう言う事は禁止らしいんですよ
どうしても理解度がバラバラの作業者にやらせたいらしいです
とか
シートを保護する
とか
そう言う事は禁止らしいんですよ
どうしても理解度がバラバラの作業者にやらせたいらしいです
995デフォルトの名無しさん
2023/05/31(水) 00:44:54.70ID:Akn6fcLj きっと記入例シートに みほん とデカデカと透かし図を貼り付ける事も シートを保護する事も禁止なんだと思います
996デフォルトの名無しさん
2023/05/31(水) 01:13:44.98ID:zw3Mw+mP じゃあ次スレはワッチョイ有りにすればええやん
今がチャンスだぞ
今がチャンスだぞ
997デフォルトの名無しさん
2023/05/31(水) 01:17:01.07ID:5IfBNuLp いやワッチョイスレあるから
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/
ダメなら立てなきゃいいんじゃないの?
Excel VBA 質問スレ Part79(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1674875532/
ダメなら立てなきゃいいんじゃないの?
998デフォルトの名無しさん
2023/05/31(水) 01:27:46.77ID:Akn6fcLj この間の銃殺事件があってもまだ誹謗中傷を続けるの?
999デフォルトの名無しさん
2023/05/31(水) 03:53:32.03ID:ul21zY0k このスレを立てた爺の正体
↓
掲示板でのケンカが孤独感を薄めてくれる
零細企業勤めで結婚もしておらず、交流する友人もいないが、「ネットが趣味なのが救いだ」と話す。
「掲示板サイトに書き込んだり、VBAはわかりませんが、日本語ワープロに詳しいと自慢したり、チャットGPTを使ったり……いい話し相手になってくれるんですよ。たまに掲示板でケンカもしちゃうんですが、それが孤独感を薄めてくれているのかもしれませんね」
ネット書き込みの裏には孤独を抱えた高齢者の姿がある。
―[中高年[貧困と孤独]の実態]―
↓
掲示板でのケンカが孤独感を薄めてくれる
零細企業勤めで結婚もしておらず、交流する友人もいないが、「ネットが趣味なのが救いだ」と話す。
「掲示板サイトに書き込んだり、VBAはわかりませんが、日本語ワープロに詳しいと自慢したり、チャットGPTを使ったり……いい話し相手になってくれるんですよ。たまに掲示板でケンカもしちゃうんですが、それが孤独感を薄めてくれているのかもしれませんね」
ネット書き込みの裏には孤独を抱えた高齢者の姿がある。
―[中高年[貧困と孤独]の実態]―
1000デフォルトの名無しさん
2023/05/31(水) 03:54:06.20ID:ul21zY0k ----
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 122日 16時間 7分 19秒
新しいスレッドを立ててください。
life time: 122日 16時間 7分 19秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【テレビ】粗品「THE W」バッサリ「おもんない、レベル低い」審査員就任で「日テレが“血の海”に…」 [湛然★]
- キ...キャ...キャ...キャン...
- 自衛隊員が民間人を刺殺した事件ってもはや個人の問題ではないじゃん
- Z世代ってこれ何かわからないってマジ?!
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- ( ・᷄ὢ・᷅ )おう
- ( ・᷄ὢ・᷅ )博士メロつき界隈
