Excel VBA 質問スレ Part57

■ このスレッドは過去ログ倉庫に格納されています
2018/09/10(月) 21:42:39.57ID:K1uuwFLt
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
http://mevius.5ch.net/test/read.cgi/tech/1534976724/
426デフォルトの名無しさん
垢版 |
2018/09/27(木) 22:21:31.13ID:hL85+V3Z
>>425

http://fast-uploader.com/file/7093610017708/
427デフォルトの名無しさん
垢版 |
2018/09/27(木) 22:22:48.42ID:hL85+V3Z
>>425

ありがとうございます。
426のコメントでアップロードしています。
ご確認ください(^-^)
428デフォルトの名無しさん
垢版 |
2018/09/27(木) 22:30:26.82ID:pq96CSzd
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
429デフォルトの名無しさん
垢版 |
2018/09/27(木) 22:48:24.69ID:pq96CSzd
http://fast-uploader.com/file/7093611609249/
完成
2018/09/27(木) 22:54:14.35ID:MgIWwOWH
>>429
間違ってない?
ユーロジンが一つになっている
431デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:00:45.54ID:hL85+V3Z
>>429
早速の作成ありがとうございます。

私の伝え方が不十分だったかも知れませんが、430のコメントの通りです。

お時間があれば修正していただけると助かります。
432デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:03:47.01ID:pq96CSzd
http://fast-uploader.com/file/7093612560800/
よしなおした
433デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:06:15.22ID:hL85+V3Z
>>432
ありがとうございます。
ちなみに、新たにデータを作成するのですが、そのデータに対して処理するにはどのようにすればよいですか??
2018/09/27(木) 23:09:53.34ID:MgIWwOWH
あら負けた
http://fast-uploader.com/file/7093612906901/

ピボットで表みたいにするやり方がわからんかったわ
435デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:14:28.37ID:pq96CSzd
↓セパゾン錠2を100個追加
https://i.imgur.com/PgDSjOe.png

↓[データ]タブ→[すべて更新]押下
https://i.imgur.com/mSvw0XM.png
セパゾン錠2が155個になってる

カンペキ
2018/09/27(木) 23:23:57.47ID:MgIWwOWH
>>423
この集計、どうやって作ったか教えて下さい!
テーブル作る所までしかわかりませんでした
437デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:43:17.54ID:pq96CSzd
新規に作成したい場合

[データ]タブ → [その他のデータソース] → [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にデータを返す

コレでイケル
一件落着
2018/09/27(木) 23:56:33.07ID:MgIWwOWH
>>437
ありがとー!
2018/09/27(木) 23:57:51.93ID:MgIWwOWH
エクセルって自分自身をソースにしてSQL発行なんてできたのか・・・
凄すぎて泣けてきた。もっと早く知りたかったな
440デフォルトの名無しさん
垢版 |
2018/09/28(金) 00:15:50.74ID:h9+2U6ZR
>>437
作成を依頼したものです。
まだ詳しく確認できていませんが、色々とスピーディーに対応していただきありがとうございます。
2018/09/28(金) 04:54:48.92ID:7Dx3JKmZ
よくこんな馬鹿を相手にするな
2018/09/28(金) 07:18:03.33ID:3N0zeARs
以上、無能の自己紹介でした
443デフォルトの名無しさん
垢版 |
2018/09/28(金) 09:03:04.35ID:zkBwEOAZ
なんちゃってマップはどうなった
2018/09/28(金) 18:29:54.42ID:AnMtzl3w
>>442
悔しいか、屑
2018/09/28(金) 19:43:53.67ID:3N0zeARs
>>444
おっ!
天才様の登場だ〜〜〜www
446デフォルトの名無しさん
垢版 |
2018/09/28(金) 21:17:46.20ID:k5h2WtG4
やっぱりな
この板で役に立つレスは
オレしかしてない
2018/09/28(金) 21:26:48.63ID:mtesGZvP
天才様ドーナツ作って
2018/09/28(金) 23:16:32.45ID:AJk9wJBe
>>446
でもお前、VBAしか出来ないじゃん
449デフォルトの名無しさん
垢版 |
2018/09/29(土) 16:35:28.06ID:V4hAUMop
>>432
Excel2010じゃ動かないんですかね
450デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:27:14.21ID:IuTgmxg/
1. サンプルデータ.xlsxをダウソ(>>426
2. aho.dqyをダウソ(http://fast-uploader.com/file/7093764952195/
3. aho.dqyをテキストエディタで開く
4. aho.dqyの【ひみつ】をサンプルデータ.xlsxがあるディレクトリフルパスに置換
5. aho.dqyをダブルクリック

コレでイケル
バカでもチョンでもイケル

>>432はExcel2010がダメなワケじゃない
知能が著しく低いヤツには動くようにはできない
2018/09/29(土) 20:04:17.86ID:m1u3SrFL
だが気をつけて欲しい
Jet 4.0 は64bit版には対応していない
2018/09/29(土) 20:04:56.48ID:UGjn5ihf
久々に覗いたらなんじゃこりゃ・・・質問した人、理解できてるのか? これ。
まぁ理解できるならSQLでもいいだろうけどさ。

>>440
開業医んとこか薬局んとこか分からないけど・・・まぁその、お疲れ様。
とりあえず分からないようなら他の解決策もあるのでその旨言ってね。
2018/09/29(土) 20:12:30.98ID:UGjn5ihf
>>440
ついでに。

>元の在庫管理データっぽいの
数値であった方が良い部分が文字列として入力されてる。問題なければそのままで良いけど。
それより、有効期限とロットNo.が空欄の薬剤があるけど大丈夫? たぶんデータの取り出し方の問題か何かだと思うけど。

>SQL
作ってくれた人には申し訳ないけど、JANコードじゃなくてYJコードで集計しちゃってるので一応注意。
まぁどっちでも大して変わらないんだけど。
454デフォルトの名無しさん
垢版 |
2018/09/29(土) 23:48:20.58ID:IuTgmxg/
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.ロット番号
455デフォルトの名無しさん
垢版 |
2018/09/29(土) 23:50:30.45ID:IuTgmxg/
 
(修正後)

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.ロット番号


この修正で、どう集計されてるか理解できるハズ
2018/09/30(日) 00:00:43.46ID:TbDeVj+o
自分には理解できていても質問者が理解できているかは別
2018/09/30(日) 00:03:38.45ID:ItvcYfS7
>452
内容的にドラッグストアだと思う
ってか俺がドラッグストア勤務
2018/09/30(日) 14:48:48.37ID:I0OjYnSY
>>451
Jetの後継でACE.OLEDBってのがある
64ビット版もある

問題は、32ビット版と64ビット版の共存ができないが
2018/09/30(日) 17:57:31.99ID:3+iEwgWt
作成依頼の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列にはないとか)
その場合はエラーを無視して、他のシートの抽出を実行して欲しい。

※分かりにくい説明かもしれませんが、よろしくお願いします。
2018/09/30(日) 18:03:15.18ID:FLQTI8+6
SQL発行すれば何とかなると思う
2018/09/30(日) 18:16:07.23ID:hh5CI8rl
VBAなんか使わなくても普通にVLOOKUPで一瞬でできるな
2018/09/30(日) 23:25:01.00ID:BlMeh26g
それ、作ってもらったとして、自分でメンテできます?
2018/09/30(日) 23:39:46.62ID:ItvcYfS7
vlookupと作業列でいいんじゃねって思ってしまう
464デフォルトの名無しさん
垢版 |
2018/09/30(日) 23:40:53.09ID:aYXyCrkn
ああ
オレなら余裕でサクッとできるわあ

キミラ低能にコレできる?

VLOOKUPでは行は1行しかとれない
少なくともコレではできない
2018/09/30(日) 23:47:05.68ID:ItvcYfS7
>>459
http://fast-uploader.com/file/7093874344745/
こんな漢字でしょ
テキトーに作ったけど多分もんだいはないと思う
2018/09/30(日) 23:49:34.63ID:ItvcYfS7
>>464
自己紹介好きだねぇ
君はエクセル覚えたての中学生かなんかだと思うけど、もう少し頑張れ

これぐらいなら見た瞬間に完成図が思い浮かぶよ
vbaにするまでも無い
467デフォルトの名無しさん
垢版 |
2018/09/30(日) 23:56:56.43ID:aYXyCrkn
でた、vbaしかできない低学歴知恵遅れITドカタふがいきってる
468デフォルトの名無しさん
垢版 |
2018/10/01(月) 00:00:41.84ID:zfKNS/F/
で、低学歴知恵遅れは
どこにVLOOKUP使ったの?

ん? いってみ?
2018/10/01(月) 06:39:47.60ID:MCBRDKcK
>>468
本気で言ってるのか?
2018/10/01(月) 07:49:25.42ID:u6gUPL8M
sortについての質問です
レコードがあって、並び替えの基準列が例えば
0
4
1
0
5
となってたとします。これを
0
0
4
1
5
に並び替えたいのです。要は特定の値とそれ以外に分離させたいんです。
現状は行の下からループを回して、特定の値ではないならば行をカットして一番下に挿入するというコードなのですが遅いです。
なにかいい方法はないでしょうか
2018/10/01(月) 08:05:44.31ID:K7Kh8NR/
>>470
すべて配列に突っ込んで、配列上で並べかえてから書き換え
2018/10/01(月) 08:06:55.02ID:PpuAKpxM
>>470
=A1=0
の列を追加してソート
2018/10/01(月) 08:13:41.55ID:IH0VbElQ
>>459
うーん
VLOOKUP使えと言ってる人がいるけど
VLOOKUPは複数行に同じデータが存在したとき
最初の一つ目を取得して来るんで
キー項目が無いと厳しいんじゃね?
2018/10/01(月) 08:25:33.53ID:iFb8zFFH
countifと組み合せればできるよ
>>470もそうだけど、このスレ見てるとすぐVBA使いたがる人ってちょっと頭が残念なだけなのかなと思っちゃうね
2018/10/01(月) 09:15:58.47ID:oBEcQ0XA
そらVBAの質問スレやしな。エクセル標準機能でもいいならエクセル質問板いくやろ
2018/10/01(月) 10:03:52.20ID:H4/VTF+j
質問する方はね。
回答する方はVBAでやるべきかどうかと考えないのか。
2018/10/01(月) 10:46:30.51ID:bOC85JQ9
>>472
その発想は無かった……
なるほどbooleanに変換してしまえばいいんですね。ありがとうございました。
2018/10/01(月) 11:36:11.29ID:oBEcQ0XA
>>476
質問する方は関数で出来るのを承知でVBAの答えを求めていると考えてVBAでしか答えないというスタンスもある。別に関数や操作で出来ることを教えてあげる点については異論はない。そういう答え方をしたい人がそう伝えればいい
2018/10/01(月) 17:34:28.00ID:x1tycYY6
マクロってむかし使ったとき選択セルを基準に動いてた気がしたんだけど
今のパソコンでは違う場所で使おうとしても記憶した場所でしか動かなくなったけど
2018/10/01(月) 17:40:54.99ID:x1tycYY6
(選択セルでショートカットキーを押すとセルの中心にチェックボックスを作るようにしたいんだけど
(長いプログラムは無しで)
2018/10/01(月) 19:04:58.48ID:Rpti6CxP
初心者だけど、仕事でどうしても必要で試行錯誤中なのだが…

例えばなんだけど
@IEを起動して指摘のURLに飛ぶ→A管理者ユーザーでログイン→
Bユーザー情報検索のページに飛ぶ→Cプルダウンでユーザーの種別を選択→
Dユーザー名をフォームに転記→E検索ボタン押す→Fユーザーデータが表の形式で表示され、ある行をラジオボタンがあるので選択→
G決定ボタン押す→Hページ内のリンクをクリック→Iページ内のリンクをクリック→
J表示された文字列をコピーしてエクセルに出力
なんてことできるの?

説明がわかりにくくて申し訳ない。
@からBまではできたんだが…Cからができるか不安だ。
どうにかBを応用して繋げていけばできるんじゃないかと思っているのだが、これをユーザー分取得するという繰り返しをするとなると、全くイメージ出来ない。
自分でもイメージ出来ていないのに聞くのも難だが、流石に実現不可能かな?
2018/10/01(月) 19:07:07.36ID:cKKUS3dy
>>481
出来る出来ないの返答を求めているようなのでそれだけ答えると「出来る」
2018/10/01(月) 19:14:45.76ID:+ysO9sf2
>>481
あえてvbaとieを使う理由はないけどまあ出来るよ
2018/10/01(月) 19:14:53.78ID:DnKjEw0R
Aのフォームの操作ができてるならあとは全部Aの繰り返しだからもう少し頑張れ
2018/10/01(月) 19:24:39.53ID:d7lQtBIe
>>482
>>484

ありがとうございます!
出来ると聞いて安心しました。頑張って作ってみます。
2018/10/01(月) 19:25:25.93ID:d7lQtBIe
>>483
vbaとieに拘りはないですが、導入が簡単そうだったので…
2018/10/01(月) 19:26:16.86ID:Zp0cocQA
質問者じゃないけど2とか3とかはどうやってやるの
2018/10/01(月) 19:33:41.96ID:d7lQtBIe
>>487
申し訳ない。Aは自動ログイン設定というか、IEの機能でidとpassをオートフィルしてくれる機能あるから、わざわざログイン情報を入力せずに、そのまま決定ボタンをクリックするようなコマンド?を記載したよ。
Bはその文字に埋め込まれたリンクを、htmlで探して指定した。
Aが苦労したな…javascript:loginとかいうので、どうやったら良いのかわからなかったけど、その頭にあるinputがページで何番目なのか数えて、4番目だったから4番目のinputをクリックしてね!って文を書いたら移動できた!
2018/10/01(月) 19:45:57.55ID:MCBRDKcK
>>473
>>465に答え書いてるよ

>>480
vbaでフォームは置けない気がする
?の文字を置くなどで対処はできないか
2018/10/01(月) 19:47:37.81ID:MCBRDKcK
>>481
相当しんどいと思う
chromeの拡張機能を使ってみては?
「クローム 拡張機能 マクロ」で検索すると出てくる

後はjsごと覚えた方が良さそう
2018/10/01(月) 20:52:16.85ID:lLn/Vvr8
RPA使えよ
仕事なら買ってもらえるだろ
2018/10/01(月) 21:35:57.95ID:d7lQtBIe
>>491
robo-pat?
あるがライセンス切れてて使えない…ライセンス到着待ちなんだ。
でツールが明日必要になってしまったから、仕方なくvbaで…と。
2018/10/01(月) 21:36:29.14ID:d7lQtBIe
>>490
iMacrosってやつ?試しに使ってみようと思う!
494デフォルトの名無しさん
垢版 |
2018/10/01(月) 23:54:06.64ID:zfKNS/F/
vlookupなんか
どこにも見当たらない

オツムだけじゃなくて目も悪いの?
2018/10/02(火) 02:04:29.98ID:/QfTYNRi
>>481
Seleniumデザインパターン&ベストプラクティス、2015、オライリー

この本は、Ruby で、Selenium WebDriver を使って、ウェブサイトを自動テストする本だけど、
まさにこういう事を、Rubyでプログラミングする

どのページ(URL)へ飛んで、入力フォームに入力して認証して、
買う商品を選んで、カートに入れて、決済する

まさに、Ruby・Selenium WebDriver が定番

簡単なものなら、iMacros, Selenium IDE で出来るかも
2018/10/02(火) 05:27:11.42ID:uy7vLCLd
>>489
普通におけるけど。
2018/10/02(火) 06:36:08.43ID:tR2WmwNe
>>495
rubyとselenium webdriverか。こちらも試してみます!ありがとうございます。
498495
垢版 |
2018/10/02(火) 07:13:32.60ID:/QfTYNRi
結局、ウェブページの自動テストツールを数年やってきた人たちは、次の2つにたどり着く

プログラマーは、Ruby で、Selenium WebDriver、
非プログラマーは、iMacros, Selenium IDE

漏れなんて、自分のPC 内の画像フォルダの画像でさえ、
Ruby・Selenium WebDriverでプログラミングして、ブラウザで見てる

HTML のimg タグに、画像のパスを設定して、ブラウザに表示させている
2018/10/02(火) 07:17:00.46ID:3rK24ppg
>>498
たどりつかねーよwww
エロ本は画像ビューワ使ったほうがサクサク動いて良い
500デフォルトの名無しさん
垢版 |
2018/10/02(火) 07:21:20.23ID:XHPfCFYq
またマッチポンプに引っかかってるのか?
頭悪すぎだろ
2018/10/02(火) 07:23:48.60ID:3rK24ppg
いや、タダのボケだろ
ちょっとおもしろかったわ
2018/10/02(火) 07:39:42.84ID:N1aQvONc
頭が悪いのを誤魔化そうとしても意味なくね?
2018/10/02(火) 07:42:08.16ID:ahHfhE5m
>>480
https://jizilog.com/vba-checkboxop
これをショートカットキーに割り付けるだけで行けそう
504495
垢版 |
2018/10/02(火) 09:00:24.92ID:/QfTYNRi
Seleniumデザインパターン&ベストプラクティス、2015、オライリー

この本の著者がこう言ってる

最初は、ウェブページの自動テストを、Selenium IDE でやっていたけど、
大量の自動テストをこなすために、Ruby・Selenium WebDriver でプログラミングするようになった

これは、誰もがたどる道
2018/10/02(火) 09:10:32.38ID:fUFII8R1
別にVBAでも簡単だけどな。
既にVBAでRPAもどきを作ってある。
506デフォルトの名無しさん
垢版 |
2018/10/02(火) 09:35:53.30ID:IHboiu3Y
マッチポンプに掛かった間抜けがいるスレはここですか?
2018/10/02(火) 10:09:51.02ID:IdpLKWF1
SikuliXおすすめ
適当なスクレイピングでよくてHTML解析する情熱が無くなった場合に使ってる
508デフォルトの名無しさん
垢版 |
2018/10/02(火) 12:19:33.62ID:gUUCeKXU
>>498
> HTML のimg タグに、画像のパスを設定して、ブラウザに表示させている
プロさんて20年前からタイムスリップして来たんかなw
2018/10/02(火) 12:33:06.04ID:1IC/OUbd
Selenium全く必要ないっていう
2018/10/02(火) 17:44:52.64ID:rk1+4NE+
>>505
技術的負債
2018/10/02(火) 18:18:59.44ID:giBEQZ0B
どうせ誰にもメンテできないんだから問題ない
返済されることのない借金は負債ではない
2018/10/02(火) 18:53:37.03ID:rk1+4NE+
技術的負債はSIerに押し付ければいいのよ
事務員は保守性など気にせずクソでも動けばいいのでとにかく作る
プログラマを企業間のパワー差を活かして発給で雇いこき使ってメンテさせる
これがVBAerの正しいあり方だ
2018/10/02(火) 19:07:53.02ID:qyY5wEk7
>>512
そうか
まぁ頑張れよ

さて、忘年会用に何かでビンゴのソフトでも作るか
2018/10/02(火) 19:32:27.30ID:V/qNOCI+
バリアント型変数にrangeを代入すると処理時間短縮になるというが、今いち実感が湧かない。

INPUTのテキストファイルの中身次第で出力するセル範囲が変わるんだが、
想定される最大のセル範囲をrangeに代入するよりは、セルひとつひとつにアクセスして最小限の範囲で出力したほうが処理時間早いんじゃないか…
2018/10/02(火) 19:33:46.34ID:JlZ/oy05
VBAでシステム組んでる企業は今はほとんどないのでは?
個人がちょっとしたマクロを書くぐらい
516デフォルトの名無しさん
垢版 |
2018/10/02(火) 19:48:52.17ID:eaArETqj
ニートのプロさんは少しお口にチャックねw
2018/10/02(火) 19:56:57.36ID:VwRcsjE4
>>459です。
レスくれた方ありがとうございます。
>>465さん、作成ありがとうございます。
ダウンロードしてみたのですが、私の自宅のPCだとなぜか文字化けして画面に表示されません・・。
明日、会社のPCでやってみるべきか・・。
どなたか親切な方がいたら、画面をコピーしてくれると助かります。
2018/10/02(火) 20:18:38.93ID:JlZ/oy05
セキュリティ意識に欠けるね
マクロが禁止されるわけだ
2018/10/02(火) 20:34:11.46ID:t6BWNYue
>>514
出力に必要な行列の数だけ要素数を指定して適切なサイズの配列を使うようにすればいいじゃん

複数セル値の逐次更新は更新するセルの個数分だけプロパティ関数が実行されてイベント処理が走るので、同じセル数を更新する場合で比較すると配列による一括処理と比べて格段に重いよ
2018/10/02(火) 21:04:30.03ID:GLlKH6rT
>>519
返答ありがとう。

INPUTのデータ次第で1行〜9999行目まで出力されるので、現状9999行までのセルを配列に格納している。

ちょいと処理時間を計測してみたんだが
出力件数によっては、
例えば200件程度だったときの場合、セルに都度アクセスしたほうが早かったのよね。

実行する度に、INPUTのデータ量次第で配列に格納する範囲が変えられると便利なのだが、それがわからないため9999行まで格納してるって感じかな
521デフォルトの名無しさん
垢版 |
2018/10/02(火) 21:09:51.81ID:R8M7QKDK
http://fast-uploader.com/file/7094037561899/
バカが作ったのはまったく使い物にならないから
オレのを使いなさい

ダウソした
総合商品情報.xlsx

c:\tmp
に入れればとりあえず動く

保存する場所やファイル名変えたならSQLに入ってるパス変更すれば
とりあえず動く
522デフォルトの名無しさん
垢版 |
2018/10/02(火) 22:36:58.97ID:ZVIK4UcY
PCから投稿したのが繁栄してないかもしれないので…

↓↓↓↓

社内のデータ加工で困っています。
VBAじゃないかもしれないのですが、
賢い方々助けてください。

やりたいことや実際のデータは下記URLにUPしています。

よろしくお願いします!

http://fast-uploader.com/file/7094034688478/

用意できる環境に書いてある「Microsoft Office 2016」は「Excel」を意味しています。
2018/10/02(火) 22:50:57.49ID:t6BWNYue
>>520
INPUTがどのような形でコードに渡されるか分からないが、例えばテキストデータを読み込んでいるなら、行数をeofになるまで数えて変数に代入して、その変数で配列要素数を指定すれば簡単だと思う
2018/10/02(火) 23:02:37.82ID:uetVBQBr
>>520
3回以上セルにアクセスするなら確実に配列に取り込んだほうが早い。
体感出来ないのはコードが完全に最適化出来てないだけ。
あと数式の埋め込まれたセルがあったりするとあり得ないくらい遅くなる。
(ある程度はスイッチで解消できるけど)

あとInputはめちゃくちゃ遅いよ。
バイナリモードで開いて一括読み込みがオススメ。
http://tetsucom.blogspot.com/2011/03/vba_9799.html

このサイトでは数倍しか差がついてないけど、元データの行数が増えるほどInputと差が開く
2018/10/02(火) 23:48:15.72ID:VE+AbZ0A
>>522
アップロードしたファイルに店名が含まれているんだが大丈夫か・・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況