- 1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
- ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part56 mevius.5ch.net/test/read.cgi/tech/1534976724/
- 399 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:34:16.30 ID:Z99vN/yN.net]
- >>382
まあCだと諸般の事情から文字列を渡す場合でも ByVal path As Stringじゃなくて ByRef path As Varian ってインタフェースがいいわけですが C#だと知らん
- 400 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:44:58.17 ID:sPlVwsRd.net]
- >>378
VBA->C#(COM)->PowerShell->(PS, C#, CMD, VBS, etc.)
- 401 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:06:47.65 ID:GrunNCaI.net]
- >>383,384,385
同じフォルダのDLLを呼ぶように出来るの? COM使うとしたらregasmが必要になるらしいけど・・・ ネットワーク共有フォルダ上のは設定出来ないのでは? あ、遅延バインディングで出来るんだろうか
- 402 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:17:50.47 ID:Z99vN/yN.net]
- >>3
- 403 名前:86
自作DLLをVBAから呼ぶっていう単純な話だよね? 別にどんなフォルダにあろうと関係ないけど。 あとSelectionそのものじゃなくて配列化したデータを渡すんだったらCOMなんていらなくて WIN32APIだけでできる。 []- [ここ壊れてます]
- 404 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:30:05.56 ID:3gV95ADu.net]
- 要はCADデータからメタ情報を抽出して、できればExcel形式で一覧化したい系の?
- 405 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:46:24.03 ID:GrunNCaI.net]
- >>387
そうだね。.NET系のDLLの関数を使いたい系。 COM登録せずに呼び出す方法あるのか。 参考URLとかもらえないだろうか。 >>388 メタ情報じゃないかなー図形情報の位置関係から特定の情報だけリストアップしてる。 まぁ例だからこれに限った話じゃないのだけど、VBAで書き直すのは無理ゲーすぎる。
- 406 名前:388 mailto:sage [2018/09/25(火) 01:06:10.25 ID:s1AsV/RM.net]
- >>389
確かにそれだと自作DLLぐらいしか解決策なさそうだな。 んで、C#で書いた.NET系のDLLの関数をRegAsm使わないで呼び出したいと・・・悪いけど正直やったことない。 が、DLLをEXCEL.EXEと同じ所に置けるなら↓の方法が使えるかもしれない。 www.ka-net.org/blog/?p=6198 全然見当違いだったら申し訳ないが。
- 407 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:07:06.26 ID:HENVIdME.net]
- フォームにオプションボタン1,2,3、リストボックス1,2,3を設置
オプションボタン2にチェックがあるとき、リストボックス2表示、リストボックス1,3は非表示 という具合に、オプションボタンにチェックがあるときに対応するリストボックスを表示、それ以外を非表示にしたいです Private Sub UserForm_Activate() If OptionButton1.Value = True Then ListBox1.Visible = True ListBox2.Visible = False ListBox3.Visible = False ElseIf OptionButton2.Value = True Then ListBox1.Visible = False ListBox2.Visible = True ListBox3.Visible = False ElseIf OptionButton3.Value = True Then 省略 end if と書いてみたのですが、リストボックスの表示、非表示をコントロールできません どうすればいいでしょうか
- 408 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:25:16.89 ID:Rh4u2+TF.net]
- >>386
プロフェッショナルなら可能
- 409 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:35:56.01 ID:quZOCI3i.net]
- >>391
オプションボタンのクリックイベントに書かないと動かなくて当然
- 410 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:09:20.22 ID:5hhJfzHj.net]
- >>389
まず、そのDLLはCOMなのか、通常の呼び出し用なのか、.NET用なのか COMなら参照設定なりCreateObjectなりで 通常のDLLならDeclare Function(SUB)で呼び出せば良いだけ .NETのDLLは.NET以外から呼び出すのは難しいので、素直にCOM公開する方が楽 まあその相手方(たとえばAutoCAD?)がCOM公開してくれるのが一番楽だろうけど
- 411 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:09:27.10 ID:HENVIdME.net]
- >>393
あーそうでした!お恥ずかしい ありがとうございました
- 412 名前:デフォルトの名無しさん [2018/09/25(火) 19:15:41.25 ID:SdejvHFK.net]
- すみません、切実に助けて頂きたいです。
現在、VBAからoracle12cにado接続してデータアップデートを行う処理を作成しています。 ですが、更新はうまく行くのですが、なぜか処理件数がどうしても0になってしまいます。 何時間も色んなサイトを参考にしたり、したのですが、ダメで… 色々なサイトにあるソースをコピペして接続先やテーブル名のみ変えて貼ったりもしてみましたが、実行するとやはり更新はされるのに処理件数が取得できません。 もう自分ではどうすることも出来ず、どなたか助けて下さい…お願いいたします。
- 413 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:31:14.47 ID:ObO6oAGo.net]
- >>396
どうやって取ろうとしている?
- 414 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:41:07.98 ID:/T1GixS7
]
- [ここ壊れてます]
- 415 名前:.net mailto: >>396
当然、これを見てlong型の第2引数を指定した…ってのは勿論やったんだよね? https://msdn.microsoft.com/ja-jp/library/cc364125.aspx [] - [ここ壊れてます]
- 416 名前:デフォルトの名無しさん [2018/09/26(水) 00:30:33.04 ID:17jq3B2z.net]
- WinScard API使ってリーダーに設置したカードのIDmをセルに入力させたいのですが、うまく機能しません。
サンプルコードがありましたらご教示願います。
- 417 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:13:21.41 ID:6OKvzXmf.net]
- >>396
プロパイダ(ドライバ)によってはレコード件数返さん奴があったはず 一回プロパイダ変えて試してみ 最悪は更新と同じ条件のselect投げて件数取得してから更新かけれ
- 418 名前:396 [2018/09/26(水) 09:21:14.19 ID:rrNz/9UY.net]
- 397、396
コマンドオブジェクトから、以下のようにしてやっていました。 com.execute(re) comはADODB.COMMANDで、updete文を設定してあり、更新自体はうまくいきます。 reはlong型の変数です。 マニュアルのとおり、コネクションでexecuteもやってみたのですが、結果は返らず… 400 Microsoft ACTIVEX data objects 6.1を使ってみているのですが、ほかのバージョンにしてもダメでした… ADO接続を使用する上で、必要な参照が上記以外にあるのでしょうか… 皆さんすみません、ほんとうに素人丸出しで申し訳ございません…
- 419 名前:デフォルトの名無しさん [2018/09/26(水) 16:42:22.74 ID:JgSk1Rg0.net]
- VBAの勉強をしようと思うのですが、まず何から始めればいいですか?教えてください。
- 420 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:05:59.73 ID:cCj/GZBP.net]
- まず服を脱ぎます。
- 421 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 18:16:51.93 ID:Dt06YZ+t.net]
- >>402
まずやりたい事を考えるといい。 最初は既存の関数の真似するプログラムでも書いて基本的な書き方を覚えるとかオススメ。 関数使えばチェックできるし。 慣れてきたら、百ます計算を作るでもいいし、ナンプレを作るでもいい。日常的にエクセルでやってる操作があるなら自動化してみるでもいい。 そのために必要なことはググれば全部出てくる。
- 422 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 18:45:15.00 ID:OGb2Ur6B.net]
- 以下二点留意すればあとはググりながら独学で大丈夫かと思います
・普通に日英両方でググっても出てこなかったら他のモダンな言語の出番だと察する癖をつける ・bufとかSub Sample1()とかobjFsoといった特徴的な表記をサンプルコードで多用しているサイトは悪いコードの見本市なので極力真似ないように今から気を付ける
- 423 名前:デフォルトの名無しさん [2018/09/26(水) 19:12:00.05 ID:+un+mAjX.net]
- そしておもむろに肛門にこびりついトレペかすを掃除します。
- 424 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:12:58.42 ID:SfBrsqof.net]
- >>401
12cならOracle.ManagedDataAccessがオススメ
- 425 名前:デフォルトの名無しさん [2018/09/26(水) 21:33:09.71 ID:JgSk1Rg0.net]
- >>404
いきなり参考書から始めないほうがいいってネットに書いてありましたけど、本当ですか?
- 426 名前:デフォルトの名無しさん [2018/09/26(水) 22:45:53.91 ID:+un+mAjX.net]
- ネットに書いてある事を素人が真似ると最悪直腸が破裂する危険もあります。
初心者が浣腸プレイに挑戦する時は必ず上級者に直接教えてもらうようにしまちょう。
- 427 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:16:47.85 ID:4uP8tILz.net]
- >>409
それ、面白いと思って書いたの?
- 428 名前:デフォルトの名無しさん [2018/09/26(水) 23:17:53.84 ID:+un+mAjX.net]
- >>410
面白いと思ったの?w
- 429 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:33:31.70 ID:4uP8tILz.net]
- >>411
いや、微塵も 笑わせるつもりがないのなら何で書いたのかなと思って
- 430 名前:デフォルトの名無しさん [2018/09/26(水) 23:35:48.77 ID:+un+mAjX.net]
- >>412
じゃなんで面白いと思ったの?って書いたの?w
- 431 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:48:40.23 ID:4uP8tILz.net]
- >>413
滑ってるようにしか見えなかったから
- 432 名前:デフォルトの名無しさん [2018/09/27(木) 08:01:55.54 ID:99b9Jx0M.net]
- >>414
結局おまえが盛大にスベっとるやんw恥をしれw
- 433 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 08:16:20.10 ID:zQmuEMQe.net]
- >>408
画面で一行ごとの動きを見ながら勉強した方が解説読むより理解しやすい。タイピングする時間も解説を読む時間も無駄。
- 434 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 12:17:06.67 ID:UAsp+BRN.net]
- >>402
まず入門書かって読めばいいんじゃね
- 435 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 12:26:33.91 ID:UAsp+BRN.net]
- 勉強のやり方をを勉強しないと勉強できないとか
- 436 名前:デフォルトの名無しさん [2018/09/27(木) 21:40:20.96 ID:hL85+V3Z.net]
- https://i.imgur.com/69DoZWN.jpg
どうしても必要で困っています どなたか詳しい方がいらっしゃったら作成をお願いします。
- 437 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 21:48:20.24 ID:qqpzpvHf.net]
- >>419
SUMIFSで出来ると思うよ。 VBA使うにしてもSUMIFSを使うのが効率の良いやり方だと思う。
- 438 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 21:54:42.81 ID:MgIWwOWH.net]
- >>419
サンプルデータあげてくれれば作るよ そのファイルの上から30行くれ まぁやることは JAN & 有効期限 & ロット番号の作業列作ってピボットに突っ込むだけだけどな
- 439 名前:デフォルトの名無しさん [2018/09/27(木) 21:55:15.47 ID:hL85+V3Z.net]
- >>420
ありがとうございます。 ググってその関数を見つけたのですが、どう記述したら実現出来るのかが分からなくて…
- 440 名前:デフォルトの名無しさん [2018/09/27(木) 21:56:35.93 ID:hL85+V3Z.net]
- >>421
サンプルデータってどこにどうやってアップロードすればいいですか??
- 441 名前:デフォルトの名無しさん [2018/09/27(木) 22:10:56.58 ID:pq96CSzd.net]
- 普通にデータソースをそのブックのシートにして
SQL書けばきっと簡単にできる VBAなんか不要
- 442 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 22:19:36.54 ID:MgIWwOWH.net]
- >>423
fast-uploader.com/ 「ファイルを選択」 「アップロード開始」 これが出来ないなら流石に何もしない
- 443 名前:デフォルトの名無しさん [2018/09/27(木) 22:21:31.13 ID:hL85+V3Z.net]
- >>425
fast-uploader.com/file/7093610017708/
- 444 名前:デフォルトの名無しさん [2018/09/27(木) 22:22:48.42 ID:hL85+V3Z.net]
- >>425
ありがとうございます。 426のコメントでアップロードしています。 ご確認ください(^-^)
- 445 名前:デフォルトの名無しさん [2018/09/27(木) 22:30:26.82 ID:pq96CSzd.net]
- https://i.imgur.com/g0LaQIP.png
sheet1 https://i.imgur.com/CswmAtc.png sheet2 ※ sheet2にsheet1の結果を抽出 ↓この抽出結果 SELECT min(`Sheet1$`.aho) , sum(`Sheet1$`.baka) , min(`Sheet1$`.じゃま) FROM `himistu\baka.xlsx`.`Sheet1$` `Sheet1$` group by `Sheet1$`.aho
- 446 名前:デフォルトの名無しさん [2018/09/27(木) 22:48:24.69 ID:pq96CSzd.net]
- fast-uploader.com/file/7093611609249/
完成
- 447 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 22:54:14.35 ID:MgIWwOWH.net]
- >>429
間違ってない? ユーロジンが一つになっている
- 448 名前:デフォルトの名無しさん [2018/09/27(木) 23:00:45.54 ID:hL85+V3Z.net]
- >>429
早速の作成ありがとうございます。 私の伝え方が不十分だったかも知れませんが、430のコメントの通りです。 お時間があれば修正していただけると助かります。
- 449 名前:デフォルトの名無しさん [2018/09/27(木) 23:03:47.01 ID:pq96CSzd.net]
- fast-uploader.com/file/7093612560800/
よしなおした
- 450 名前:デフォルトの名無しさん [2018/09/27(木) 23:06:15.22 ID:hL85+V3Z.net]
- >>432
ありがとうございます。 ちなみに、新たにデータを作成するのですが、そのデータに対して処理するにはどのようにすればよいですか??
- 451 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:09:53.34 ID:MgIWwOWH.net]
- あら負けた
fast-uploader.com/file/7093612906901/ ピボットで表みたいにするやり方がわからんかったわ
- 452 名前:デフォルトの名無しさん [2018/09/27(木) 23:14:28.37 ID:pq96CSzd.net]
- ↓セパゾン錠2を100個追加
https://i.imgur.com/PgDS
- 453 名前:jOe.png
↓[データ]タブ→[すべて更新]押下 https://i.imgur.com/mSvw0XM.png セパゾン錠2が155個になってる カンペキ [] - [ここ壊れてます]
- 454 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:23:57.47 ID:MgIWwOWH.net]
- >>423
この集計、どうやって作ったか教えて下さい! テーブル作る所までしかわかりませんでした
- 455 名前:デフォルトの名無しさん [2018/09/27(木) 23:43:17.54 ID:pq96CSzd.net]
- 新規に作成したい場合
[データ]タブ → [その他のデータソース] → [Microsoft Query] ↓ Excel Files ↓ このファイル ↓ Sheet1$ > → 次へ → 次へ → 次へ → 。。。クエリの編集を行う → 完了 ↓ SQL ↓ SELECT `Sheet1$`.YJコード, Sum(`Sheet1$`.前月末在庫数), Min(`Sheet1$`.前月末評価単価), Min(`Sheet1$`.薬品名), Min(`Sheet1$`.単位名), Min(`Sheet1$`.薬価), Min(`Sheet1$`.通常仕入れ先コード), Min(`Sheet1$`.発注点), Min(`Sheet1$`.JANコード), Min(`Sheet1$`.棚番1), Min(`Sheet1$`.棚番2), Min(`Sheet1$`.枝番), Min(`Sheet1$`.包装名称), `Sheet1$`.有効期限, `Sheet1$`.ロット番号 FROM `ひみつ\サンプルデータ.xlsx`.`Sheet1$` `Sheet1$` GROUP BY `Sheet1$`.YJコード, `Sheet1$`.有効期限, `Sheet1$`.ロット番号 ↓ [ファイル] → Microsoft Office Excelにデータを返す コレでイケル 一件落着
- 456 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:56:33.07 ID:MgIWwOWH.net]
- >>437
ありがとー!
- 457 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:57:51.93 ID:MgIWwOWH.net]
- エクセルって自分自身をソースにしてSQL発行なんてできたのか・・・
凄すぎて泣けてきた。もっと早く知りたかったな
- 458 名前:デフォルトの名無しさん [2018/09/28(金) 00:15:50.74 ID:h9+2U6ZR.net]
- >>437
作成を依頼したものです。 まだ詳しく確認できていませんが、色々とスピーディーに対応していただきありがとうございます。
- 459 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 04:54:48.92 ID:7Dx3JKmZ.net]
- よくこんな馬鹿を相手にするな
- 460 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 07:18:03.33 ID:3N0zeARs.net]
- 以上、無能の自己紹介でした
- 461 名前:デフォルトの名無しさん [2018/09/28(金) 09:03:04.35 ID:zkBwEOAZ.net]
- なんちゃってマップはどうなった
- 462 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 18:29:54.42 ID:AnMtzl3w.net]
- >>442
悔しいか、屑
- 463 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:43:53.67 ID:3N0zeARs.net]
- >>444
おっ! 天才様の登場だ〜〜〜www
- 464 名前:デフォルトの名無しさん [2018/09/28(金) 21:17:46.20 ID:k5h2WtG4.net]
- やっぱりな
この板で役に立つレスは オレしかしてない
- 465 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:26:48.63 ID:mtesGZvP.net]
- 天才様ドーナツ作って
- 466 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 23:16:32.45 ID:AJk9wJBe.net]
- >>446
でもお前、VBAしか出来ないじゃん
- 467 名前:デフォルトの名無しさん [2018/09/29(土) 16:35:28.06 ID:V4hAUMop.net]
- >>432
Excel2010じゃ動かないんですかね
- 468 名前:デフォルトの名無しさん [2018/09/29(土) 17:27:14.21 ID:IuTgmxg/.net]
- 1. サンプルデータ.xlsxをダウソ(>>426)
2. aho.dqyをダウソ(fast-uploader.com/file/7093764952195/) 3. aho.dqyをテキストエディタで開く 4. aho.dqyの【ひみつ】をサンプルデータ.xlsxがあるディレクトリフルパスに置換 5. aho.dqyをダブルクリック コレでイケル バカでもチョンでもイケル >>432はExcel2010がダメなワケじゃない 知能が著しく低いヤツには動くようにはできない
- 469 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 20:04:17.86 ID:m1u3SrFL.net]
- だが気をつけて欲しい
Jet 4.0 は64bit版には対応していない
- 470 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 20:04:56.48 ID:UGjn5ihf.net]
- 久々に覗いたらなんじゃこりゃ・・・質問した人、理解できてるのか? これ。
まぁ理解できるならSQLでもいいだろうけどさ。 >>440 開業医んとこか薬局んとこか分からないけど・・・まぁその、お疲れ様。 とりあえず分からないようなら他の解決策もあるのでその旨言ってね。
- 471 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 20:12:30.98 ID:UGjn5ihf.net]
- >>440
ついでに。 >元の在庫管理データっぽいの
- 472 名前:白lであった方が良い部分が文字列として入力されてる。問題なければそのままで良いけど。
それより、有効期限とロットNo.が空欄の薬剤があるけど大丈夫? たぶんデータの取り出し方の問題か何かだと思うけど。 >SQL 作ってくれた人には申し訳ないけど、JANコードじゃなくてYJコードで集計しちゃってるので一応注意。 まぁどっちでも大して変わらないんだけど。 [] - [ここ壊れてます]
- 473 名前:デフォルトの名無しさん [2018/09/29(土) 23:48:20.58 ID:IuTgmxg/.net]
- aho.dqyの抽出問合せを修正すれば(@〜Bの箇所を修正)すぐに修正できる
(修正前) SELECT aho.YJコード, @ Sum(aho.前月末在庫数), Min(aho.前月末評価単価), Min(aho.薬品名), Min(aho.単位名), Min(aho.薬価), Min(aho.通常仕入れ先コード), Min(aho.発注点), Min(aho.JANコード), A Min(aho.棚番1), Min(aho.棚番2), Min(aho.枝番), Min(aho.包装名称), aho.有効期限, aho.ロット番号 FROM `【ひみつ】\サンプルデータ.xlsx`.`Sheet1$` aho GROUP BY aho.YJコード, B aho.有効期限, aho.ロット番号
- 474 名前:デフォルトの名無しさん [2018/09/29(土) 23:50:30.45 ID:IuTgmxg/.net]
-
(修正後) SELECT Min(aho.YJコード), @ Sum(aho.前月末在庫数), Min(aho.前月末評価単価), Min(aho.薬品名), Min(aho.単位名), Min(aho.薬価), Min(aho.通常仕入れ先コード), Min(aho.発注点), aho.JANコード, A Min(aho.棚番1), Min(aho.棚番2), Min(aho.枝番), Min(aho.包装名称), aho.有効期限, aho.ロット番号 FROM `【ひみつ】\サンプルデータ.xlsx`.`Sheet1$` aho GROUP BY aho.JANコード, B aho.有効期限, aho.ロット番号 この修正で、どう集計されてるか理解できるハズ
- 475 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 00:00:43.46 ID:TbDeVj+o.net]
- 自分には理解できていても質問者が理解できているかは別
- 476 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 00:03:38.45 ID:ItvcYfS7.net]
- >452
内容的にドラッグストアだと思う ってか俺がドラッグストア勤務
- 477 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 14:48:48.37 ID:I0OjYnSY.net]
- >>451
Jetの後継でACE.OLEDBってのがある 64ビット版もある 問題は、32ビット版と64ビット版の共存ができないが
- 478 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 17:57:31.99 ID:3+iEwgWt.net]
- 作成依頼のVBAです。どなたかお願いします。
フィルタオプションを使ったVBAなのですが、上手い方法がないものか・・。 用意するシート 「総合商品情報」、「抽出条件」、「denpyou」「date」「tantou」「kata」「kazu」の7つを用意 総合商品情報のA1に「伝票No.」、B1に「日付」、C1に「担当」、D1に「型番」、E1に「数量」と記載され、 そして各項の2行目以降にデータが延々と羅列されている。 そこから特定の条件の情報を抽出したい。 条件はシート「抽出条件」にある。 シート「抽出条件」のA1〜E1は各項目の名前があり、 A2〜E2の条件で抽出したい。 A1=「伝票No.」 A2=「1001」 B1=「日付」 B2=「2018/1/1」 C1=「担当」 C2=「山田」 D1=「型番」 D2=「A-001」 E1=「数量」 E2=「1」 抽出条件が伝票No.「1001」で抽出したデータはシート「denpyou」のA1に抽出 日付「2018/1/1」で抽出したデータはシート「date」のA1に抽出 担当「山田」で抽出したデータはシート「tantou」のA1に抽出 型番「A-001」で抽出したデータはシート「kata」のA1に抽出 数量「1」で抽出したデータはシート「kazu」のA1に抽出する。 ただし、抽出条件に記載があっても、総合商品情報には記載がない場合もある。 (※例えば、抽出条件「山田」が総合商品情報のC列にはないとか) その場合はエラーを無視して、他のシートの抽出を実行して欲しい。 ※分かりにくい説明かもしれませんが、よろしくお願いします。
- 479 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 18:03:15.18 ID:FLQTI8+6.net]
- SQL発行すれば何とかなると思う
- 480 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 18:16:07.23 ID:hh5CI8rl.net]
- VBAなんか使わなくても普通にVLOOKUPで一瞬でできるな
- 481 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 23:25:01.00 ID:BlMeh26g.net]
- それ、作ってもらったとして、自分でメンテできます?
- 482 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 23:39:46.62 ID:ItvcYfS7.net]
- vlookupと作業列でいいんじゃねって思ってしまう
- 483 名前:デフォルトの名無しさん [2018/09/30(日) 23:40:53.09 ID:aYXyCrkn.net]
- ああ
オレなら余裕でサクッとできるわあ キミラ低能にコレできる? VLOOKUPでは行は1行しかとれない 少なくともコレではできない
- 484 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 23:47:05.68 ID:ItvcYfS7.net]
- >>459
fast-uploader.com/file/7093874344745/ こんな
- 485 名前:漢字でしょ
テキトーに作ったけど多分もんだいはないと思う [] - [ここ壊れてます]
- 486 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 23:49:34.63 ID:ItvcYfS7.net]
- >>464
自己紹介好きだねぇ 君はエクセル覚えたての中学生かなんかだと思うけど、もう少し頑張れ これぐらいなら見た瞬間に完成図が思い浮かぶよ vbaにするまでも無い
- 487 名前:デフォルトの名無しさん [2018/09/30(日) 23:56:56.43 ID:aYXyCrkn.net]
- でた、vbaしかできない低学歴知恵遅れITドカタふがいきってる
- 488 名前:デフォルトの名無しさん [2018/10/01(月) 00:00:41.84 ID:zfKNS/F/.net]
- で、低学歴知恵遅れは
どこにVLOOKUP使ったの? ん? いってみ?
- 489 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 06:39:47.60 ID:MCBRDKcK.net]
- >>468
本気で言ってるのか?
- 490 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 07:49:25.42 ID:u6gUPL8M.net]
- sortについての質問です
レコードがあって、並び替えの基準列が例えば 0 4 1 0 5 となってたとします。これを 0 0 4 1 5 に並び替えたいのです。要は特定の値とそれ以外に分離させたいんです。 現状は行の下からループを回して、特定の値ではないならば行をカットして一番下に挿入するというコードなのですが遅いです。 なにかいい方法はないでしょうか
- 491 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 08:05:44.31 ID:K7Kh8NR/.net]
- >>470
すべて配列に突っ込んで、配列上で並べかえてから書き換え
- 492 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 08:06:55.02 ID:PpuAKpxM.net]
- >>470
=A1=0 の列を追加してソート
- 493 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 08:13:41.55 ID:IH0VbElQ.net]
- >>459
うーん VLOOKUP使えと言ってる人がいるけど VLOOKUPは複数行に同じデータが存在したとき 最初の一つ目を取得して来るんで キー項目が無いと厳しいんじゃね?
- 494 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 08:25:33.53 ID:iFb8zFFH.net]
- countifと組み合せればできるよ
>>470もそうだけど、このスレ見てるとすぐVBA使いたがる人ってちょっと頭が残念なだけなのかなと思っちゃうね
- 495 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:15:58.47 ID:oBEcQ0XA.net]
- そらVBAの質問スレやしな。エクセル標準機能でもいいならエクセル質問板いくやろ
- 496 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 10:03:52.20 ID:H4/VTF+j.net]
- 質問する方はね。
回答する方はVBAでやるべきかどうかと考えないのか。
- 497 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 10:46:30.51 ID:bOC85JQ9.net]
- >>472
その発想は無かった…… なるほどbooleanに変換してしまえばいいんですね。ありがとうございました。
- 498 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 11:36:11.29 ID:oBEcQ0XA.net]
- >>476
質問する方は関数で出来るのを承知でVBAの答えを求めていると考えてVBAでしか答えないというスタンスもある。別に関数や操作で出来ることを教えてあげる点については異論はない。そういう答え方をしたい人がそう伝えればいい
- 499 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 17:34:28.00 ID:x1tycYY6.net]
- マクロってむかし使ったとき選択セルを基準に動いてた気がしたんだけど
今のパソコンでは違う場所で使おうとしても記憶した場所でしか動かなくなったけど
|

|