!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
Excel VBA 質問スレ Part71
https://mevius.5ch.net/test/read.cgi/tech/1621914481/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part73
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 4668-xJJl)
2021/09/13(月) 07:29:59.47ID:GNx0xRRz0352デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/09(土) 08:57:09.18ID:g5OHjBNSd 会社は社員に楽させたいと思ってるわけじゃない、という大前提
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
人材なんて時間いっぱい、めいっぱい働かせてナンボ
安いアプリを買って、あとは社員にやらせて、それで回ってるなら何も問題ないんだよ
353デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 09:27:27.16ID:0Qsp0NFP0 高い金出して高価な専用ソフト使うくらいなら
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
多少残業代だしてもいいからボロソフト使ったほうが安上がりだからな
354デフォルトの名無しさん (ワッチョイ 4a42-sdlf)
2021/10/09(土) 09:42:15.79ID:58+qPlR+0 エクセルはマス目状に文章を入力できるソフトぐらいにしか思ってない人もいるしなあ
355デフォルトの名無しさん (スププ Sdea-J+i2)
2021/10/09(土) 15:35:55.10ID:8vFa8kgUd356デフォルトの名無しさん (アウアウエー Sac2-U6Q3)
2021/10/09(土) 20:10:49.92ID:J89rndhPa セル結合せずにせめて広げろや、とは思う
357デフォルトの名無しさん (ブーイモ MM86-ir1/)
2021/10/09(土) 20:26:49.65ID:XLSjDb/pM セル結合とvlookupをディスってようやくエクセル使いとして一人前
358デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 20:30:33.16ID:0Qsp0NFP0 べつにvlookupは悪くないだろ俺は使いたくないけど
359デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:58:23.98ID:ZXG2HktNM >俺は使いたくないけど
さりげないアピール
さりげないアピール
360デフォルトの名無しさん (ブーイモ MM4f-ir1/)
2021/10/09(土) 20:59:19.46ID:ZXG2HktNM >俺は使いたくないけど
さりげなさを装ったアピール
さりげなさを装ったアピール
361デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/09(土) 21:05:39.47ID:LYlfiTybM VLOOKUPディスってるのは情弱だろ
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
2016からめっちゃ高速化されてるから数万行ぐらいなら普通に使える
362デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/09(土) 21:11:18.66ID:0Qsp0NFP0 高速化とかどうでも良い
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
左端しかデータが使えないのが不便
無駄な検索用データが全部左端に固まる
363デフォルトの名無しさん (ササクッテロレ Sp03-+BSw)
2021/10/10(日) 06:43:03.77ID:LB6rENWtp 個人的に使いたい使いたくないは仕方がない
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
適材適所で最適解を出す手段に自ら縛りを掛けているだけだから
それで他の人に迷惑掛けている訳でなければとやかく言う筋合いでも無いしな
364デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 08:15:02.57ID:AQQzB40DM365デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 10:34:27.64ID:iKRuQHQv0 index matchでええやん
366デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 15:09:30.75ID:2USb7I2AM MATCHはいちいちIFERROR組み込まなきゃいけないから式が冗長になりがちであんまり好きくない
367デフォルトの名無しさん (スフッ Sdea-JSxF)
2021/10/10(日) 15:39:33.06ID:wqZqaK12d そもそもスピードは求めてない
元データを1日に何回もアップデートするわけじゃないし
元データを1日に何回もアップデートするわけじゃないし
368デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 15:46:10.06ID:iKRuQHQv0 >>366は何使ってんの?
369デフォルトの名無しさん (ブーイモ MM4f-Wbmm)
2021/10/10(日) 16:04:08.10ID:2USb7I2AM >>368
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
あんまり関数でデータベース検索かけたくないけどかけなきゃいけないならXLOOKUP、自分以外が使う可能性があるならVLOOKUPかHLOOKUPかなぁ
状況に合わないならMATCHも使うけど使用優先度は低め
VBAにやらせる時も中に確実に存在する場合でなければRange型にFind使って放り込む事が多いかも
Is Nothingで見つからない場合でも処理が止まらずに弾けるし
370デフォルトの名無しさん (ワッチョイ 9e68-JSxF)
2021/10/10(日) 16:23:38.63ID:iKRuQHQv0371デフォルトの名無しさん (ドコグロ MMdf-sB7P)
2021/10/10(日) 16:30:18.62ID:6uQRu7X1M372デフォルトの名無しさん (ワッチョイ 67da-JSxF)
2021/10/10(日) 16:51:12.87ID:JSJMRLhD0 ある行を内容の変更は自由にできるけど削除できないようにすることはできますか?
373デフォルトの名無しさん (ワッチョイ cb01-VEx9)
2021/10/10(日) 17:26:53.27ID:rp73utgy0 それ、ここでする質問?
374デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/10(日) 17:53:50.05ID:19DRUExW0375デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/10(日) 18:04:32.90ID:u+pPz2Uo0 ゴミみたいな回答ばかり
376デフォルトの名無しさん (ワッチョイ 9eda-h0Ad)
2021/10/10(日) 19:05:42.11ID:eL4HRu610 じゃあ、ゴミじゃない回答よろ
377デフォルトの名無しさん (ワッチョイ 03d0-Oubo)
2021/10/10(日) 19:35:34.55ID:rFwRYXWV0 「削除できないように」というのが:
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
・「セルや行の削除をできないようにしたい」→シートの保護で対処
・「値の変更はできるが消去(空欄に)できないようにしたい」→入力規則で対処
378デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/10(日) 20:12:04.54ID:eL4HRu610 対処の方法がわからないのかと思ったら、対処する方法があるのかどうかの質問だったのかw
379372 (ワッチョイ 67da-JSxF)
2021/10/11(月) 00:26:21.39ID:Z2LLk70Q0380デフォルトの名無しさん (ワッチョイ 635f-hK1x)
2021/10/11(月) 14:09:59.80ID:7nZn8gcC0381デフォルトの名無しさん (ワッチョイ 67da-jfFw)
2021/10/11(月) 14:59:32.76ID:Z2LLk70Q0382デフォルトの名無しさん (アウアウクー MM43-tvk4)
2021/10/11(月) 18:57:29.54ID:nQqo0+vnM 空白に編集する場合とかどう取り扱うつもりなんだろう
383デフォルトの名無しさん (ワッチョイ de10-J+i2)
2021/10/11(月) 20:49:58.25ID:SLAXBehE0 クビか配置転換したほうがよいかと
384デフォルトの名無しさん (ワッチョイ 0b8e-o/se)
2021/10/11(月) 21:18:23.92ID:oro4FUng0 馬鹿でもある程度作れてしまうからダメなんだよな
385デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/12(火) 18:51:44.09ID:F8L1eENx0 それを求める環境が悪い
386デフォルトの名無しさん (ワッチョイ 9eda-JSxF)
2021/10/14(木) 18:44:35.26ID:FbYeSmKT0 空白は削除じゃないんじゃね
387デフォルトの名無しさん (オッペケ Sr03-iuVz)
2021/10/14(木) 19:05:30.78ID:DEjpZ/5cr メーカー開発設計だけど実験データ処理とかで
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
なれないながら頑張ってvba使ってるけど
試行錯誤で調べながらだからあんまりシート使ってるときと比べて効率化できてる気がしない…
でもシートでチマチマするよりは知的労働してる気がするし
いつかのペイオフを期待するわ
388デフォルトの名無しさん (ワッチョイ 0310-1otZ)
2021/10/14(木) 20:42:17.77ID:BHqqoV+20 あるレベルを超えると突然やりたいことはこうやりゃいいじゃんってなってバリバリ書けるようになる
389デフォルトの名無しさん (ワッチョイ 0668-Mxyx)
2021/10/14(木) 22:26:04.22ID:FxTzsGq40 set覚えてオブジェクトの概念覚えてイベントを理解してしばらくするとほぼ全ての場面で対応できるようになる
390デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 06:17:54.01ID:YCIon6in0 色々覚えて余計な知識が付いてきて、
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
これはもっと綺麗に書けるんじゃないか?っていう欲が出て進まなくなる事が増えたんだけどどうすりゃいいのか
今までは明らかに冗長で読みづらいコードが多かったけど、生産性で見れば高かったように思う
特にプログラミング自体に興味が出てきて他の言語の記事も見るようになって、
そこで得た知識をVBAで無理に再現しようとしてドツボに嵌る事態も多いように感じる
391デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 07:30:19.61ID:xvvRRo/+0 >>390
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
まず単一責任原則に沿って作るといいよ。
つらつらとコードを一直線に書くんじゃなくて、
役割に合わせてメソッドや関数を作って
それを部品として組み立てて行くイメージ。
後、他言語をやっていてクラスや
インターフェースの概念を理解しているなら
行き当たりばったりで最初からコードを
書くんじゃなくてどういう構成で組むかを
一度図に書いてイメージしてから作るといいよ。
そのためにもUMLとかもかじっておくと
いいんじゃないかな。
後は暇なときにデザインパターンの本でも
読んでおいて使えそうなのだけ
使えばいいんじゃないかな。
ただ、VBAでは自分一人で使うんであれば
それでいいけど、後々人が見たり手を入れたり
することを考えると、やり過ぎると
そもそもその辺の概念を理解していない
人が多いからね。自分以外誰も触れない
オナニーコードの完成だよ。
その辺は気を付けないとね。
392デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/15(金) 07:53:52.36ID:i1GdH9Fr0393デフォルトの名無しさん (ゲマー MM3f-/SeR)
2021/10/15(金) 08:56:32.98ID:Ob8xTIA6M メソッドが3つ以上にできそうなときはクラスを検討する
394デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
2021/10/15(金) 09:22:10.96ID:Y66b/sjXM 美しさより速さだよ
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
最初の頃は両立するが(無駄なSelectなど)
次第によ醜くなっていく
395デフォルトの名無しさん (エムゾネ FFbf-mxW8)
2021/10/15(金) 10:10:42.08ID:Sjupi756F もう3年くらいExcel使ってないけど全然困らないωωω
396デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/15(金) 11:34:26.87ID:r1bpZsgJ0 ふーん
397デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/15(金) 20:36:17.72ID:WLz9ti2OM >>395
なんでこのスレに居るの?
なんでこのスレに居るの?
398デフォルトの名無しさん (ワッチョイ 6b01-18WC)
2021/10/15(金) 21:42:47.27ID:YCIon6in0 >>391,392
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
ありがとう
分けた方がスッキリするんだけど、
分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
そういう時に「どこまで分けるか」っていう塩梅はどういう基準で決めてる?
399デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/15(金) 22:02:32.86ID:xvvRRo/+0 >>398
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
役割。
モジュールもメソッドも全てに役割分担を持たせてキチンと仕舞うべき場所に仕舞っておく。
だからその役割を行う為なら100行になろうが1000行になろうがそのメソッドに記載する。
何を持ってしてひとつの役割とするかは作る人のセンスに掛かってくるから場数をこなして慣れるしかないかな。
400デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/15(金) 22:06:51.27ID:xdjJa8Ad0401デフォルトの名無しさん (ワッチョイ ab5f-UsRe)
2021/10/16(土) 13:55:14.29ID:Hx8OP0An0 >>398
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
> 分けすぎると逆に関数があっちこっちに分散してどれが何に使われているのか分かり辛くなる
関数にカーソル合わせて「Shift+F2」で定義箇所に飛べるよ
https://www.wordvbalab.com/code/2925/
まあ言語自体も開発環境も貧弱すぎるからまとめたくなっちゃう感覚はわかるけど
402デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 16:39:05.71ID:EZGI4ZK10 調べてもわからないのでお聞きしたいです
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
下の処理でtest3まで処理は正常に行われるんですが
mainに戻ったときに型の不一致でエラーが出て止まってしまいます。
Dim WS As Worksheet
Sub main()
Call test3(TEMP_SHEET)
End Sub
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
Set WS = TEMP_SHEET
End Function
Function test3() As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
403デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 16:51:56.90ID:a6cW1Kja0 test3()なのにcallで引数渡そうとしてる
404デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:03:21.91ID:cq/EQnSr0 VariantにはArrayとかも入るから ()付けても書式エラーにはならないのかな
405デフォルトの名無しさん (ワッチョイ 5bda-ir6K)
2021/10/16(土) 17:06:32.68ID:eJomN4xc0406デフォルトの名無しさん (ワッチョイ fbe6-twAR)
2021/10/16(土) 17:09:51.40ID:cq/EQnSr0 test3の実行後にエラーになるのがこの質問のミソだと思うよ
407デフォルトの名無しさん (ブーイモ MM4f-ZO17)
2021/10/16(土) 17:43:21.23ID:nAOL9IkjM >>402
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
そもそも「test3までは正常」というのが間違い
これではまったく動かない
とりあえず動くようにするなら、たとえばこう書けばいい
ほかにも色々なパターンが考えられるけど、何がやりたいのかよくわからないので
Dim WS As Worksheet
Sub main()
Call TEMP_SHEET
Call test3
End Sub
Sub TEMP_SHEET()
Set WS = ThisWorkbook.Worksheets("temp")
End Sub
Sub test3()
With WS
.Select
.Cells(1, 1) = "test"
End With
End Sub
408デフォルトの名無しさん (ワッチョイ 2b10-c8v8)
2021/10/16(土) 18:35:14.73ID:Pp6vdwK70 確かにこれではtest3は動かない
409デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/16(土) 18:36:14.79ID:njPM+lzE0 >>402
test3まで処理が正常に行われたなら気にしなくていいんじゃね
test3まで処理が正常に行われたなら気にしなくていいんじゃね
410デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 18:46:34.14ID:m1u7MgLp0 ステップ実行させたら確かにtest3実行するな
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
こんなのコンパイルエラーで良いと思うんだが、なかなか興味深い
411デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 18:57:45.79ID:EZGI4ZK10 ありがとうございます!
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
test3はsubでよかったんですね。
参考にしながらいろいろ試したらできました。
すごく助かりました。
412デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/16(土) 19:30:00.02ID:m1u7MgLp0 いや、問題はSubかFunctionかじゃないんだが
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
FunctionをCallしても、戻り値が捨てられるだけで別に問題はないぞ
名前の付け方がまあアレだが
Dim WS As Worksheet の行消して
Function TEMP_SHEET() As Worksheet
Set TEMP_SHEET = ThisWorkbook.Worksheets("temp")
End Function
Function test3(WS As Worksheet) As Variant
With WS
.Select
.Cells(1, 1) = "test"
End With
End Function
とかで動くだろ
413デフォルトの名無しさん (ワッチョイ 6b01-Avck)
2021/10/16(土) 20:00:16.92ID:EZGI4ZK10 >>412
ありがとうございます。すごく勉強になりました。
ありがとうございます。すごく勉強になりました。
414デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/16(土) 21:23:47.08ID:aQ5UbG+6a 最終の答え得るためにいくつの関数に分けるか、というのはどうやったら身につくんでしょうか
415デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/16(土) 21:32:26.89ID:a6cW1Kja0 分けたくなったら分ければいい
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
・朝起きる
・トイレ
・歯磨き
・食事
・デンタルフロス
・着替え
・家出る
寝起きのルーチンとしてトイレ歯磨きをセットとするとか
無い時もある食事デンタルフロスをセットとするとか
歯磨きが先なのは寝起きで飲み食いが嫌で個人的な事だから異論はあると思う
416デフォルトの名無しさん (ワッチョイ 0fb0-TpuX)
2021/10/16(土) 21:49:34.88ID:CDLajE+o0417デフォルトの名無しさん (アウアウエー Sa3f-qeGn)
2021/10/17(日) 09:01:15.98ID:MVHP31+Wa418デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 11:37:36.37ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
419デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 11:41:00.73ID:Vlp9RG+s0 余裕で可能
420デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 11:47:00.68ID:rQoWwir60421デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/17(日) 12:11:29.02ID:ZLWKnlAP0422デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:14:56.83ID:rQoWwir60 なんでExcelファイル操作するのにRubyスレから来るんだよ
423デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:16:45.71ID:LVwZEVKT0 別スレから来ました
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
A1 会社名 B1仕事の項目 C1整理番号
B1の項目に従って規定のExcelファイルを開いてA1の会社名とC1の整理番号を合体して名前をつけて保存っていう操作をしたいんだけど、これはVBAで出来ますか?
別件ですがVBAでオススメの書籍があれば教えてください
424デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 12:18:39.23ID:rQoWwir60 頭おかしくなったのか?
425デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 12:19:45.69ID:LVwZEVKT0 ブラウザバックしたら投稿した
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
すまない
Excel質問スレから来た
>>420
名前をつけて保存の前にいろいろやろうとは思ってるけど、VBA素人だからとりあえず名前をつけて保存までにしようと
VBAで出来ることはわかったのでダイマでもステマでもいいのでオススメの書籍を教えてください
426デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 12:22:55.44ID:Vlp9RG+s0 だってルビースレから来た時点で質問が目的じゃなくて
最終的にルビーコード貼り付けてどやーするのが目的の人だし
最終的にルビーコード貼り付けてどやーするのが目的の人だし
427デフォルトの名無しさん (ワッチョイ 2bb1-SdPo)
2021/10/17(日) 13:08:15.77ID:LVwZEVKT0 ルビースレってそもそもなんなのかって状態なんだが…
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
この板はブラウザバックで二重投稿した程度で中傷くらったりするのか?
エクセルのVBAについて質問してるのに全然違う答え返ってくるし
428デフォルトの名無しさん (ブーイモ MM4f-gSog)
2021/10/17(日) 13:55:19.97ID:l76d9bPwM ニヤニヤ
429デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/17(日) 14:58:05.05ID:OE8yqt320 >>425
自分で本屋に行って内容を確認しようとは思わないのか?
自分で本屋に行って内容を確認しようとは思わないのか?
430デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 15:24:33.87ID:rQoWwir60 >>425
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
B1の項目に従ってというのが謎なので気を利かせて絶対パスで指定のファイルを開くようにしたよ。
ちなみに5ちゃんに書くとファイルパスの¥マーク書けないから半角に直してね。
思ってた動きと違うと言うなら自分の質問200回音読してから書いてね。
動作が不足してるならちゃんと質問のここが出来てないって書いてね。
使い方
・データを打ち込んでるブックで、処理させたいデータの行のどの列でもいいから選択しておく
・マクロ実行
・指定したファイルに選択した行のA列+C列のデータの名前で名前をつけて保存される
─────────────────────
Sub test()
Gyo = Selection.Row
Data0 = Cells(Gyo, 1).Value
Data1 = Format(Cells(Gyo, 3), "000")
Namae0 = ThisWorkbook.Path & "¥" & Data0 & Data1 & ".xlsx"
Namae1 = Data0 & Data1 & ".xlsx"
Workbooks.Open "C:\Users\*****.xlsx"
Workbooks("*****.xlsx").SaveAs Filename:=Namae0
Workbooks(Namae1).Close
End Sub
431デフォルトの名無しさん (ワッチョイ 8b01-UJka)
2021/10/17(日) 15:26:59.96ID:Vlp9RG+s0 あーあルビーキチガイに無駄なエネルギー使ってる
432デフォルトの名無しさん (ワッチョイ bb5f-n10C)
2021/10/17(日) 15:28:04.20ID:XdTFVkom0 ツンデレで草
433デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 16:11:59.85ID:lULOB+dMM >>430
> Workbooks.Open "C:\Users\*****.xlsx"
> Workbooks("*****.xlsx").SaveAs Filename:=Namae0
> Workbooks(Namae1).Close
こんなふうに書く人いるけどなんで
Dim Book As Workbook
Set Book = Workbooks.Open("C:\Users\*****.xlsx")
Book.SaveAs Filename:=Namae0
Book.Close
って書かないのか不思議だ
> Workbooks.Open "C:\Users\*****.xlsx"
> Workbooks("*****.xlsx").SaveAs Filename:=Namae0
> Workbooks(Namae1).Close
こんなふうに書く人いるけどなんで
Dim Book As Workbook
Set Book = Workbooks.Open("C:\Users\*****.xlsx")
Book.SaveAs Filename:=Namae0
Book.Close
って書かないのか不思議だ
434デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/17(日) 19:08:06.14ID:F19IWtWk0435デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 19:23:15.59ID:6d2YQk+QM なるほど、結構基本的なことだと思ってたけどそうでもないんかな
シートでも Worksheets("sheet1").~ って書いてる人をよく見る
シートでも Worksheets("sheet1").~ って書いてる人をよく見る
436デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 19:27:41.57ID:rQoWwir60437デフォルトの名無しさん (スップ Sdbf-4axQ)
2021/10/17(日) 19:29:03.49ID:QrrwaG0ad 後続の処理でworkbookオブジェクトを使わないならWithで纏めちゃうな
With Workbooks.Open("C:\Users\*****.xlsx")
.SaveAs Filename:=Namae0
.Close
End With
こんな感じで
With Workbooks.Open("C:\Users\*****.xlsx")
.SaveAs Filename:=Namae0
.Close
End With
こんな感じで
438デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/17(日) 19:31:49.54ID:rQoWwir60 >>437
一行ごとに処理書いてる感なくてスマートでええな。
一行ごとに処理書いてる感なくてスマートでええな。
439デフォルトの名無しさん (ワッチョイ bb5f-sb4T)
2021/10/17(日) 21:41:34.16ID:TEYo+ExJ0 Withは便利だけど積極的には使わない派
後で見返す時にわけわからなくなるから
後で見返す時にわけわからなくなるから
440デフォルトの名無しさん (ワッチョイ fb63-73Qd)
2021/10/17(日) 21:43:33.55ID:80TNtCCb0 ネストしたwithを見たらエディタ閉じるわ
441デフォルトの名無しさん (スップ Sdbf-ZO17)
2021/10/17(日) 21:48:12.01ID:eFAt1kMMd442デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/17(日) 21:51:58.87ID:W9ZcRzM1M 扱うオブジェクトが1つならいいけど複数あったりサブルーチンに渡したりする時もあるから
443デフォルトの名無しさん (ワッチョイ ef68-VjlT)
2021/10/17(日) 22:22:04.64ID:F19IWtWk0444デフォルトの名無しさん (ワッチョイ 9f4f-/GGz)
2021/10/18(月) 00:37:42.11ID:48un5MBo0 以前VB6スレでもWith Newを使ってる人がいて論議になったことがあったね。
俺はこの方法は有りだと思う。
ひとつしか使えないけど関数やメソッドの中で唯一ひと階層下のスコープを設定出来る方法だからそれを意識した使い方なら。
ただこの方法であまり長いロジックを組むのは確かに可読性に宜しくないのも同意。
だから使いどころに気をつけながら使う方法だと思うよ。
俺はこの方法は有りだと思う。
ひとつしか使えないけど関数やメソッドの中で唯一ひと階層下のスコープを設定出来る方法だからそれを意識した使い方なら。
ただこの方法であまり長いロジックを組むのは確かに可読性に宜しくないのも同意。
だから使いどころに気をつけながら使う方法だと思うよ。
445デフォルトの名無しさん (スプッッ Sd3f-ZO17)
2021/10/18(月) 00:52:44.24ID:5AqMk2S7d オブジェクトを抱えるWithはSubやFunctionとセットで使うんだよ
1つのSubには一つのWith
それ以上になる時は機能を詰め込みすぎだから分割すべき
1つのSubには一つのWith
それ以上になる時は機能を詰め込みすぎだから分割すべき
446デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/18(月) 01:37:56.48ID:Zxhiy8zv0447デフォルトの名無しさん (ワッチョイ 9fad-gFAa)
2021/10/18(月) 07:58:42.77ID:Xmojsja+0 複数のファイルじゃなくて複数のフォルダを選択する方法はありますか?
448デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/18(月) 08:17:54.78ID:iA8avgoCM449デフォルトの名無しさん (アウアウウー Sacf-8a12)
2021/10/19(火) 05:36:51.83ID:s00hPK6/a クリックする
450デフォルトの名無しさん (オッペケ Sr0f-gFAa)
2021/10/19(火) 13:51:25.65ID:DDPhMqNbr パワポもvbaで操作している人はいますか?
また手っ取り早く時短できる部分はありますか?
また手っ取り早く時短できる部分はありますか?
451デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/19(火) 14:28:41.78ID:P0vvwNoGM >>450
Excel のデータを50枚ぐらいにスライドに整形して表示するって言うのをVBAでやったよ
Excel のデータを50枚ぐらいにスライドに整形して表示するって言うのをVBAでやったよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【朗報】維新「高市さんは約束を守ってくれている」連立継続へ [519511584]
- ハロワって客層悪すぎるだろwwwwwwwwwwwww
- オナニーするか😔
- VIPスクリプトだらけでワロタwwwwwwwww
