ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
最近プロによる書き込みが多々見うけられますが
彼らに絡むと話がこじれるので質問したい方は適当にスルーしてください
※前スレ
Excel VBA 質問スレ Part53
http://mevius.5ch.net/test/read.cgi/tech/1524823358/
Excel VBA 質問スレ Part54
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/05/26(土) 20:37:37.74ID:Lty78diJ106デフォルトの名無しさん
2018/06/02(土) 20:53:37.92ID:LvKjABpY Excelもマクロも嫌いだけど仕事だから仕方なく使ってる
親のコネでやっと入ったバイトだからやめるわけにもいかない
5chに愚痴を書き続けるしかない人生
親のコネでやっと入ったバイトだからやめるわけにもいかない
5chに愚痴を書き続けるしかない人生
107デフォルトの名無しさん
2018/06/02(土) 21:09:15.11ID:A4SZL/oE エクセル嫌いって意訳するとバカだよ?
108デフォルトの名無しさん
2018/06/02(土) 21:17:48.08ID:msgJi+IZ >>105
集団で働く以上は嫌でも周りの風習・伝統に合わせないとネ
チームや客がエクセルを使ってたらエクセルを使わざるをえないだろう
マネージャさんや手動テスト要員のアルバイタなど関係者がみんなITのプロとは限らないのでこれは仕方がない
もちろん個人端末にはエクセルをインストールすらしてない(というかそもそもLinux)
オープンソースやプライベートのプロジェクトでエクセルを使う理由は全くないからネ
集団で働く以上は嫌でも周りの風習・伝統に合わせないとネ
チームや客がエクセルを使ってたらエクセルを使わざるをえないだろう
マネージャさんや手動テスト要員のアルバイタなど関係者がみんなITのプロとは限らないのでこれは仕方がない
もちろん個人端末にはエクセルをインストールすらしてない(というかそもそもLinux)
オープンソースやプライベートのプロジェクトでエクセルを使う理由は全くないからネ
109デフォルトの名無しさん
2018/06/02(土) 21:27:22.06ID:A4SZL/oE オープンソースやプライベートのプロジェクトがないやんwバカw
110デフォルトの名無しさん
2018/06/03(日) 15:56:25.38ID:I9+zO1Pn >>108
Excelをバッスィーンと窓から放り投げ、貴様らのような雑魚と一緒に仕事はできん!、颯爽とLinuxの国へ向かうというのはどうか。
Excelをバッスィーンと窓から放り投げ、貴様らのような雑魚と一緒に仕事はできん!、颯爽とLinuxの国へ向かうというのはどうか。
111デフォルトの名無しさん
2018/06/03(日) 16:00:02.23ID:I9+zO1Pn 表やリストから抽出したデータを加工してソースの一部にするのは良くありがちなので、プログラマこそExcel使いこなすべきだと思うけどなあ。
その表がExcelならもちろん、HTMLのテーブルであっても容易に取り込めるのがExcelの良いところなわけで。
その表がExcelならもちろん、HTMLのテーブルであっても容易に取り込めるのがExcelの良いところなわけで。
112デフォルトの名無しさん
2018/06/03(日) 16:04:40.23ID:I9+zO1Pn 昔よくExcelは雑魚の道具、真のプログラマはSedとAwkを使う!とか言ってる人いたけどさ。
そんなものこねくり回してる暇あったら、Excel使ってマウスでちょちょいとやれば済むことなんだよね。
やったことの過程がシートに残る、結果ももちろん残る、すべて残る、そして渡せる。
これはとても素晴らしいことなのです。
そんなものこねくり回してる暇あったら、Excel使ってマウスでちょちょいとやれば済むことなんだよね。
やったことの過程がシートに残る、結果ももちろん残る、すべて残る、そして渡せる。
これはとても素晴らしいことなのです。
113デフォルトの名無しさん
2018/06/03(日) 16:09:07.25ID:acSSis/X114デフォルトの名無しさん
2018/06/03(日) 16:13:34.70ID:acSSis/X115デフォルトの名無しさん
2018/06/03(日) 16:32:48.59ID:I9+zO1Pn そりゃExcelを使ったことのない人の感想だわ。
使ってて使いづらいというのはわかるんだけど、使ったことないけど使いづらいって人が多くて困るわ。
使ってて使いづらいというのはわかるんだけど、使ったことないけど使いづらいって人が多くて困るわ。
116デフォルトの名無しさん
2018/06/03(日) 16:33:58.69ID:I9+zO1Pn 俺はソースツリーに.oneと.xlsxを含めてる。
117デフォルトの名無しさん
2018/06/03(日) 16:51:51.67ID:acSSis/X 日常的な繰り返し作業ならシェル開いてコマンド打った方が楽なんだよな
たとえばだけど表形式のデータからgetterをコード生成したいなぁって思ったら
import-csv -path "props.csv" | % {
"public $($_.Type) get$($_.Name)() { return $($_.Name); }" }
って1行打つだけじゃん?
エクセルだとキーボードとマウスでガチャガチャやらんといかんしデータもcsvからシートにインポートしなきゃならん
めんどくさすぎ
たとえばだけど表形式のデータからgetterをコード生成したいなぁって思ったら
import-csv -path "props.csv" | % {
"public $($_.Type) get$($_.Name)() { return $($_.Name); }" }
って1行打つだけじゃん?
エクセルだとキーボードとマウスでガチャガチャやらんといかんしデータもcsvからシートにインポートしなきゃならん
めんどくさすぎ
118デフォルトの名無しさん
2018/06/03(日) 16:55:04.61ID:I9+zO1Pn csv作るまでの過程で、Excel組は帰ってるんじゃ?
119デフォルトの名無しさん
2018/06/03(日) 17:20:04.55ID:Gx0//w9G120デフォルトの名無しさん
2018/06/03(日) 17:42:02.20ID:acSSis/X >>119
確かにそれは意味不明な仕様だけど実用上困る事はないよ
import-csvは#あっても消えないし
catからConvertFrom-Csvに繋げたいならrawオプションをつければいい
任意のコマンド結果をConvertFrom-Csvに繋げたいならOut-Stringを挟めばいい
エクセルで作業する忍耐力があるならカンタンだな
確かにそれは意味不明な仕様だけど実用上困る事はないよ
import-csvは#あっても消えないし
catからConvertFrom-Csvに繋げたいならrawオプションをつければいい
任意のコマンド結果をConvertFrom-Csvに繋げたいならOut-Stringを挟めばいい
エクセルで作業する忍耐力があるならカンタンだな
121デフォルトの名無しさん
2018/06/03(日) 20:11:49.73ID:s2wbfJiQ なにかいい入門書を教えてください
入門者のexcel vbaという本は、簡単でしたので、次のステージに行きたいです
入門者のexcel vbaという本は、簡単でしたので、次のステージに行きたいです
122デフォルトの名無しさん
2018/06/03(日) 20:15:21.48ID:VNTSxEkE VBAなんか本いらん。ネット情報だけで充分過ぎる
とにかく色々かけ。そして作れ
とにかく色々かけ。そして作れ
123デフォルトの名無しさん
2018/06/03(日) 20:18:59.73ID:s2wbfJiQ124デフォルトの名無しさん
2018/06/03(日) 20:27:55.57ID:SlIjCdRC オープンソースソフトのコードでも読めばいい
125デフォルトの名無しさん
2018/06/03(日) 20:30:05.13ID:S2iQzlDr126デフォルトの名無しさん
2018/06/03(日) 22:06:41.01ID:lMiKI+DC A
1 2018/04/23
2 2018/04/25
3 2018/05/10
4 2018/05/28
5 2018/06/03←今日
のようなデータがあるとき、昨日以前で直近の日付のある行を取得したい場合のコードを教えていただけませんでしょうか?上の例の場合、4行目となります。
1 2018/04/23
2 2018/04/25
3 2018/05/10
4 2018/05/28
5 2018/06/03←今日
のようなデータがあるとき、昨日以前で直近の日付のある行を取得したい場合のコードを教えていただけませんでしょうか?上の例の場合、4行目となります。
127デフォルトの名無しさん
2018/06/03(日) 23:50:05.19ID:93wz4odI countaで最大値を取って-1した行を取れば良いんじゃないか?
128デフォルトの名無しさん
2018/06/03(日) 23:54:48.25ID:lMiKI+DC >>127さんお返事ありがとうございます。
ただ、それだと5行目がない場合に3行目が返されてしまいますよね。今日の値があるなしに関わらず昨日以前の値がほしいのです。
ただ、それだと5行目がない場合に3行目が返されてしまいますよね。今日の値があるなしに関わらず昨日以前の値がほしいのです。
129デフォルトの名無しさん
2018/06/04(月) 00:08:16.94ID:cqmMIC0b130デフォルトの名無しさん
2018/06/04(月) 01:09:49.39ID:+i+iliGK グラフの判例項目を足したり削除したりしたいのだがムズイ
マクロの記録で録ったのを流用してもうまくいかない時があって難儀してるわ
マクロの記録で録ったのを流用してもうまくいかない時があって難儀してるわ
131デフォルトの名無しさん
2018/06/04(月) 01:25:33.02ID:kEjObzvD132デフォルトの名無しさん
2018/06/04(月) 01:48:09.18ID:MwVvuTht133デフォルトの名無しさん
2018/06/04(月) 03:29:47.34ID:6ovK7Hcq134デフォルトの名無しさん
2018/06/04(月) 08:28:12.92135デフォルトの名無しさん
2018/06/04(月) 08:41:42.44ID:LccEMra2 もうすぐ廃止されるかもしれんVBAを本気で覚えようとするモチベが湧かないわ
136デフォルトの名無しさん
2018/06/04(月) 08:49:17.91ID:gQR1ea5z 元々本気でやるようなもんじゃないし
137デフォルトの名無しさん
2018/06/04(月) 09:31:05.61ID:cQm3JdMi 本当ならめでたいことだが
VBA廃止ってどこ情報だよ
VBA廃止ってどこ情報だよ
138デフォルトの名無しさん
2018/06/04(月) 09:38:25.44ID:96TokWOq C#になるんだろ?
139デフォルトの名無しさん
2018/06/04(月) 09:40:53.06ID:32OfKner Pythonがどーたらって噂のことだろ?
140デフォルトの名無しさん
2018/06/04(月) 09:58:55.52ID:CihK088i python使いたいならLibreOffice使えば?
141デフォルトの名無しさん
2018/06/04(月) 11:44:27.43 >>140
お前が顧客提案資料作れや
お前が顧客提案資料作れや
142デフォルトの名無しさん
2018/06/04(月) 12:59:52.11ID:qohlpDZb143デフォルトの名無しさん
2018/06/04(月) 13:05:50.36ID:cQm3JdMi 最終的にPDFにして送るんだからExcelにこだわる意味って…
144デフォルトの名無しさん
2018/06/04(月) 16:51:56.13ID:WB6Snd/w 年賀状やチラシ作りに便利だから。
145デフォルトの名無しさん
2018/06/04(月) 16:53:08.76ID:WB6Snd/w 昔の職人さんが包丁一本で生きていけたように、今はExcel一本あれば世界中どこでも生きていけるからな。
146デフォルトの名無しさん
2018/06/04(月) 22:01:00.33ID:6ovK7Hcq >>145
1行目に入ってる項目名がスワヒリ語だったとしても?
1行目に入ってる項目名がスワヒリ語だったとしても?
147デフォルトの名無しさん
2018/06/05(火) 00:37:41.87ID:kmw96iJg オブジェクト指向追加すればそれでいいよ
148デフォルトの名無しさん
2018/06/05(火) 08:34:48.88ID:G/CEeCgW フォルダ内にあるファイルがそれぞれどんな中身なのか、一つづつプレビューか開くかしないと判らず死にそう
1つずつ開いてスクリーンショット取らせるようにマクロ組んでみたけど、タイミング、ウインドウ表示の問題で上手く回収出来ないみたい
1つずつ開いてスクリーンショット取らせるようにマクロ組んでみたけど、タイミング、ウインドウ表示の問題で上手く回収出来ないみたい
149デフォルトの名無しさん
2018/06/05(火) 08:58:15.69ID:UBCugO63 何でもかんでも1つのブックに詰め込むからそれが何のためのブックなのか曖昧になる
そうなると適切なブック名を付けられなくなって中身が分からなくなるしエクスプローラーで見たときの検索性も低くなる
そしてエクセル使いはファイル数が少ない方が良いと言ってシートを増やしまくる傾向がある
チームでエクセルを使うならこのストレスには耐えるしかない
民主主義では数が多い方が正義だからね
そうなると適切なブック名を付けられなくなって中身が分からなくなるしエクスプローラーで見たときの検索性も低くなる
そしてエクセル使いはファイル数が少ない方が良いと言ってシートを増やしまくる傾向がある
チームでエクセルを使うならこのストレスには耐えるしかない
民主主義では数が多い方が正義だからね
150デフォルトの名無しさん
2018/06/05(火) 09:44:50.81ID:c3HnIfO1 エクセルは、データとスクリプトを分離しろ。
151デフォルトの名無しさん
2018/06/05(火) 09:48:35.29ID:thULTm5+ 今でもデータを別ファイルでもDBにしてもアクセス出来るじゃん
152デフォルトの名無しさん
2018/06/05(火) 10:06:06.95ID:c3HnIfO1 出来る。のと、そうなっている。の違いは大きいよな。
153デフォルトの名無しさん
2018/06/05(火) 10:43:20.56ID:thULTm5+ だからそうすればいいじゃんって事
154デフォルトの名無しさん
2018/06/05(火) 12:46:41.22ID:UEKC9tNA 馬鹿が使えは何でも無茶苦茶になる
155デフォルトの名無しさん
2018/06/05(火) 13:41:23.77ID:CXAeseow どこで聞いたら良いのかわからないのでここで…
4Kモニタ買ってDPIいじったらExcelのオートシェイプが歪んで印刷されるようになりました
この歪み具合というか補正係数みたいなのを導き出す方法ってありますか?
4Kモニタ買ってDPIいじったらExcelのオートシェイプが歪んで印刷されるようになりました
この歪み具合というか補正係数みたいなのを導き出す方法ってありますか?
156デフォルトの名無しさん
2018/06/05(火) 16:11:31.88ID:aRuW/xf4 縦にズラーっと1000以上データが入ってて
5回以上同じ値が連続するセルを色づけするvbaを作って貰えませんか?
入力ごとに自動実行してくれるとなおありがたいです
5回以上同じ値が連続するセルを色づけするvbaを作って貰えませんか?
入力ごとに自動実行してくれるとなおありがたいです
157デフォルトの名無しさん
2018/06/05(火) 16:50:03.63ID:UEKC9tNA >>156
死ねよ
死ねよ
158デフォルトの名無しさん
2018/06/05(火) 17:47:42.14ID:+pFd5tY5 >>156
失せな
失せな
159デフォルトの名無しさん
2018/06/05(火) 17:57:49.85ID:+rDnwov8 〜〜が出来ずに困っています、何かヒントをいただけたら有り難いのですが
と言ったら別に頭にこないだろ。作ってもらえませんかと言われただけで死ねとか失せろと言うのは、
表現だけに拘った愚かな対応だな。
と言ったら別に頭にこないだろ。作ってもらえませんかと言われただけで死ねとか失せろと言うのは、
表現だけに拘った愚かな対応だな。
160156
2018/06/05(火) 18:54:06.81ID:aRuW/xf4 すいません端折りすぎました
ほとんど自力で作成はできてるのですが、
判定させるほぼ全てのセルに計算式が入っていて、見かけ上は空白セルでも計算式の入ってる所は全て同じ値判定になって困っているのと
自動実行のやり方が分からないといった感じです
ほとんど自力で作成はできてるのですが、
判定させるほぼ全てのセルに計算式が入っていて、見かけ上は空白セルでも計算式の入ってる所は全て同じ値判定になって困っているのと
自動実行のやり方が分からないといった感じです
161デフォルトの名無しさん
2018/06/05(火) 18:58:20.64ID:thULTm5+ >>160
ランサーズとかに発注したら
ランサーズとかに発注したら
162156
2018/06/05(火) 19:01:53.33ID:aRuW/xf4 質問の仕方を間違えたみたいで申し訳ありません
自分のレスは忘れてください
スレ汚し済みませんでした
自分のレスは忘れてください
スレ汚し済みませんでした
163デフォルトの名無しさん
2018/06/05(火) 20:09:13.45ID:NEmYpB3L164デフォルトの名無しさん
2018/06/05(火) 20:14:15.59ID:2NfSKm9E >>163
これはネタなのか?文字化けなのか?
これはネタなのか?文字化けなのか?
165デフォルトの名無しさん
2018/06/05(火) 21:08:08.34ID:wUJpbb1/166デフォルトの名無しさん
2018/06/05(火) 21:50:13.58ID:c4uzLsyW >>156
作りかけのファイルアップしてくれたら何とかできるかも。
イベントの条件など、その人にしか分からないことが多いから自分でコード書くのが一番いいんだけど。例えばA列限定なのか、A列からJ列なのか、全ての列なのかでコードは変わってくるでしょう?
データも、縦方向に連続しているのか空白があるのか、空白が5行続いた場合どうするのか、空白と0を区別するのか、などなど。
あと、ここよりエクセル総合質問スレの方が親切な気がする。
作りかけのファイルアップしてくれたら何とかできるかも。
イベントの条件など、その人にしか分からないことが多いから自分でコード書くのが一番いいんだけど。例えばA列限定なのか、A列からJ列なのか、全ての列なのかでコードは変わってくるでしょう?
データも、縦方向に連続しているのか空白があるのか、空白が5行続いた場合どうするのか、空白と0を区別するのか、などなど。
あと、ここよりエクセル総合質問スレの方が親切な気がする。
167デフォルトの名無しさん
2018/06/05(火) 22:13:04.46ID:OTFnbEJY つーかそんだけ条件はっきりしてんならちょっと考えたらわかるやろ。しかもほとんど自力でって言ってんだし
168デフォルトの名無しさん
2018/06/06(水) 01:08:15.90ID:E+CHUf1c169デフォルトの名無しさん
2018/06/06(水) 04:28:37.07ID:CT76euXG170デフォルトの名無しさん
2018/06/06(水) 08:35:29.70ID:dirBD7kG 質問
再利用性高いプログラム書いたとしてそれをどこに保存してどう活用するの。
例えば〇〇出来るマクロ作れ!言われてファイル開く部分は前作ったsubプロシージャで良いなと思っても今は前のソースからコピペしてる
クソなことしてる自覚はあるけどどうすればクソ脱却するか分からん
再利用性高いプログラム書いたとしてそれをどこに保存してどう活用するの。
例えば〇〇出来るマクロ作れ!言われてファイル開く部分は前作ったsubプロシージャで良いなと思っても今は前のソースからコピペしてる
クソなことしてる自覚はあるけどどうすればクソ脱却するか分からん
171デフォルトの名無しさん
2018/06/06(水) 08:41:20.51ID:1qUEGpfN >>169
MIMEの文字コード種別の記述と実際の文字コードが違うとかあると、ブラウザによっては文字化けするよ。
MIMEの文字コード種別の記述と実際の文字コードが違うとかあると、ブラウザによっては文字化けするよ。
172デフォルトの名無しさん
2018/06/06(水) 09:47:21.88ID:zTT9nffr173デフォルトの名無しさん
2018/06/06(水) 10:32:45.85ID:cIbpUMGv >160
計算式が入っているってどういうことだろう
計算式が入っているってどういうことだろう
174デフォルトの名無しさん
2018/06/06(水) 10:47:00.30ID:E+CHUf1c >>170
Runで呼び出すのはどうでしょう
Runで呼び出すのはどうでしょう
175デフォルトの名無しさん
2018/06/06(水) 11:44:10.21ID:EAoXenc1176デフォルトの名無しさん
2018/06/06(水) 12:12:22.29ID:gabeefJ7177デフォルトの名無しさん
2018/06/06(水) 13:14:46.89ID:1VAtV2oI178デフォルトの名無しさん
2018/06/06(水) 14:59:12.02ID:Loe1X+88 クッソ、さっきから頭の中で小さな男女が楽しそうにマイムマイム踊ってやがる。
179デフォルトの名無しさん
2018/06/06(水) 17:28:57.66ID:r8NrOT0a 俺なんて引き出し開けたら大名行列がいたぞ
180デフォルトの名無しさん
2018/06/06(水) 17:56:03.28ID:JJ061DfG トイレの中に魔法使いがいる
181デフォルトの名無しさん
2018/06/06(水) 20:52:40.89ID:qbv3xFkn 机からメス猫形ロボットが出てきた
182デフォルトの名無しさん
2018/06/07(木) 00:52:14.51ID:l2af3llu シートをコピーして名前を付けるときにすでにそのシート名が存在し、重複した場合、メッセージとして、"既にその名前のシートは存在しているのでコピーしません。"
とメッセージボックスに表示し、シートをコピーしないようにしたいのですがどのようにすればよいのでしょうか。
現状は、重複する場合、コピーの元となったシートに(2)などデフォルトで付いてしまってこまっています。
どなたか教えていただけると幸いです。
とメッセージボックスに表示し、シートをコピーしないようにしたいのですがどのようにすればよいのでしょうか。
現状は、重複する場合、コピーの元となったシートに(2)などデフォルトで付いてしまってこまっています。
どなたか教えていただけると幸いです。
183デフォルトの名無しさん
2018/06/07(木) 01:04:11.81ID:0bVyIKBb184デフォルトの名無しさん
2018/06/07(木) 01:32:35.30ID:+AIz84RJ >>182
Private Sub hoge()
Dim title As String
Dim pro As String
Dim default As String
Dim rtn As String
On Error GoTo Errhd
ThisWorkbook.Worksheets(1).Copy after:=ThisWorkbook.Worksheets(1)
title = "シート名の入力"
pro = "追加したシート名の名前を入力して下さい"
pro = pro & vbCrLf & "キャンセルすると規定のシート名です"
default = "ここに入力してね"
rtn = InputBox(pro, title, default)
If Len(Trim(rtn)) <> 0 Then
ActiveSheet.Name = rtn 'ActiveSheetは使いたくないなー
End If
Exit Sub
Errhd:
If Err.Number = 1004 Then
MsgBox "シート名が重複してます。規定のシート名にします"
Else
MsgBox "エラー:" & Err.Description & "エラーNo:[" & CStr(Err.Number) & "]"
End If
End Sub
Private Sub hoge()
Dim title As String
Dim pro As String
Dim default As String
Dim rtn As String
On Error GoTo Errhd
ThisWorkbook.Worksheets(1).Copy after:=ThisWorkbook.Worksheets(1)
title = "シート名の入力"
pro = "追加したシート名の名前を入力して下さい"
pro = pro & vbCrLf & "キャンセルすると規定のシート名です"
default = "ここに入力してね"
rtn = InputBox(pro, title, default)
If Len(Trim(rtn)) <> 0 Then
ActiveSheet.Name = rtn 'ActiveSheetは使いたくないなー
End If
Exit Sub
Errhd:
If Err.Number = 1004 Then
MsgBox "シート名が重複してます。規定のシート名にします"
Else
MsgBox "エラー:" & Err.Description & "エラーNo:[" & CStr(Err.Number) & "]"
End If
End Sub
185デフォルトの名無しさん
2018/06/07(木) 06:57:02.78 >>184
VBAの前に日本語を勉強しようか
VBAの前に日本語を勉強しようか
186デフォルトの名無しさん
2018/06/07(木) 08:28:08.10ID:5slOqNk5187デフォルトの名無しさん
2018/06/07(木) 08:33:39.02ID:SHzt2OxM >>185
そだねー
そだねー
188デフォルトの名無しさん
2018/06/07(木) 12:07:36.63ID:iCODZEhm >>184
文法がすげぇ
文法がすげぇ
189デフォルトの名無しさん
2018/06/07(木) 18:44:38.31ID:7ubMCfWs プロさんはソースコードレビューでコメントの日本語の指摘ばかりうけるので
ここで日本語の指摘して憂さ晴らししとるんやで
察してさしあげろ
ここで日本語の指摘して憂さ晴らししとるんやで
察してさしあげろ
190デフォルトの名無しさん
2018/06/07(木) 21:10:45.98ID:3qk59262 カーネルナンチャラのいみがわからん
192デフォルトの名無しさん
2018/06/07(木) 21:42:02.76ID:WN2hA1TZ >>182
勝手に(2)になるってことは、シートのコピー自体をマクロでやってるってことかな?
1枚だけならともかく、複数シートのコピーとか考慮するとかなり難しいと思う。
1枚でも同じ名前があればコピー中止するのか、(2)になるのだけを中止するのか。
現在のコード見てみないとなんとも言えないを
勝手に(2)になるってことは、シートのコピー自体をマクロでやってるってことかな?
1枚だけならともかく、複数シートのコピーとか考慮するとかなり難しいと思う。
1枚でも同じ名前があればコピー中止するのか、(2)になるのだけを中止するのか。
現在のコード見てみないとなんとも言えないを
193デフォルトの名無しさん
2018/06/07(木) 21:47:48.41ID:uqa5AZHU foreachでシート名取得すればどうとでも出来ねーか?
194デフォルトの名無しさん
2018/06/07(木) 21:50:54.59ID:G9c1fl5R ForEachでWorksheetsコレクション回してコピー元のシート名と一致するか見れば済む話だろ
答える側のレベルも低すぎ
答える側のレベルも低すぎ
195デフォルトの名無しさん
2018/06/07(木) 22:29:02.37 For Each 回したりするくらいならこうだろ
Dim wks as Worksheet
On Error Resume Next
Set wks = Worksheets(sheetname)
On Error GoTo 0
If Not wks Is Nothing Then …(重複時の処理)…
Dim wks as Worksheet
On Error Resume Next
Set wks = Worksheets(sheetname)
On Error GoTo 0
If Not wks Is Nothing Then …(重複時の処理)…
196デフォルトの名無しさん
2018/06/07(木) 22:31:47.53ID:l2af3llu 182です。
みなさんありがとうございます。
今の状況はこんなコードです。
Dim i As Long
i = Worksheets("マスタ").Range("B3").Value
Worksheets("鑑").Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = i
というコードです。
みなさんありがとうございます。
今の状況はこんなコードです。
Dim i As Long
i = Worksheets("マスタ").Range("B3").Value
Worksheets("鑑").Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = i
というコードです。
197デフォルトの名無しさん
2018/06/07(木) 22:52:24.42ID:l2af3llu こんな表を書きたいのですが、どのようにコードを書けばいいのでしょうか?
http://iup.2ch-library.com/i/i1912882-1528379316.png
http://iup.2ch-library.com/i/i1912882-1528379316.png
198192
2018/06/07(木) 22:53:31.56ID:BzIZrc7A >>196
これならcopyの前に、その名前のシートがあるか判定してアラート出せばいいでしょ。
Sub test()
Dim myShName As String
Dim myWS As Worksheet
Dim myFlag As Boolean
myShName = Worksheets("マスタ").Range("B3").Value
For Each myWS In Worksheets
If myWS.Name = myShName Then
myFlag = True
End If
Next myWS
If myFlag = True Then
MsgBox "すでにあるためコピーしません", vbInformation
Else
Worksheets("鑑").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = myShName
End If
End Sub
これならcopyの前に、その名前のシートがあるか判定してアラート出せばいいでしょ。
Sub test()
Dim myShName As String
Dim myWS As Worksheet
Dim myFlag As Boolean
myShName = Worksheets("マスタ").Range("B3").Value
For Each myWS In Worksheets
If myWS.Name = myShName Then
myFlag = True
End If
Next myWS
If myFlag = True Then
MsgBox "すでにあるためコピーしません", vbInformation
Else
Worksheets("鑑").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = myShName
End If
End Sub
199デフォルトの名無しさん
2018/06/07(木) 22:53:51.61ID:l2af3llu ごめんなさい。197はスレを間違えました。失礼しました。
200192
2018/06/07(木) 22:59:58.47ID:BzIZrc7A >197
ふつうにマクロの記録でできると思います。
が、それをマクロでやる意味があるのかどうかは分かりません。
手作業でなくマクロを使いたいのはなぜ?
ふつうにマクロの記録でできると思います。
が、それをマクロでやる意味があるのかどうかは分かりません。
手作業でなくマクロを使いたいのはなぜ?
201デフォルトの名無しさん
2018/06/07(木) 23:28:43.72ID:NUSkSgba ID:l2af3llu
馬鹿過ぎ
馬鹿過ぎ
202デフォルトの名無しさん
2018/06/07(木) 23:43:46.34ID:DZn2zH5X excelはめんどくせえなぁ
203デフォルトの名無しさん
2018/06/08(金) 00:04:23.94ID:yxBs3du0 >>202
優しくしてねハート
優しくしてねハート
204デフォルトの名無しさん
2018/06/08(金) 01:15:25.48ID:4Sm8z/zL >>196
flgを立てないパターン。
Dim sheet_name As String
Dim ws As Worksheet
sheet_name = Worksheets("Sheet1").Range("B3").Value
For Each ws In Worksheets
If ws.Name = sheet_name Then
MsgBox "alert", vbInformation
Exit For
Else
If ws.Name = Worksheets(Worksheets.count).Name Then
Worksheets("Sheet1").Copy After:=Worksheets(Worksheets.count)
Worksheets(Worksheets.count).Name = sheet_name
End If
End If
Next
flgを立てないパターン。
Dim sheet_name As String
Dim ws As Worksheet
sheet_name = Worksheets("Sheet1").Range("B3").Value
For Each ws In Worksheets
If ws.Name = sheet_name Then
MsgBox "alert", vbInformation
Exit For
Else
If ws.Name = Worksheets(Worksheets.count).Name Then
Worksheets("Sheet1").Copy After:=Worksheets(Worksheets.count)
Worksheets(Worksheets.count).Name = sheet_name
End If
End If
Next
205デフォルトの名無しさん
2018/06/08(金) 01:45:24.10ID:r8MI6JEs ファイルの上書き保存を禁止するマクロって組めるの?
それともファイルを開いたら自動的に複製が作られるようなのを組んだ方が楽かな
チームで1つのファイルを使ってて加筆することはあっても消す事は出来ないようにしたい
それともファイルを開いたら自動的に複製が作られるようなのを組んだ方が楽かな
チームで1つのファイルを使ってて加筆することはあっても消す事は出来ないようにしたい
206192
2018/06/08(金) 02:24:44.07ID:gKLQw3te >>205
before save イベントで、ある程度はできそうだけど、「上書き保存できないように」「加筆することはあっても消すことはできない」あたりが、ちょっと何をしたいのかよく分からないですね。
before save イベントで、ある程度はできそうだけど、「上書き保存できないように」「加筆することはあっても消すことはできない」あたりが、ちょっと何をしたいのかよく分からないですね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 中国人「高市早苗が首相になってからの日本での中国人観光客の1日がこれらしいw」中国でバカウケ [165981677]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- >>3と>>5のワードを使ってai生成する
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- ガバガバなんだよ
