!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:GNx0xRRz0417デフォルトの名無しさん (アウアウエー 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でやったよ
452デフォルトの名無しさん (オッペケ Sr0f-gFAa)
2021/10/19(火) 16:06:34.91ID:DDPhMqNbr453デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/19(火) 16:21:20.09ID:4aO6vjST0 >>452
横槍だけどリンク先ちゃんと下まで読んだ?
横槍だけどリンク先ちゃんと下まで読んだ?
454デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/19(火) 16:32:01.94ID:wN2ah2c70 全くの初心者です
元エクセルファイルを、そのファイル内の特定のシートの特定のセルないの文字(名前)でフォルダを作成し(作成階層は元エクセルファイルがある場所)、そのフォルダ内にフォルダと同じ名前で元エクセルファイルを出力したいです
検索してみてそれっぽいコードを実行してみましたが上手く行かないか1004のエラーが出てしまうので、できれば教えていただきたいです
元エクセルファイルを、そのファイル内の特定のシートの特定のセルないの文字(名前)でフォルダを作成し(作成階層は元エクセルファイルがある場所)、そのフォルダ内にフォルダと同じ名前で元エクセルファイルを出力したいです
検索してみてそれっぽいコードを実行してみましたが上手く行かないか1004のエラーが出てしまうので、できれば教えていただきたいです
455デフォルトの名無しさん (ブーイモ MM7f-ZO17)
2021/10/19(火) 17:37:09.15ID:4z76YikWM >>454
まずは自分で作ったプログラムをここに貼って
まずは自分で作ったプログラムをここに貼って
456デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/19(火) 17:40:33.12ID:mCqSTcWyM >>454
流石にエスパーじゃないからそれだけの情報じゃなんとも言えんが、
ファイルの指定が間違ってる可能性がありそう
エラーが出たときにデバッグってボタン押したらどんな命令文の背景が変わってる?
省略しないでその文を一字一句違わず書いてみ?
流石にエスパーじゃないからそれだけの情報じゃなんとも言えんが、
ファイルの指定が間違ってる可能性がありそう
エラーが出たときにデバッグってボタン押したらどんな命令文の背景が変わってる?
省略しないでその文を一字一句違わず書いてみ?
457デフォルトの名無しさん (ワッチョイ 2b8e-ToKj)
2021/10/19(火) 18:02:38.90ID:ukSaGu280 実行してるファイルと同じ名前はダメだろ
458デフォルトの名無しさん (ワッチョイ 5bda-ir6K)
2021/10/19(火) 20:26:31.01ID:DOUatBbL0 >>457
元のファイルがあるフォルダーのサブフォルダーに格納されるんで同じ名前でも大丈夫だよ。
元のファイルがあるフォルダーのサブフォルダーに格納されるんで同じ名前でも大丈夫だよ。
459デフォルトの名無しさん (アウアウウー Sacf-8a12)
2021/10/20(水) 00:29:04.94ID:P5tYW80ga 質問者の勘違いとエスパーしたんじゃね
460デフォルトの名無しさん (スフッ Sdbf-ZO17)
2021/10/20(水) 00:47:36.84ID:Xbyc9Pekd わたしは、エスパー
今、質問者の脳内に、直接、回答を送っています
わたしは、エスパー
今、質問者の脳内に、直接、回答を送っています
わたしは、エスパー
461デフォルトの名無しさん (スフッ Sdbf-ZO17)
2021/10/20(水) 00:49:43.99ID:Xbyc9Pekd 残念です
夜中なので、質問者は、寝てました
残念です
夜中なので、質問者は、寝てました
残念です
462デフォルトの名無しさん (ワッチョイ 9f02-Avck)
2021/10/20(水) 00:53:24.04ID:VLQwVQRS0 なぜプログラム板でExcelVBAのスレが活発なのよ?
日本終わってんな
日本終わってんな
463デフォルトの名無しさん (ワッチョイ 2b10-8HLh)
2021/10/20(水) 03:43:52.55ID:gq1XFNWx0 労働者の多くがExcel使ってんだから需要からしたら普通だろ
464デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/20(水) 06:13:11.55ID:RXqG14DY0 まぁ年収ランキングとしてもそこそこ高い位置にいるし当然と言えば当然だな
https://xtech.nikkei.com/atcl/nxt/column/18/01068/111100004/
https://xtech.nikkei.com/atcl/nxt/column/18/01068/111100004/
465デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/20(水) 10:35:33.40ID:Nii7YXA70 >>462
なんでRubyスレにいかないの?
なんでRubyスレにいかないの?
466デフォルトの名無しさん (スップ Sdbf-ZO17)
2021/10/20(水) 10:37:34.01ID:cqpH7rMEd プログラマーじゃない人もたくさん使ってるから
人が増えるのは必然
人が増えるのは必然
467デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/20(水) 17:58:56.42ID:DdoeWcxm0 >>456
https://lilia-study.com/excel/vba-sample/cellvalue-save/
Sub hozon()
Dim wb As Workbook
Dim ws As Worksheet
Dim hozonPath As String
Dim FolName As String
Dim FilName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
hozonPath = “K:\”
FolName = ws.Range(“A1”).Value
FilName = ws.Range(“A2”).Value
wb.SaveAs Filename:=hozonPath & FolName & “\” & FilName
End Sub
このvbaで
A1=A2にして、hozonPathをThisWorkbook.Pathにしたりすればできるかな?と思ったのですが上手く行かずです…
https://lilia-study.com/excel/vba-sample/cellvalue-save/
Sub hozon()
Dim wb As Workbook
Dim ws As Worksheet
Dim hozonPath As String
Dim FolName As String
Dim FilName As String
Set wb = ThisWorkbook
Set ws = ActiveSheet
hozonPath = “K:\”
FolName = ws.Range(“A1”).Value
FilName = ws.Range(“A2”).Value
wb.SaveAs Filename:=hozonPath & FolName & “\” & FilName
End Sub
このvbaで
A1=A2にして、hozonPathをThisWorkbook.Pathにしたりすればできるかな?と思ったのですが上手く行かずです…
468デフォルトの名無しさん (ブーイモ MMcf-W6vP)
2021/10/20(水) 18:30:57.52ID:3UsBchoVM ThisWorkbook.Pathにはケツの¥が付いてないから
ThisWorkbook.Path & ”¥” & FolName & “\” & FilName
に書き換えてみ
ThisWorkbook.Path & ”¥” & FolName & “\” & FilName
に書き換えてみ
469デフォルトの名無しさん (ワッチョイ 4b68-ZO17)
2021/10/20(水) 18:49:10.89ID:YqKlvam70 \
"
半角にしてね
"
半角にしてね
470デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
2021/10/20(水) 20:45:15.20ID:Es2OjjC60 >>467
お前のPCにK:ドライブは存在するのか?
とりあえず
wb.SaveAs のまえに、
MsgBox hozonPath & FolName & “\” & FilName
いれて、表示された内容をかけ
個人名とか入ってたら適当に隠せよ
お前のPCにK:ドライブは存在するのか?
とりあえず
wb.SaveAs のまえに、
MsgBox hozonPath & FolName & “\” & FilName
いれて、表示された内容をかけ
個人名とか入ってたら適当に隠せよ
471デフォルトの名無しさん (ワッチョイ efda-KUiw)
2021/10/20(水) 22:22:06.11ID:mCILNp7G0 超初心者です
以下の対応をさせたいです
@シートを支店分だけ増やす
Aシート名をそれぞれ「支店一覧」A2〜A18の支店名にする
B作成したシートのB5に支店名を入れる
C作成したシートの表のA列が"0"になっている行を削除する
D作成したシートのオートフィルタを解除する
以下のものではエラーになりますが、どこが悪いのでしょうか
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店一覧").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
以下の対応をさせたいです
@シートを支店分だけ増やす
Aシート名をそれぞれ「支店一覧」A2〜A18の支店名にする
B作成したシートのB5に支店名を入れる
C作成したシートの表のA列が"0"になっている行を削除する
D作成したシートのオートフィルタを解除する
以下のものではエラーになりますが、どこが悪いのでしょうか
Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店一覧").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
Range("B3").AutoFilter
End With
Next 支店名
End Sub
472471 (ワッチョイ efda-KUiw)
2021/10/20(水) 22:24:48.55ID:mCILNp7G0 Cは「B列が"0"になっている行を削除する」の誤りでした
473デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/20(水) 22:37:03.53ID:SCNNHF4n0 とりあえずここだと思う
下の方はサンプル作ってくれれば試すけど、手元にないからよくわkらん
Sub シート作成()
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
下の方はサンプル作ってくれれば試すけど、手元にないからよくわkらん
Sub シート作成()
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
474471 (ワッチョイ efda-KUiw)
2021/10/20(水) 22:41:41.27ID:mCILNp7G0 >>473
大変失礼いたしました
あるページからコードをコピーしてきたときに修正し忘れました
実際は名前→支店名にしていましたが、エラーとなっていました
エラーの内容の詳細が必要でしたら、明日投稿します
(現在手元にExcelファイルがなく、すみません)
大変失礼いたしました
あるページからコードをコピーしてきたときに修正し忘れました
実際は名前→支店名にしていましたが、エラーとなっていました
エラーの内容の詳細が必要でしたら、明日投稿します
(現在手元にExcelファイルがなく、すみません)
475デフォルトの名無しさん (ワッチョイ 9f42-zMsf)
2021/10/20(水) 23:13:32.77ID:dYcbK4WK0 安心して
手元にエクセルファイルが無いのに記憶だけでそこまで書ければ超初心者じゃないよ
手元にエクセルファイルが無いのに記憶だけでそこまで書ければ超初心者じゃないよ
476デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/21(木) 05:25:42.24ID:wIUVM+qQM477デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 06:18:01.89ID:8cr/BFDG0478デフォルトの名無しさん (テテンテンテン MM7f-zMsf)
2021/10/21(木) 06:54:51.77ID:MLEFHfinM Select Caseにbreakがないのは何故なんでしょうか
beakがないから最初に一致した条件以降のCaseも
実行されると勘違いしやすい
仕事で大きなトラブルを起こしてしまった…
beakがないから最初に一致した条件以降のCaseも
実行されると勘違いしやすい
仕事で大きなトラブルを起こしてしまった…
479デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/21(木) 07:06:17.27ID:mcI3miqCM Select Caseって上から順に見て真っ先に当てはまったCaseのみ実行じゃなかった?違うんだっけ?
480デフォルトの名無しさん (ドコグロ MMcf-ORg4)
2021/10/21(木) 07:46:09.23ID:Ue09v+2oM >>478
> Select Caseにbreakがないのは何故なんでしょうか
そういう仕様だから
Pascal とかと同じ
> beakがないから最初に一致した条件以降のCaseも実行されると勘違いしやすい
むしろCとかでbreak忘れてトラブる奴の方が多いだろ
なのでC# はコンパイルエラーにするぐらいだし
> 仕事で大きなトラブルを起こしてしまった…
仕事で使うならちゃんとテストしろよ…
> Select Caseにbreakがないのは何故なんでしょうか
そういう仕様だから
Pascal とかと同じ
> beakがないから最初に一致した条件以降のCaseも実行されると勘違いしやすい
むしろCとかでbreak忘れてトラブる奴の方が多いだろ
なのでC# はコンパイルエラーにするぐらいだし
> 仕事で大きなトラブルを起こしてしまった…
仕事で使うならちゃんとテストしろよ…
481デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/21(木) 11:01:11.45ID:kxdLHT3P0482デフォルトの名無しさん (ワッチョイ 9f4f-PJ2o)
2021/10/21(木) 11:14:41.56ID:kxdLHT3P0483デフォルトの名無しさん (ワッチョイ 0fda-ZO17)
2021/10/21(木) 12:11:34.23ID:8w0PnAXQ0 select case 普通に動作するんだが、どうやったらトラブル起こせるんだ?
484デフォルトの名無しさん (ワッチョイ 9fe6-HhMZ)
2021/10/21(木) 17:55:34.88ID:88nPUo+s0485デフォルトの名無しさん (ブーイモ MM7f-W6vP)
2021/10/21(木) 18:43:47.31ID:mcI3miqCM だからhozonPathとFoINameの間に¥を入れろって
486デフォルトの名無しさん (ワッチョイ 2b8e-g8Px)
2021/10/21(木) 21:55:14.75ID:fbrP1i9b0 >>484
お前みたいな馬鹿にはVBAは無理だと思うよ
お前みたいな馬鹿にはVBAは無理だと思うよ
487デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 22:14:08.48ID:8cr/BFDG0 >>484
最強料理はケバブ
最強料理はケバブ
488デフォルトの名無しさん (ワッチョイ ef68-KUiw)
2021/10/21(木) 22:16:16.48ID:8cr/BFDG0 コピペ間違えた
>>484
wb.SaveAs Filename:=hozonPath & "\" & FolName & “\” & FilName
で
あと
FolderName
を無理に
FolName
と変に略すと、あとで何書いてるかわからなくなるぞ。
>>484
wb.SaveAs Filename:=hozonPath & "\" & FolName & “\” & FilName
で
あと
FolderName
を無理に
FolName
と変に略すと、あとで何書いてるかわからなくなるぞ。
489デフォルトの名無しさん (ワッチョイ 0f2c-4HJo)
2021/10/21(木) 23:15:26.60ID:5CobycYg0 パス区切りに、/ は使えないの?
例えば、Ruby なら、
glob_pattern = "C:/Users/Owner/Documents/*.txt"
p Dir.glob( glob_pattern )
出力
[ "C:/Users/Owner/Documents/a.txt",
"C:/Users/Owner/Documents/b.txt" ]
例えば、Ruby なら、
glob_pattern = "C:/Users/Owner/Documents/*.txt"
p Dir.glob( glob_pattern )
出力
[ "C:/Users/Owner/Documents/a.txt",
"C:/Users/Owner/Documents/b.txt" ]
490デフォルトの名無しさん (アウアウウー Sa45-/pkb)
2021/10/22(金) 00:34:42.64ID:2cM8PEAKa やってみればわかるんじゃないの?
491デフォルトの名無しさん (ワッチョイ e98e-Ti9O)
2021/10/22(金) 00:44:00.08ID:1RQkewhE0 あまりに馬鹿過ぎると思ったらやっぱりruby馬鹿か
492デフォルトの名無しさん (ワッチョイ e9d0-F3qf)
2021/10/22(金) 00:46:54.73ID:5YslU4UB0 >>484
何をやりたいのかよくわからんけど、連続して2回以上実行すると、実行回数分のネストしたフォルダが必要になるのでエラー吐く。
あと、コピー先のフォルダ/ファイル名はActiveSheetを参照しているので、複数ブック開いていたりするとおかしなことになる。
何をやりたいのかよくわからんけど、連続して2回以上実行すると、実行回数分のネストしたフォルダが必要になるのでエラー吐く。
あと、コピー先のフォルダ/ファイル名はActiveSheetを参照しているので、複数ブック開いていたりするとおかしなことになる。
493デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 01:17:15.93ID:MBOrFbAX0 >>484
保存先のフォルダがないとそのエラーになるから、wb.SaveAsの直前にその確認を入れる
↓で動いたの確認した
'※hozonPathはあるのか
Dim ExistHozonPath As Boolean
ExistHozonPath = Len(Dir(hozonPath, vbDirectory))
If Not ExistHozonPath Then MsgBox hozonPath & "ドライブは存在しません。"
'※FolNameはあるのか
Dim FolFullName As String, ExistFol As Boolean
FolFullName = hozonPath & FolName
ExistFol = Len(Dir(FolFullName, vbDirectory))
If Not ExistFol Then
Dim Question As String
Question = "「" & FolFullName & "」フォルダが存在しません。作成しますか?"
Select Case MsgBox(Question, vbYesNo)
Case vbYes 'はい→作る
MkDir FolFullName
Case vbNo 'いいえ→終了
Exit Sub
End Select
End If
wb.SaveAs Filename:=hozonPath & FolName & "\" & FilName
保存先のフォルダがないとそのエラーになるから、wb.SaveAsの直前にその確認を入れる
↓で動いたの確認した
'※hozonPathはあるのか
Dim ExistHozonPath As Boolean
ExistHozonPath = Len(Dir(hozonPath, vbDirectory))
If Not ExistHozonPath Then MsgBox hozonPath & "ドライブは存在しません。"
'※FolNameはあるのか
Dim FolFullName As String, ExistFol As Boolean
FolFullName = hozonPath & FolName
ExistFol = Len(Dir(FolFullName, vbDirectory))
If Not ExistFol Then
Dim Question As String
Question = "「" & FolFullName & "」フォルダが存在しません。作成しますか?"
Select Case MsgBox(Question, vbYesNo)
Case vbYes 'はい→作る
MkDir FolFullName
Case vbNo 'いいえ→終了
Exit Sub
End Select
End If
wb.SaveAs Filename:=hozonPath & FolName & "\" & FilName
494デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 01:25:21.34ID:MBOrFbAX0 >>493
ドライブない時に終了させるの忘れてた
ドライブない時に終了させるの忘れてた
495デフォルトの名無しさん (アウアウウー Sa45-JHou)
2021/10/22(金) 07:57:46.72ID:uyzrt+dja ユーザーフォーム自体(コードではなくてボタンとかが表示されている方)を印刷する時、
デフォルトで用紙が縦になるんですが、横に出力する方法はないでしょうか?
デフォルトで用紙が縦になるんですが、横に出力する方法はないでしょうか?
496デフォルトの名無しさん (ワッチョイ 05e5-NSZO)
2021/10/22(金) 09:34:10.25ID:EjatPKif0 >>495
Windowsの設定(コンパネ)のプリンタで用紙設定しておく
Windowsの設定(コンパネ)のプリンタで用紙設定しておく
497デフォルトの名無しさん (アウアウウー Sa45-JHou)
2021/10/22(金) 12:17:25.64ID:uyzrt+dja あー、あの縦か横かをオプションボタンで選ぶ画面ですね。
VBA以前の問題でした。失礼しました。
帰宅したら試します。
VBA以前の問題でした。失礼しました。
帰宅したら試します。
498デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 19:20:10.02ID:eWxCtPi7a 横1列に並んだセルを
A B C D E F
1 あああ いいい ううう 阿嗚呼 伊井伊 雨右鵜
2 かかか ききき くくく 可化歌 機器機 久々九
3
↓
A B C
1 あああ いいい ううう
2 阿嗚呼 伊井伊 雨右鵜
3 かかか ききき くくく
4 可化歌 機器機 久々九
のように1行飛びに成形するにはどうしたら良いですか?
A B C D E F
1 あああ いいい ううう 阿嗚呼 伊井伊 雨右鵜
2 かかか ききき くくく 可化歌 機器機 久々九
3
↓
A B C
1 あああ いいい ううう
2 阿嗚呼 伊井伊 雨右鵜
3 かかか ききき くくく
4 可化歌 機器機 久々九
のように1行飛びに成形するにはどうしたら良いですか?
499デフォルトの名無しさん (ワッチョイ e910-pyCU)
2021/10/22(金) 19:23:55.44ID:mTcFiW+U0 頑張ってコピペしろ
500デフォルトの名無しさん (ワッチョイ 42d9-5ORS)
2021/10/22(金) 19:26:54.87ID:cisRZQTm0501デフォルトの名無しさん (ワッチョイ 2eda-WU2P)
2021/10/22(金) 20:37:51.08ID:pZfGL40n0 こういうの自力でできないようじゃ教わってもしょうがないんじゃね
502デフォルトの名無しさん (ワッチョイ 82e6-bdTT)
2021/10/22(金) 20:47:03.46ID:Fa1Ohywp0 >>493
ありがとうございます。満足いく挙動になりました!
ありがとうございます。満足いく挙動になりました!
503>>498 (アウアウウー Sa45-Iznz)
2021/10/22(金) 22:34:54.56ID:0NScRLlYa504デフォルトの名無しさん (ワッチョイ 895f-UBLL)
2021/10/22(金) 22:59:58.93ID:4e59Jt0n0 関数でできる
Sheet1のデータをSheet2に出力するとして、Sheet2のA1に次の式を入力してコピペ
「Sheet1!$A$1:$F$999」は範囲なので適当に直して
=INDEX(Sheet1!$A$1:$F$999,ROUNDUP(ROW()/2,0),IF(MOD(ROW(),2)=1,COLUMN(),COLUMN()+3))
Sheet1のデータをSheet2に出力するとして、Sheet2のA1に次の式を入力してコピペ
「Sheet1!$A$1:$F$999」は範囲なので適当に直して
=INDEX(Sheet1!$A$1:$F$999,ROUNDUP(ROW()/2,0),IF(MOD(ROW(),2)=1,COLUMN(),COLUMN()+3))
505デフォルトの名無しさん (ワッチョイ 824f-iBLV)
2021/10/22(金) 23:08:32.12ID:Jvo+jO0O0 >>498
'標準モジュール側
Sub hoge()
Dim list As New Collection
Dim entity As Class1
Dim i As Integer
Dim j As Integer
For i = 1 To 3
For j = 1 To 4 Step 3
Set entity = New Class1
entity.value1 = Cells(i, j)
entity.value2 = Cells(i, j + 1)
entity.value3 = Cells(i, j + 1)
Call list.Add(entity)
Next
Next
Range("A1:F3").ClearContents
For i = 1 To 6
Cells(i, 1) = list(i).value1
Cells(i, 2) = list(i).value2
Cells(i, 3) = list(i).value3
Next
End Sub
'クラスモジュール側(Class1)
Public value1 As String
Public value2 As String
Public value3 As String
'標準モジュール側
Sub hoge()
Dim list As New Collection
Dim entity As Class1
Dim i As Integer
Dim j As Integer
For i = 1 To 3
For j = 1 To 4 Step 3
Set entity = New Class1
entity.value1 = Cells(i, j)
entity.value2 = Cells(i, j + 1)
entity.value3 = Cells(i, j + 1)
Call list.Add(entity)
Next
Next
Range("A1:F3").ClearContents
For i = 1 To 6
Cells(i, 1) = list(i).value1
Cells(i, 2) = list(i).value2
Cells(i, 3) = list(i).value3
Next
End Sub
'クラスモジュール側(Class1)
Public value1 As String
Public value2 As String
Public value3 As String
506デフォルトの名無しさん (ワッチョイ 824f-Jlrn)
2021/10/22(金) 23:11:35.60ID:Jvo+jO0O0 おっと
ちょい間違い
どこ間違ってるか探してみて
ちょい間違い
どこ間違ってるか探してみて
507デフォルトの名無しさん (ワッチョイ 3901-zxp6)
2021/10/22(金) 23:21:55.85ID:MBOrFbAX0 >>503
というか、普通に手作業でやってる手順をVBAで書き下せばいいだけだよ
コピペ元の範囲の場所を示す
dim srcRow as long
dim srcCol as long
と、
コピペ先の範囲を示す
dim dstRow as long
dim dstCol as long
を作って、
1〜3列目は同じ列、4〜6列目は次の行にコピペ
っていう作業を繰り返せばいい。
ペアになる変数はユーザー定義型を使うと見易くなる
type MatrixIndex
Row as long
Col as long
end type
dim src as MatrixIndex,dst as MatrixIndex
というか、普通に手作業でやってる手順をVBAで書き下せばいいだけだよ
コピペ元の範囲の場所を示す
dim srcRow as long
dim srcCol as long
と、
コピペ先の範囲を示す
dim dstRow as long
dim dstCol as long
を作って、
1〜3列目は同じ列、4〜6列目は次の行にコピペ
っていう作業を繰り返せばいい。
ペアになる変数はユーザー定義型を使うと見易くなる
type MatrixIndex
Row as long
Col as long
end type
dim src as MatrixIndex,dst as MatrixIndex
508デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 23:34:57.82ID:MCKX1YxAa509デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/22(金) 23:40:58.45ID:rmoybpwYa510デフォルトの名無しさん (ワッチョイ e98e-Ti9O)
2021/10/23(土) 02:07:03.33ID:3lNDidpi0 いつものあいつ
511デフォルトの名無しさん (ワッチョイ 068c-fL9+)
2021/10/24(日) 01:40:51.53ID:BvAAjUlj0 >>498
G列に上から1,2と入れて、さらに下方のデータの無いG列に1,2とコピペする
表全体を選択してフィルターを適用。G列でソートする
以上で一行ごとに空行が挿入される
つづいてD1:F2を選択、コピー
A2に形式を選択して貼り付け(空白を無視する)
出来上がり
G列に上から1,2と入れて、さらに下方のデータの無いG列に1,2とコピペする
表全体を選択してフィルターを適用。G列でソートする
以上で一行ごとに空行が挿入される
つづいてD1:F2を選択、コピー
A2に形式を選択して貼り付け(空白を無視する)
出来上がり
512デフォルトの名無しさん (アウアウウー Sa45-Iznz)
2021/10/24(日) 02:32:09.51ID:k5qcq0CGa513デフォルトの名無しさん (ワッチョイ 05da-WU2P)
2021/10/24(日) 10:50:30.38ID:m64p+skw0 VBAで作ったプロシジャーにショートカットキーを割当てたのですがうまくいきません。
議論用に下のような簡単なプロシジャーをつくり(実際はもっと複雑です)
testShortCutKeyにはCtr+Shift+I
testShortCutKey02にはCtr+Shift+F
を割り当てました。
エクセルのウインドウをアクティブにした状態で
Ctr+Shift+Fを押すと別のアプリのEverNoteがアクティブになり
Ctr+Shift+Iを押すと別のアプリがアクティブになります。
ワードのVBAでも同じくショートカットキーを正しく設定しているのに使えません。
少なくとも今年前半はこんなことはなかったのですが…。
対策はあるでしょうか?
Sub testShortCutKey()
Stop
End Sub
Sub testShortCutKey02()
Stop
End Sub
https://imgur.com/S9WxsoT
議論用に下のような簡単なプロシジャーをつくり(実際はもっと複雑です)
testShortCutKeyにはCtr+Shift+I
testShortCutKey02にはCtr+Shift+F
を割り当てました。
エクセルのウインドウをアクティブにした状態で
Ctr+Shift+Fを押すと別のアプリのEverNoteがアクティブになり
Ctr+Shift+Iを押すと別のアプリがアクティブになります。
ワードのVBAでも同じくショートカットキーを正しく設定しているのに使えません。
少なくとも今年前半はこんなことはなかったのですが…。
対策はあるでしょうか?
Sub testShortCutKey()
Stop
End Sub
Sub testShortCutKey02()
Stop
End Sub
https://imgur.com/S9WxsoT
514デフォルトの名無しさん (ワッチョイ 05da-WU2P)
2021/10/24(日) 10:52:43.48ID:m64p+skw0515デフォルトの名無しさん (ワッチョイ 02a5-iXiw)
2021/10/24(日) 12:20:50.22ID:LZG5kY/b0 普段よく使う色んな独自マクロ機能を右クリックメニューに登録して、
どんな時にも使えるようアドインファイル(.xlam)化して
XLSTARTフォルダにおいて使っています。
ThisWorkbookに下記コードで、登録と終了時の処理を書いているのですが、
Excelを起動終了するたびに、Excel15.xlbのファイルサイズが肥大化していく
現象で困っています。
Sub Workbook_Open()
Call AddRightClickMenu '右クリックメニュー追加
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Controls("xxxxx").Delete
End Sub
BeforeCloseの中にExcel15.xlbの強制削除を入れても、勝手にサイズUPした
ファイルが作成されてしまいます。
これを解決する方法があれば、教えてください。
どんな時にも使えるようアドインファイル(.xlam)化して
XLSTARTフォルダにおいて使っています。
ThisWorkbookに下記コードで、登録と終了時の処理を書いているのですが、
Excelを起動終了するたびに、Excel15.xlbのファイルサイズが肥大化していく
現象で困っています。
Sub Workbook_Open()
Call AddRightClickMenu '右クリックメニュー追加
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Cell").Controls("xxxxx").Delete
End Sub
BeforeCloseの中にExcel15.xlbの強制削除を入れても、勝手にサイズUPした
ファイルが作成されてしまいます。
これを解決する方法があれば、教えてください。
516デフォルトの名無しさん (ワッチョイ 02ad-XhOm)
2021/10/24(日) 14:29:28.09ID:phaY1aKk0 ひとつのシートボタンだけ
まとめたほうが楽じゃないの?
まとめたほうが楽じゃないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- クリスマスの「予定なし」54% [少考さん★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★6] [蚤の市★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★4
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★5
- 【高市軍拡】日本の防衛費、アメリカ、中国と比較してとんでもないことに!※グラフあり。国民生活より軍備 [219241683]
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ2
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ3
- コーヒー、来年3月から30パーセント値上げへ [709039863]
