!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part74
https://mevius.5ch.net/test/read.cgi/tech/1639932059/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part75
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スフッ Sd7f-wadS)
2022/02/09(水) 14:24:32.62ID:I0u44nFvd377デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 12:52:58.71ID:4DGoWoBi0 >>369
>cnt = Selection.Rows.Count
>Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
Set myRange = Cells(Selection.Row, "L").Resize(Selection.Rows.Count)
もっと簡単に書けそうな気もするがこんなもんかな
>cnt = Selection.Rows.Count
>Set myRange = Range(Cells(Selection.Rows(1).Row, 12), Cells(Selection.Rows(1).Row + cnt - 1, 12))
Set myRange = Cells(Selection.Row, "L").Resize(Selection.Rows.Count)
もっと簡単に書けそうな気もするがこんなもんかな
378デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/19(土) 13:47:10.61ID:zEPprvQva >>376
試してなくても、こんなところで聞かないでくださいw
試してなくても、こんなところで聞かないでくださいw
379デフォルトの名無しさん (ワッチョイ b15f-UimK)
2022/03/19(土) 14:44:42.82ID:qNoriQBK0380デフォルトの名無しさん (ワッチョイ 13ad-bSSa)
2022/03/19(土) 15:12:32.83ID:OOddD3UI0 >>377
ありがとうございます。.Resizeを使うとスマートに書けるんですね。使ってみます。
ありがとうございます。.Resizeを使うとスマートに書けるんですね。使ってみます。
381デフォルトの名無しさん (スップ Sd33-yRs7)
2022/03/19(土) 15:57:19.25ID:rhR/rlzyd autofilterで表示されたものだけで、列をautofitすることは出来ますか?
382デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 16:36:01.13ID:4DGoWoBi0 SpecialCells(xlCellTypeVisible)でできんじゃねーかな
383デフォルトの名無しさん (ワッチョイ 092b-8yjF)
2022/03/19(土) 16:40:58.85ID:AuBNrAzT0 コードはスマートなのに…って言われろ
384デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/19(土) 18:04:38.19ID:4DGoWoBi0 Range("テーブル1[項目A]").SpecialCells(xlCellTypeVisible).Columns.AutoFit
出来ないのかと思ったらできるじゃん
出来ないのかと思ったらできるじゃん
385デフォルトの名無しさん (アウアウウー Sa5d-WKyQ)
2022/03/19(土) 18:22:46.82ID:qn2+ggVDa VBA素人にご教示ください
PowerQueryで整形したテーブルのデータを
別ブックのVBAに引っ張ってきたい場合
・列データをユーザー定義型にまとめる
・ListObjectを使う
どちらがベターでしょうか?
PowerQueryで整形したテーブルのデータを
別ブックのVBAに引っ張ってきたい場合
・列データをユーザー定義型にまとめる
・ListObjectを使う
どちらがベターでしょうか?
386デフォルトの名無しさん (ブーイモ MM33-J1hb)
2022/03/19(土) 18:48:13.74ID:XaCRBAWQM 引っ張ってきたい側でpowerquery使って整形したテーブルをソースに指定する
387デフォルトの名無しさん (アウアウウー Sa5d-WKyQ)
2022/03/19(土) 19:07:47.91ID:qn2+ggVDa すいません、うまく説明できてませんでした
PowerQueryとVBAは別ブックでも同じブックでもいいです
やりたいことは
巨大なテーブルを参照してVBAで検索フォームを作りたい
です
その場合、テーブルデータを
・ユーザー定義型にまとめる
・ListObjectを使う
どちらがいいのか?が質問の意図です
改めてお願いします
PowerQueryとVBAは別ブックでも同じブックでもいいです
やりたいことは
巨大なテーブルを参照してVBAで検索フォームを作りたい
です
その場合、テーブルデータを
・ユーザー定義型にまとめる
・ListObjectを使う
どちらがいいのか?が質問の意図です
改めてお願いします
388デフォルトの名無しさん (ワッチョイ 695f-a5Bw)
2022/03/19(土) 20:45:24.46ID:ecCVM1RA0 全くの素人で申し訳ないんですけど、やりたい事
❶:B10からスタートしてボタンを押したら次の行に指定された文字を入力していく。
❷:Ifを使って、もしB29行まで埋まった状態でボタンを押したら
B2からB29までコピーしてB1からB28にペースト
→B29に指定された文字を入力
色々頑張ったけど自分で❶は出来たけど❷ハードルが高かった・・・
❶:B10からスタートしてボタンを押したら次の行に指定された文字を入力していく。
❷:Ifを使って、もしB29行まで埋まった状態でボタンを押したら
B2からB29までコピーしてB1からB28にペースト
→B29に指定された文字を入力
色々頑張ったけど自分で❶は出来たけど❷ハードルが高かった・・・
389デフォルトの名無しさん (アウアウウー Sa5d-1noo)
2022/03/19(土) 21:21:42.73ID:titlKmjCa 2のどの部分ができないのか
390デフォルトの名無しさん (ワッチョイ b15f-UimK)
2022/03/19(土) 21:33:07.78ID:qNoriQBK0 If Range("B29")<>"" then Range("B1:B28").value = Range("B2:B29").value
こんな感じか?
こんな感じか?
391デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:17:04.40ID:hVJQeY+Td >>389
IFで範囲内空白があった場合を出そうとしてたんだけどうまくいかなかったんや・・・
IFで範囲内空白があった場合を出そうとしてたんだけどうまくいかなかったんや・・・
392デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:17:58.96ID:hVJQeY+Td 因みに入れたいのは勝利か負け。2つボタン作れば別々に行けるかな
393デフォルトの名無しさん (スププ Sd33-a5Bw)
2022/03/19(土) 22:56:32.21ID:hVJQeY+Td >>389
ありがとう。認識できた。そしてなんとか検索して思うような結果になった!
ありがとう。認識できた。そしてなんとか検索して思うような結果になった!
394デフォルトの名無しさん (テテンテンテン MM73-yRs7)
2022/03/20(日) 00:13:30.21ID:ZUsPYd03M395デフォルトの名無しさん (ワッチョイ 99da-uN0U)
2022/03/20(日) 01:49:20.37ID:CEJcVsO40396デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/20(日) 06:37:24.28ID:Md+DYeh30 >>372
ちゃんとタイマー走らせて確認してるわけではないけど体感的には大して変わらない
でも完全一致で検索をかける場合matchは検索対象が存在しないとエラー停止するのに対してfindはset range変数=対象範囲.find(ryで検索をかけてやればrange変数がnothingか否かで判別可能だから個人的にはfindの方が好きかなぁ
ちゃんとタイマー走らせて確認してるわけではないけど体感的には大して変わらない
でも完全一致で検索をかける場合matchは検索対象が存在しないとエラー停止するのに対してfindはset range変数=対象範囲.find(ryで検索をかけてやればrange変数がnothingか否かで判別可能だから個人的にはfindの方が好きかなぁ
397デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/20(日) 08:33:55.10ID:Zh6y5r970 >>370
同じようなことを前考えたけど、恐らくEXCELのシートにインデックスを貼るのは無理っぽい。
ADOどころか拡張機能であるADOXでも無理だったはず。
代替案としてはSQLが使えないので、都度個別で考えるしかないけど、とある項目の最大値や最小値が入っているレコードの内容が欲しいなら基本、MATCH関数での検索となると思う。
同じようなことを前考えたけど、恐らくEXCELのシートにインデックスを貼るのは無理っぽい。
ADOどころか拡張機能であるADOXでも無理だったはず。
代替案としてはSQLが使えないので、都度個別で考えるしかないけど、とある項目の最大値や最小値が入っているレコードの内容が欲しいなら基本、MATCH関数での検索となると思う。
398デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 10:22:27.56ID:HKRI5d8YM399デフォルトの名無しさん (スップ Sd33-yRs7)
2022/03/20(日) 13:33:44.21ID:NjSblaend400デフォルトの名無しさん (ラクッペペ MMeb-yD8a)
2022/03/20(日) 15:42:40.21ID:IQ9r07oYM >>369
すまん、368だけどコード見てもやりたいことがまるでわからんので、回答書けない
すまん、368だけどコード見てもやりたいことがまるでわからんので、回答書けない
401デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 19:07:32.87ID:fXpRWn260 初心者のため、ご存じでしたらご教授お願い致します。
エクセルから印刷する際、プリンタをカラー、モノクロをそれぞれ
自動印刷できませんでしょうか?
PageSetup.BlackAndWhite = True/Flase
以外で方法がありましたら、ご教授をお願い致します。
エクセルから印刷する際、プリンタをカラー、モノクロをそれぞれ
自動印刷できませんでしょうか?
PageSetup.BlackAndWhite = True/Flase
以外で方法がありましたら、ご教授をお願い致します。
402デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/20(日) 19:41:51.49ID:V5Xg0/PX0 >>401
その方法では成功しないのですか?
その方法では成功しないのですか?
403デフォルトの名無しさん (ワッチョイ 1318-xc4H)
2022/03/20(日) 19:51:58.85ID:aHWtYUUu0 素人にご指導願います。
生年月日や所属等を含めた社員のリストを作ってまして、氏名等で検索できるようオートフィルターをvbaで作るところまではできました。
「チェックボックスにチェックを入れたら、指定した日付と同じ生年月日でフィルターをかける」という操作は可能でしょうか。
例えば、セルに1990/3/1を入れてるとして、チェックボックスにチェックを入れたらフィルターがかかって1990/3/1の生年月日だけ出てくる(それ以外は消える)というものです。
チェックボックスにチェックを入れるかどうかで指定した日でフィルターをかけるかどうかを判断したいです。
もし可能でしたら、ご教示いただけると幸いです。
よろしくお願いします。
生年月日や所属等を含めた社員のリストを作ってまして、氏名等で検索できるようオートフィルターをvbaで作るところまではできました。
「チェックボックスにチェックを入れたら、指定した日付と同じ生年月日でフィルターをかける」という操作は可能でしょうか。
例えば、セルに1990/3/1を入れてるとして、チェックボックスにチェックを入れたらフィルターがかかって1990/3/1の生年月日だけ出てくる(それ以外は消える)というものです。
チェックボックスにチェックを入れるかどうかで指定した日でフィルターをかけるかどうかを判断したいです。
もし可能でしたら、ご教示いただけると幸いです。
よろしくお願いします。
404デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 19:56:19.87ID:fXpRWn260 >>402
PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが、
塗りつぶしの背景が白で印刷されてしまいます。
また、カラーの図が白黒で印刷できませんでした。
プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが、
塗りつぶしの背景が白で印刷されてしまいます。
また、カラーの図が白黒で印刷できませんでした。
プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
405デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 20:02:50.72ID:0CQh90gjM406デフォルトの名無しさん (ドコグロ MMbd-zKmY)
2022/03/20(日) 20:15:26.37ID:KxZjhn5zM >>404
すまん、リロードしてなかった
っていうか最初から書けよ…
> PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが
白黒設定は True じゃね?
> プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
無理、
Application.Dialogs(xlDialogPrinterSetup).Show
で、ダイアログを表示させるのが精一杯
すまん、リロードしてなかった
っていうか最初から書けよ…
> PageSetup.BlackAndWhite = Falseで白黒印刷設定したのですが
白黒設定は True じゃね?
> プリンタのプロパティにある印刷設定(両面、集約、カラー等)はVBAでは制御できないでしょうか?
無理、
Application.Dialogs(xlDialogPrinterSetup).Show
で、ダイアログを表示させるのが精一杯
407デフォルトの名無しくん (ワッチョイ fb8c-ef3C)
2022/03/20(日) 20:21:02.46ID:V5Xg0/PX0 >>404
プリンタドライバをもう一つ入れて、そのドライバの初期設定を白黒にして「白黒印刷専用」とする。
このプリンタ(ドライバ)をVBAで選択して印刷する。
過去にやったことがあるけどちょっとめんどくさかった記憶
他にいい方法あるのかな
プリンタドライバをもう一つ入れて、そのドライバの初期設定を白黒にして「白黒印刷専用」とする。
このプリンタ(ドライバ)をVBAで選択して印刷する。
過去にやったことがあるけどちょっとめんどくさかった記憶
他にいい方法あるのかな
408デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/20(日) 20:23:50.61ID:Md+DYeh30409デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 20:36:02.96ID:fXpRWn260 >>406
ご回答ありがとうございます。
理由も一緒に書けばよかったですね。大変失礼致しました。
以後気を付けます。
やはり無理なんですね。
他のかたがご指摘のように、白黒専用プリンタドライバを増やして
プリンタを切り替えてトライしてみます。
ご指摘の通り、PageSetup.BlackAndWhite = Trueが白黒です。失礼致しました。
ご回答ありがとうございます。
理由も一緒に書けばよかったですね。大変失礼致しました。
以後気を付けます。
やはり無理なんですね。
他のかたがご指摘のように、白黒専用プリンタドライバを増やして
プリンタを切り替えてトライしてみます。
ご指摘の通り、PageSetup.BlackAndWhite = Trueが白黒です。失礼致しました。
410デフォルトの名無しさん (ワッチョイ 3190-bSSa)
2022/03/20(日) 20:41:31.10ID:fXpRWn260 >>407
ご回答ありがとうございます。
プリンタドライバを増やす方法、ご提案ありがとうございます。
早速トライしてみます。
ドライバーを入れた後、プリンタの基本設定で白黒を初期設定にすれば白黒専用でいけますね。
ご回答ありがとうございます。
プリンタドライバを増やす方法、ご提案ありがとうございます。
早速トライしてみます。
ドライバーを入れた後、プリンタの基本設定で白黒を初期設定にすれば白黒専用でいけますね。
411デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/20(日) 21:09:18.42ID:j6YhEUF6d412デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 02:46:04.32ID:HoitaytG0 スライサやタイムライン知らない人多いらしいね
マイナーなのかな?
マイナーなのかな?
413デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 06:08:07.49ID:8sRo6eoq0 マイナーはマイナーだと思う
MOS受けて初めて知ったわ
MOS受けて初めて知ったわ
414デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/21(月) 07:21:11.67ID:K7MjVs2M0 テーブルからしてまだマイナーだからかしら?
415デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 07:27:35.78ID:Od0FfcRPM ブックの共有するとテーブルが使えない
共有機能とテーブルどちらを選ぶとしたら会社では共有を選ぶ
糞共有機能は早く廃止してほしいな
共有機能とテーブルどちらを選ぶとしたら会社では共有を選ぶ
糞共有機能は早く廃止してほしいな
416デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 08:06:13.98ID:S9+WMeZFH 誰か教えてください
各営業所から毎月送られてくる実績ファイルを一つのブックに集計するマクロを作りたい
一つのフォルダに全てのブックを入れてループ処理するマクロ自体はできたんだけど肝心の転記の仕方がわからない
具体的には各ファイルの指定のセルから集計表ファイルの指定のセルに営業所名ごとに転記したい
営業所ファイルには4〜3月まで縦に月毎に実績が並んでいて集計表のファイルは横に月毎になってるって感じ
どうしてもわからなくてどなたか助けてください
各営業所から毎月送られてくる実績ファイルを一つのブックに集計するマクロを作りたい
一つのフォルダに全てのブックを入れてループ処理するマクロ自体はできたんだけど肝心の転記の仕方がわからない
具体的には各ファイルの指定のセルから集計表ファイルの指定のセルに営業所名ごとに転記したい
営業所ファイルには4〜3月まで縦に月毎に実績が並んでいて集計表のファイルは横に月毎になってるって感じ
どうしてもわからなくてどなたか助けてください
417デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 08:19:15.34ID:/kHY2rERM powerqueryだな
418デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 08:24:32.18ID:S9+WMeZFH419デフォルトの名無しさん (ワッチョイ 11da-noGs)
2022/03/21(月) 08:52:49.57ID:K7MjVs2M0 >>418
ようつべのライブラリに放り込んでた中から
役に立ちそうなもの見繕ってみた。
PLをフォルダに放り込むだけで科目ごとの数値を比較できる【エクセル パワークエリ PowerQuery】
https://youtu.be/xxc5sCl6U3w
大量のエクセルファイルを1つにまとめる方法【ファイル名活用】
https://youtu.be/XMwbj7x4Q0Y
【マクロ無しで】大量ファイルを1つに統合。簡単にクリック操作で可能(Power Query、取得と変換)
https://youtu.be/RCmoho3jU8Q
PowerQuery 複数のExcelファイルからデータを結合する方法
https://youtu.be/VxKoqBJWgRo
ようつべのライブラリに放り込んでた中から
役に立ちそうなもの見繕ってみた。
PLをフォルダに放り込むだけで科目ごとの数値を比較できる【エクセル パワークエリ PowerQuery】
https://youtu.be/xxc5sCl6U3w
大量のエクセルファイルを1つにまとめる方法【ファイル名活用】
https://youtu.be/XMwbj7x4Q0Y
【マクロ無しで】大量ファイルを1つに統合。簡単にクリック操作で可能(Power Query、取得と変換)
https://youtu.be/RCmoho3jU8Q
PowerQuery 複数のExcelファイルからデータを結合する方法
https://youtu.be/VxKoqBJWgRo
420デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 09:00:07.15ID:8sRo6eoq0 >>416
Sub foo()
'開いてset
Set 転記先ブック = ThisWorkbook
Set 営業所ブック = Workbooks.Open( _
"C:\Users\81909\Desktop\eigyosyo.xlsx")
'転記
転記先ブック.Sheets("sheet1").Range("b2:d3").Value = _
営業所ブック.Sheets("sheet1").Range("b2:d3").Value
End Sub
保存ファイルのパスと転記セルの範囲変えたら使えると思う
Sub foo()
'開いてset
Set 転記先ブック = ThisWorkbook
Set 営業所ブック = Workbooks.Open( _
"C:\Users\81909\Desktop\eigyosyo.xlsx")
'転記
転記先ブック.Sheets("sheet1").Range("b2:d3").Value = _
営業所ブック.Sheets("sheet1").Range("b2:d3").Value
End Sub
保存ファイルのパスと転記セルの範囲変えたら使えると思う
421デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/21(月) 09:06:14.38ID:Yo31hjL10422デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 09:14:48.04ID:8sRo6eoq0 >>421
そもそもフィルター掛ける必要があるのかどうかってのもあるけど・・・
ぱっとおもいつくのは
・forで回して別シートに転記。量が少なければそこまでかからんはず。量が多いとかなり大変
・別シートにfilter関数。かなり軽いけど、その量に対してはやったことないな
・スプレッドシートでquery関数。軽さならこれが最強で、めちゃくちゃ軽い
そもそもフィルター掛ける必要があるのかどうかってのもあるけど・・・
ぱっとおもいつくのは
・forで回して別シートに転記。量が少なければそこまでかからんはず。量が多いとかなり大変
・別シートにfilter関数。かなり軽いけど、その量に対してはやったことないな
・スプレッドシートでquery関数。軽さならこれが最強で、めちゃくちゃ軽い
423デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:06:54.19ID:YtFKrPKNa424デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:10:10.41ID:YtFKrPKNa425デフォルトの名無しさん (ブーイモ MMcb-J1hb)
2022/03/21(月) 16:14:49.98ID:ombAFbaLM >>420は要点をコンパクトに上手に説明してる
これが理解できないなら自分で最終回答に辿り着くのは無理だよ
これが理解できないなら自分で最終回答に辿り着くのは無理だよ
426デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 16:21:01.88ID:8sRo6eoq0 >424
転記の部分は値でコピーペーストだよ
試しに動かしてみたほうが早いと思う
転記の部分は値でコピーペーストだよ
試しに動かしてみたほうが早いと思う
427デフォルトの名無しさん (アウアウエー Sae3-Sjl/)
2022/03/21(月) 16:38:45.50ID:YtFKrPKNa428デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 16:43:02.21ID:HoitaytG0 テーブルってまだ普及していないねかな?
429デフォルトの名無しさん (ブーイモ MM9d-KKNZ)
2022/03/21(月) 16:50:26.11ID:DBpwCepOM 永遠に普及しないでしょうね
列島猿はセル結合したり自分で色塗ったり線引いたりするのが大好きで、お仕着せのDBにデータだけ放り込むみたいなのは苦手なので
列島猿はセル結合したり自分で色塗ったり線引いたりするのが大好きで、お仕着せのDBにデータだけ放り込むみたいなのは苦手なので
430デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 16:56:11.28ID:8sRo6eoq0 全面的に同意
テーブルで表作ったらテーブルを解除しろって言われるレベル
テーブルで表作ったらテーブルを解除しろって言われるレベル
431デフォルトの名無しさん (ワッチョイ 4901-vHb9)
2022/03/21(月) 17:19:32.38ID:fDbYf0xJ0432デフォルトの名無しさん (ワッチョイ 4901-vHb9)
2022/03/21(月) 17:21:13.79ID:fDbYf0xJ0 テーブルでも椅子でもいいからさっさとやれと言われるわしら下っ端
433デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 17:57:58.00ID:bPJRBgFUM >>416
マクロ記録開始してその転記の操作してみればいいかと
マクロ記録開始してその転記の操作してみればいいかと
434デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 19:13:04.04ID:S9+WMeZFH435デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 19:37:57.87ID:HoitaytG0 いつも思うのだけど、これだけExcel情報が世の中に溢れているのにセルご法度の結合だの色塗りまくるだの改行だのする人ばかりなのは何故なんだろうね??
パソコン雑誌とか読んで勉強していないのかなと?
パソコン雑誌とか読んで勉強していないのかなと?
436デフォルトの名無しさん (US 0H45-9bVs)
2022/03/21(月) 19:43:19.70ID:zSyDDKWUH437デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 19:53:51.30ID:8sRo6eoq0438デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 20:06:38.09ID:7hRN3rZ2M439デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 20:11:42.48ID:S9+WMeZFH >>433
それも思ったんですけどそれだと恐らく一つの営業所の実績を一つのセルにコピーする操作になってしまいそうで…
それも思ったんですけどそれだと恐らく一つの営業所の実績を一つのセルにコピーする操作になってしまいそうで…
440デフォルトの名無しさん (ワッチョイ fb8c-ef3C)
2022/03/21(月) 20:23:41.52ID:2j3OjuAE0441デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 20:42:56.54ID:S9+WMeZFH442デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/21(月) 20:43:57.15ID:8sRo6eoq0 >>439
転記部分は好きなように変えたり増やしたりスレば良い
b2をd3に、a1をe5に、など、なんとでもなる。
'転記
転記先ブック.Sheets("sheet1").Range("b2").Value = _
営業所ブック.Sheets("sheet1").Range("d3").Value
転記先ブック.Sheets("sheet1").Range("a1").Value = _
営業所ブック.Sheets("sheet1").Range("e5").Value
転記部分は好きなように変えたり増やしたりスレば良い
b2をd3に、a1をe5に、など、なんとでもなる。
'転記
転記先ブック.Sheets("sheet1").Range("b2").Value = _
営業所ブック.Sheets("sheet1").Range("d3").Value
転記先ブック.Sheets("sheet1").Range("a1").Value = _
営業所ブック.Sheets("sheet1").Range("e5").Value
443デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/21(月) 21:18:25.50ID:8fSFwG7JM444デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 21:20:10.88ID:S9+WMeZFH445デフォルトの名無しさん (JP 0H73-Sjl/)
2022/03/21(月) 21:21:07.73ID:S9+WMeZFH446デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/21(月) 21:49:42.78ID:HoitaytG0 日本のExcelのレベルが低いからExcel講師やパソコン教室が潤うと。
447デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/21(月) 22:13:13.78ID:NuDNOSQMd ループ文とか条件文とかユーザーフォームとかクラスとか使ってごちゃごちゃやってるけど結局のところファイルの開閉と転記作業しかしてない事に気づいた
転記があれば何でも出来る
転記があれば何でも出来る
448デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/21(月) 23:00:27.32ID:Rbd9piL90 転記の子
449デフォルトの名無しさん (ワッチョイ d901-Z03/)
2022/03/22(火) 00:36:53.70ID:000FKf5P0 始めたてのド素人ですがご教示頂けると幸いです。
表の列ごとにランダムに入っている異なるフォントの色で正負を判断して最終行に和と差の合計値を出力したいのですが可能でしょうか?
詳しく言うと赤色が負として、黒色が正としてセルに数値が手打ちされてます。
列の最終行を取得しsum関数を挿入することはできるのですが、フォントの色で正負を判断して合計値が出せるのか教えていただけないでしょうか。
表の列ごとにランダムに入っている異なるフォントの色で正負を判断して最終行に和と差の合計値を出力したいのですが可能でしょうか?
詳しく言うと赤色が負として、黒色が正としてセルに数値が手打ちされてます。
列の最終行を取得しsum関数を挿入することはできるのですが、フォントの色で正負を判断して合計値が出せるのか教えていただけないでしょうか。
450デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/22(火) 00:49:54.42ID:kEBDDtio0451デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/22(火) 01:08:13.62ID:TibwPpTv0 書式に辿り着ければ
自ずと答えが見つかろうぞ
自ずと答えが見つかろうぞ
452デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/22(火) 01:19:04.08ID:KVIRUNm3d そもそもVBA不要
sumif関数で出来る
sumif関数で出来る
453デフォルトの名無しくん (ワッチョイ fb8c-ef3C)
2022/03/22(火) 02:43:58.13ID:d3YPRjya0 きっとこれは黒色の負とか青色の正とかあって
あえて色で集計したいんだろうな
と、深読み
あえて色で集計したいんだろうな
と、深読み
454デフォルトの名無しさん (ワッチョイ d901-Z03/)
2022/03/22(火) 12:14:00.76ID:000FKf5P0 ご返信ありがとうございます。
表のシートが種類ごとにあって量が千を超えているので自動化したい所存です。
前任が手書きの台帳をエクセルに落してくれたまでは良かったのですが、他の社員が手書きのときと変わらず正の値で色のみ変えて入力するため、毎年年度末になると延々と手作業で何時間も単純作業を強いられるのでなんとかならないかと思案しておりました。
表のシートが種類ごとにあって量が千を超えているので自動化したい所存です。
前任が手書きの台帳をエクセルに落してくれたまでは良かったのですが、他の社員が手書きのときと変わらず正の値で色のみ変えて入力するため、毎年年度末になると延々と手作業で何時間も単純作業を強いられるのでなんとかならないかと思案しておりました。
455デフォルトの名無しさん (ワッチョイ 1117-MEft)
2022/03/22(火) 12:33:30.37ID:jGZXGfWV0 条件書式でゼロ以上は赤字にするとかでもダメなんか?
逆にVBA使った方が遅かったり不便にかりそうな案件だと思うんだが
逆にVBA使った方が遅かったり不便にかりそうな案件だと思うんだが
456デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/22(火) 13:33:25.27ID:MYdjPEb1M >>421
> 残念ながら20万件100項目という量のせいか、
> フィルターを掛けるとそのまま固まってしまい、いつ返ってくるか、そもそも返ってくるのかすら分からない状況になりました。
PC買い替えろ
30万行x300列に数値データを埋めてやってみたけどフィルター処理なんてほぼ瞬時に終わるぞ
> 残念ながら20万件100項目という量のせいか、
> フィルターを掛けるとそのまま固まってしまい、いつ返ってくるか、そもそも返ってくるのかすら分からない状況になりました。
PC買い替えろ
30万行x300列に数値データを埋めてやってみたけどフィルター処理なんてほぼ瞬時に終わるぞ
457デフォルトの名無しさん (ワッチョイ 1342-7ZW8)
2022/03/22(火) 13:38:08.96ID:mA7AOTDM0 他の社員が入力してるものだからなあ
集計よりも入力用のシートを何とかできたら手っ取り早いんだがそれは無理なんかな
集計よりも入力用のシートを何とかできたら手っ取り早いんだがそれは無理なんかな
458デフォルトの名無しさん (ラクッペペ MMeb-7wAP)
2022/03/22(火) 13:43:49.21ID:R4HxgmoiM 色付けるよりマイナス記号打つ方が速いだろうに……
ご苦労さまでした
ご苦労さまでした
459デフォルトの名無しさん (スッップ Sd33-qAFj)
2022/03/22(火) 13:48:33.03ID:C94PEu1/d >>454
はっきり言えばこんなこともできないお前は手を出すな
はっきり言えばこんなこともできないお前は手を出すな
460デフォルトの名無しさん (ドコグロ MM63-zKmY)
2022/03/22(火) 14:03:10.79ID:l3SAD7eYM >>455
元のデータが 1, -2 ってなってるところを 1, 2 (←赤文字) で入力されてるんだろ
>>454
if Cells(行,列).Font.Color = RGB(255,0,0) Then ...
で判断できるよ
データ書き換えていいなら(てか、個人的にはそうすべきと思うが)
For C In ActiveSheet.UsedRange
If C.Font.Color = XlRgbColor.rgbRed And IsNumeric(C.Value) Then
C.Value = -C.Value
C.Font.Color = XlRgbColor.rgbBlack
End If
Next
として、一気に書き換えちゃうのがいいかも
元のデータが 1, -2 ってなってるところを 1, 2 (←赤文字) で入力されてるんだろ
>>454
if Cells(行,列).Font.Color = RGB(255,0,0) Then ...
で判断できるよ
データ書き換えていいなら(てか、個人的にはそうすべきと思うが)
For C In ActiveSheet.UsedRange
If C.Font.Color = XlRgbColor.rgbRed And IsNumeric(C.Value) Then
C.Value = -C.Value
C.Font.Color = XlRgbColor.rgbBlack
End If
Next
として、一気に書き換えちゃうのがいいかも
461デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/22(火) 19:08:50.48ID:Gjrul4fP0 >>456
流石に仕事場のPCを勝手に買い替えるのは私には出来ませんし、
最終的にフィルター等の処理は使用せずにかなりの高速化をはかることが出来ました。
この方式が最速ではないかも知れませんが、
今までADO接続でSQLを実施して
2〜3分掛かっていた処理が一瞬で終わるようになったので満足しています。
今まで質問に答えて頂いた方、色々参考にさせていたきました。
ありがとうございました。
流石に仕事場のPCを勝手に買い替えるのは私には出来ませんし、
最終的にフィルター等の処理は使用せずにかなりの高速化をはかることが出来ました。
この方式が最速ではないかも知れませんが、
今までADO接続でSQLを実施して
2〜3分掛かっていた処理が一瞬で終わるようになったので満足しています。
今まで質問に答えて頂いた方、色々参考にさせていたきました。
ありがとうございました。
462デフォルトの名無しさん (スプッッ Sd73-noLJ)
2022/03/22(火) 20:15:28.30ID:WUXZwGEtd463デフォルトの名無しさん (ワッチョイ b9aa-7ZW8)
2022/03/22(火) 23:22:39.90ID:VOPCLAbN0 本当にド素人なのでお許し下さい
ここに3枚の請求書(Excelデータ形式)があり、それぞれsheet1、sheet2、sheet3にあります
フォーマットはバラバラで文字や配置が異なります
これをsheet4で「支払日」「取引先名」「取引内容」「税込金額」を一覧表にしたいのです
こういうことはVBAでは可能でしょうか?
可能であれば、難易度はどの程度でしょうか?
*実際には請求書は数百枚あります
ここに3枚の請求書(Excelデータ形式)があり、それぞれsheet1、sheet2、sheet3にあります
フォーマットはバラバラで文字や配置が異なります
これをsheet4で「支払日」「取引先名」「取引内容」「税込金額」を一覧表にしたいのです
こういうことはVBAでは可能でしょうか?
可能であれば、難易度はどの程度でしょうか?
*実際には請求書は数百枚あります
464デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/22(火) 23:26:23.97ID:b3mXLXMM0465デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/22(火) 23:26:42.94ID:b3mXLXMM0 かわらん、と言ったけど手作業でコピペする方が早いわ
466デフォルトの名無しさん (ワッチョイ 292c-kNuw)
2022/03/22(火) 23:43:05.71ID:6kcI/g5C0 >>461
そのフィルターが処理するために、
全データをメモリに載せようとするから、メモリ不足でフリーズする
20万件 * 100項目 = 2千万項目, 20,000,000
仮に、1つの項目が1KB とすると、
20,000,000 KB = 20,000 MB = 20 GB
メモリに載せられないから、フリーズする
ファイルの読み込みと同じ。
20GBのファイルを一度に全部読み込めない
部分的な読み込みにしないと無理
例えば、1MBずつ読み込んで処理して、そのデータを捨てるとか。
これなら、1MBしかメモリを使わない
でも、この方法では、全データをソートしたりできない。
自分で実装できないから、結局、データベースを使うしかない
そのフィルターが処理するために、
全データをメモリに載せようとするから、メモリ不足でフリーズする
20万件 * 100項目 = 2千万項目, 20,000,000
仮に、1つの項目が1KB とすると、
20,000,000 KB = 20,000 MB = 20 GB
メモリに載せられないから、フリーズする
ファイルの読み込みと同じ。
20GBのファイルを一度に全部読み込めない
部分的な読み込みにしないと無理
例えば、1MBずつ読み込んで処理して、そのデータを捨てるとか。
これなら、1MBしかメモリを使わない
でも、この方法では、全データをソートしたりできない。
自分で実装できないから、結局、データベースを使うしかない
467デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/23(水) 00:15:35.00ID:HTP/aspP0468デフォルトの名無しさん (ワッチョイ 09da-4MhD)
2022/03/23(水) 00:34:00.08ID:3vbjDh2k0 。。同志達は例の追加された新しい関数の情報つかんでいるよね?
なんだか凄そうな予感
なんだか凄そうな予感
469デフォルトの名無しさん (ワッチョイ 41ce-noGs)
2022/03/23(水) 01:05:25.56ID:MTKAae3e0 ワークシート関数の追加のニュースなら見たけどVBAにも何か追加されるん?
https://forest.watch.impress.co.jp/docs/news/1395929.html
https://forest.watch.impress.co.jp/docs/news/1395929.html
470デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 05:27:44.59ID:kSdTSG5d0 >>466
なるほど、一度メモリに全て載せるようにするからフリーズするかのごとく重くなるのですね。
EXCELに割り当てられるメモリがどのくらいなのかは分かりませんが、納得です。
ありがとうございます。
なるほど、一度メモリに全て載せるようにするからフリーズするかのごとく重くなるのですね。
EXCELに割り当てられるメモリがどのくらいなのかは分かりませんが、納得です。
ありがとうございます。
471デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 05:59:20.73ID:kSdTSG5d0 >>467
最終的にはその重いシートを使用する場合にはADOを使用するのをやめました。
代わりに、>>397の人が教えてくれたような技法を使うようにしました。
正確には本来、プライマリキーが設定されるような最も検索後の件数が少なくなるような項目の列をFindで検索して、
その際に検索された値が入っている行の、別項目で最も値の大きい行を取得し、その行にある情報を取得するようにしました。
ADO接続ではSQLを投げられるのでかなり便利で、作成して扱う部品も統一化し易いのですが、
大量なデータを持つシートを扱う場合、或いは後に大量なデータを持つ可能性があると思われるシートを扱う場合は
都度個別にロジックを作成する必要があるという結論になりました。
最終的にはその重いシートを使用する場合にはADOを使用するのをやめました。
代わりに、>>397の人が教えてくれたような技法を使うようにしました。
正確には本来、プライマリキーが設定されるような最も検索後の件数が少なくなるような項目の列をFindで検索して、
その際に検索された値が入っている行の、別項目で最も値の大きい行を取得し、その行にある情報を取得するようにしました。
ADO接続ではSQLを投げられるのでかなり便利で、作成して扱う部品も統一化し易いのですが、
大量なデータを持つシートを扱う場合、或いは後に大量なデータを持つ可能性があると思われるシートを扱う場合は
都度個別にロジックを作成する必要があるという結論になりました。
472デフォルトの名無しさん (アウアウウー Sa5d-zKmY)
2022/03/23(水) 06:08:26.57ID:+yWQsdmla473デフォルトの名無しさん (ワッチョイ 134f-QoK8)
2022/03/23(水) 06:19:06.78ID:kSdTSG5d0 今は完全に個別の処理としてロジックを作成していますが、Findで一番検索後の件数が少なくなる場所を検索する部分は共通部品化出来そうですね。
その内その中で更にどのように抽出するかの部分においては別関数化してリフレクションで呼び出すようにすればその部分だけ個別で行えるような気もするので、
当面の目標はそれになります。
その内その中で更にどのように抽出するかの部分においては別関数化してリフレクションで呼び出すようにすればその部分だけ個別で行えるような気もするので、
当面の目標はそれになります。
474466 (ワッチョイ 292c-kNuw)
2022/03/23(水) 09:27:45.30ID:znQ4kzdw0 >>466
>仮に、1つの項目が1KB とすると、
>20,000,000 KB = 20,000 MB = 20 GB
1つの項目が100バイトなら、2GB。
これでも、メモリ不足になる
1つのアプリは普通、100MB ぐらいまででしょ?
数百MBも使えるアプリは無いでしょ?
使用メモリの制限を外さないと無理じゃないの?
>仮に、1つの項目が1KB とすると、
>20,000,000 KB = 20,000 MB = 20 GB
1つの項目が100バイトなら、2GB。
これでも、メモリ不足になる
1つのアプリは普通、100MB ぐらいまででしょ?
数百MBも使えるアプリは無いでしょ?
使用メモリの制限を外さないと無理じゃないの?
475デフォルトの名無しさん (ワッチョイ 5168-noGs)
2022/03/23(水) 09:46:29.99ID:KFrQJBSS0 メモリの制限に達するとストレージ、仮想メモリ使うよ・・・何を言ってるんだ・・・
476デフォルトの名無しさん (ワッチョイ 0b68-noGs)
2022/03/23(水) 09:50:01.23ID:MR2jKSYA0 >>474は後で恥ずかしい思いするぞ
それとも過去の人か
それとも過去の人か
■ このスレッドは過去ログ倉庫に格納されています
