[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 07/24 13:47 / Filesize : 158 KB / Number-of Response : 580
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part67



1 名前:デフォルトの名無しさん [2020/06/26(金) 02:01:29.56 ID:uDfmpksE0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part66
https://mevius.5ch.net/test/read.cgi/tech/1589085825/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

411 名前:デフォルトの名無しさん (スップ Sd43-Cpkm) mailto:sage [2020/07/10(金) 21:42:22 ID:rd+FvU1jd.net]
>>406
VSIOは寧ろ廃れてるような気がするが。

412 名前:デフォルトの名無しさん (スップ Sd43-Cpkm) mailto:sage [2020/07/10(金) 21:42:47 ID:rd+FvU1jd.net]
>>411
VSTOな。

413 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 22:02:00.46 ID:c4ANmjzxa.net]
>>412
VIOな

414 名前:デフォルトの名無しさん [2020/07/10(金) 22:39:50.15 ID:91NkPSzZ0.net]
>>413
それはちん毛ちんこケツの穴のことだ

415 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 00:41:33.92 ID:vLv3KjHj0.net]
あかん、モーむり
sendkeys使いすぎてるせいで
Numlockキーがオンになったりオフになったり・・・
かと言って必ずオンオフ切り替わるかというとそうでもないし
誰か絶対100%常にNumlockオンになるコード教えてくれえ

416 名前:デフォルトの名無しさん [2020/07/11(土) 01:11:16.23 ID:2VuM3xocM.net]
>>415
vbaでレジストリを操作できるから、そこに道があるかも知れない

417 名前:デフォルトの名無しさん (ワッチョイ 9bc9-ucCN) mailto:sage [2020/07/11(土) 02:13:29 ID:Eg2/WlgT0.net]
>>415
2 つ以上の SendKeys ステートメントが連続して実行されると、NumLock キーがオフになる

418 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 02:29:45.71 ID:6j9f8L+G0.net]
>>415
https://santane.jp/wp/?p=355

419 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 09:37:08.18 ID:vLv3KjHj0.net]
ありがとうございます
418の方法も試したんですが、なぜか一回目では適用されず
あと418の一番下にある、入力リストを展開するとは一体?



420 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:30:37.96 ID:R2Hyt8Cad.net]
>>415
Sendkeys使う奴は糞。
絶対に使っちゃいけないと言った方が事故が起こらないくらい事故が起きても不思議じゃない所で使う奴がいる。

421 名前:デフォルトの名無しさん [2020/07/11(土) 10:36:45.99 ID:QNz3pRQ00.net]
糞!ですか

422 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:40:32.24 ID:VwbCqtVvM.net]
何年前からのバグなんだろうねこれって

423 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:45:18.55 ID:R2Hyt8Cad.net]
>>421
Sendkeysは基本的にコントロール出来ない。
他アプリを操作するにはもっとコントロール出来る方法がある。

どうにも出来ない時は仕方がないが、絶対に使わないつもりで、どうにもならない時だけ使うべきだね。

424 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:51:22.16 ID:R2Hyt8Cad.net]
あと、危険は承知でちょろっと使う時はある。
お手軽だから。

でも、それで使うことを許容すると危険もしらず、ちょろっとで済まない所で使う奴が出てくる。

425 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/11(土) 11:53:42 ID:vrrLv2a80.net]
Excelを頼りすぎ

426 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:59:27.85 ID:8xOOoQBua.net]
Excelで恋愛相談から今晩のおかずまで

427 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:25:50.11 ID:DdDKJrYh0.net]
sendkeysって手段としてしょうもなさすぎるんだよな
目的を整理すれば他にもっといいやり方があるはず

428 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:40:05.09 ID:pqxpyZgt0.net]
キーワードによる予測変換機能っぽいのをやろうとしたときに、
いいコード無いか探してたら使ってたなsendkeys

429 名前:デフォルトの名無しさん (ワッチョイ 75f1-+b0N) [2020/07/11(土) 13:02:10 ID:QNz3pRQ00.net]
糞!



430 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 13:57:47.97 ID:6j9f8L+G0.net]
確実にコントロールしたいならAPI
https://www.vba-ie.net/code/numlockon.php

まあAPIも万能じゃないんだけど、今回はとりあえず使える

431 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 14:02:53.27 ID:R2Hyt8Cad.net]
>>430
いやいや、確かにSendkeysよりは良いけど、何でキーボードシュミレートしたいのよ。
オブジェクトに直接キーを送るとか、オブジェクトの動作そのものを実現するとかは無しか?

432 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 18:21:43.63 ID:2M7rjl8q0.net]
大抵のアプリは外部からの要求を受けるのはマウスとキーボードだけだから

433 名前:デフォルトの名無しさん [2020/07/11(土) 18:52:58.44 ID:6knL1xMy0.net]
あ、ちょっと失礼。
ほんの少し前、テキストボックスに入力された数式をだったか
マクロだったかをプロシージャにして実行するってなことをやってたんだが
すっかり忘れてしまいました。
どうやるんでしたでしょうか。

OS;Windows 98
Excel 97

434 名前:デフォルトの名無しさん (ワッチョイ 05da-ucCN) mailto:sage [2020/07/11(土) 19:37:48 ID:Nux+IN340.net]
>>418
そんな不具合見たことないな。
VBA限定で、VBSから使うと出ないとか?

435 名前:デフォルトの名無しさん [2020/07/11(土) 20:21:11.98 ID:UiWBFlGj0.net]
>>433
死ね

436 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/11(土) 23:15:56 ID:vrrLv2a80.net]
>>433
そのうち思い出すから

437 名前:デフォルトの名無しさん mailto:sage [2020/07/12(日) 08:33:32.60 ID:lihdyx4V0.net]
>>433
Application.Run

438 名前:デフォルトの名無しさん (オイコラミネオ MM51-aL1r) mailto:sage [2020/07/13(月) 14:37:54 ID:1lzMxcCPM.net]
sendkeys問題解決しました
ありがとう!create object wscript.shell.sendkeysでうまいこと行けた

439 名前:デフォルトの名無しさん [2020/07/14(火) 20:11:25.31 ID:zXCz2P4SM.net]
二つのieを起動して2つ目のieにpdfを表示させてそのpdfをexecwbのsaveasで名前をつけて保存したいのですが名前をつけて保存ダイアログに一つ目のieのファイルが保存項目として表示されてしまいます。どなたかわかる方教えてください。よろしくお願いします。

これがそのコードです getIE はシェル取得ファンクションです
長すぎると書き込めないので省略しました
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "book.impress.co.jp/appended3384/4-4.html"

Dim ie2 As InternetExplorer

Set ie2 = CreateObject("InternetExplorer.Application")

ie2.Visible = True

ie2.Navigate2 "C:\\Desktop\test.pdf", 1

Set ie2 = getIE("test")

Dim test As String

test = "c:\test\test.pdf"

ie2.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, test


End sub



440 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 02:33:14.34 ID:ZAnqbcST0.net]
Excelでやることか?

441 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 04:42:17.63 ID:IqfNcqeZ0.net]
>>439
5ch では、同じ質問のマルチポストは禁止です!

もう1つのスレの方で、やってください!

442 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 05:05:59.66 ID:T7WU5W0H0.net]
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)

n = ws2.Cells(Rows.Count, "E").End(xlUp).Row
n = n + 1

For i = 2 To ws1.Cells(Rows.Count, "A").End(xlUp).Row
j = 1

ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value
n = n + 1
j = j + 1

ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value
n = n + 1
j = j + 1

ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value
n = n + 1
j = j + 1

ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value
n = n + 1
j = j + 1

ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value
n = n + 1
j = j + 1


これが10回ほど続くんですか簡潔にかけませんか?

443 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 05:28:08.89 ID:jQlbMrrka.net]
え?VBAって二重ループ出来ないの?


エクセルVBAの二重ループについて
https://oshiete.goo.ne.jp/qa/7136635.html

444 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 07:31:51.88 ID:e63KSG0L0.net]
再計算をオフにしていても、VlookupとかIndex/Matchで参照されているセルを削除すると初回だけ滅茶苦茶重くなる
二回目からはアンドゥしようが削除しようが一瞬になる
この初回も重くならないようにしたいんですけど、初回だけどこかで再計算か何かが裏で動いてるんでしょうか?

445 名前:デフォルトの名無しさん (ブーイモ MMa1-+2iy) mailto:sage [2020/07/15(水) 07:50:23 ID:XJ3hJcChM.net]
プリンタに接続してるんじゃね?

446 名前:デフォルトの名無しさん (ワッチョイ fabc-3crd) mailto:sage [2020/07/15(水) 08:49:05 ID:vPDzR3td0.net]
記念パピコ

447 名前:デフォルトの名無しさん (アウアウエー Sa02-l+/r) [2020/07/15(水) 09:01:25 ID:yrzZGj8Ca.net]
ちゅーちゅーちゅぶりらチュパカブラー

448 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 17:34:47.36 ID:vYR4+hKTa.net]
テーブルの特定列に入力されている値から選択できるドロップダウンリストを作りたいです

【要望】
・重複なし
・(できれば)空白は除く

449 名前:デフォルトの名無しさん [2020/07/15(水) 17:39:29.54 ID:yeW9Dlh/0.net]
>>448
そうか
頑張れよ
ここは日記お断りだぞ



450 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 17:39:30.37 ID:mQ5xmDA6a.net]
>>444
キャッシュのなら場合そういう動作が正常

451 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 19:30:17.20 ID:FYD4rmMFM.net]
>>448
これがゆとり世代だ

452 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 20:33:22.18 ID:1MtMgQ04F.net]
質問してるじゃん
俺は答えられないけど

453 名前:デフォルトの名無しさん [2020/07/15(水) 21:01:28.16 ID:XJthZBxP0.net]
「作りたいです」という決意表明だろ?
そう言えば誰かが勝手に手助けしてくれると思ってるのかね。
あ、本人かよ。

454 名前:デフォルトの名無しさん [2020/07/15(水) 21:25:35.44 ID:sBHz+ETb0.net]
平成生まれと昭和生まれは少々使用する言語が違う。
同じように日本語とは言うけれど。

455 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 21:35:02.16 ID:8IhCO+GMM.net]
ゆとり世代は誰かが助けてくれて当然と思っているからな

456 名前:デフォルトの名無しさん [2020/07/15(水) 21:38:36.33 ID:sBHz+ETb0.net]
そこら辺は見た目の影響も大きいんだよな。
イケメンだったり可愛かったりすると、助けてもらえるのが当たり前で生きてる。

一方、ちょっと残念な感じだと、助けてもらえることが無く生きてる。

そこら辺の感じ方が違うのは当然なんだよね。

457 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 22:18:05.17 ID:onU8sBQ+a.net]
俺じゃない誰かが助けてくれるんじゃね

458 名前:デフォルトの名無しさん [2020/07/15(水) 22:44:18.56 ID:ovUS+LpM0.net]
覚えてものにしようと断固たる決意でマクロを完成させたけど
最初の方に組んだプロシージャを今見てもほとんど覚えてないわ
メンテナンスだけはできるようにコメントつけてあるけど
これがネットで拾い集めて基礎を学ばない相変わらずの俺のダメスタイル

459 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 23:23:50.74 ID:xZi/KI4S0.net]
コメント残してるだけだいぶマシ



460 名前:デフォルトの名無しさん [2020/07/16(木) 00:53:10.42 ID:9MD/+BL5M.net]
個数や最終行などよく使う変数名は今後の為に統一させたほうがいいな
その時の気分でいろいろと変えると後で意味不明になる

461 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 02:52:22.64 ID:OfRWrGue0.net]
古いソースをコピペするからそうなる

462 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 09:14:27.30 ID:PzZafv3e0.net]
そして統一後気が変わって全て置換か

463 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 09:39:51.11 ID:6lIeM5zt0.net]
何の変数かコメント付けるだけで十分では

464 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 11:51:40.64 ID:iXWxOn5X0.net]
同じフォルダ内の"取引実績"ブックの"関東地区"シートのA列・B列・C列・J列・L列・AD列の
それぞれ2行目から最下行までを配列に入れる方法を教えてください

Workbooks.Open ThisWorkbook.Path & "\取引実績", ReadOnly:=True

i = Sheets("関東地区").Cells(Rows.Count,1).End(xlUp).Row

ReDim SiresakiArray(i -1, 6) As Variant
'代入するのはA,B,C,J,L,AD列のみ
SiresakiArray() = Range("A2:??????

ActiveWindow.Close

465 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:20:55.35 ID:Bld7disAr.net]
いらん列を消せば?

466 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:29:13.40 ID:GzNgEuWKM.net]
みんなvbaどうやって勉強してるの?
しっかり参考書とか買って、じっくり?
ちなみに自分は>>458に近いスタイル
必要に迫られたらネットで検索して、ちょっと弄ってって感じ
だからいつまでたっても上達しない・・・

467 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:41:43.01 ID:Bld7disAr.net]
消したらrange("a2").resize(i,6)

468 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:45:12.35 ID:6lIeM5zt0.net]
コピペするだけで身に付くわけがない…
そのコードが何をしてるのか理解できるまで調べて自分で使っていれば自然に身に付く

>>464
いらん列消すか、いる列の2行目から地道に入れる

469 名前:デフォルトの名無しさん [2020/07/16(木) 13:00:26.82 ID:jRyYUilTM.net]
これできるようにしてくれない?
これって自動でならない?
職場の糞どもの質問は完全に無視してる
テメーの昼休憩にずっと触ってるスマホで調べりゃ出てくるだろ
話しかけんな



470 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 13:38:13.07 ID:PzZafv3e0.net]
その人が楽するためなら何もしないな
あえて普段はどうやってるか聞いてみて嫌な顔一つしない感じならやる

471 名前:デフォルトの名無しさん [2020/07/16(木) 14:52:54.75 ID:2egBYvX50.net]
>>464
Sub hoge1()
Dim aa As Variant
aa = Range("a1:c3,e1:f3")
'結果:a1:c3までしか入らない。なるほどね。
End Sub


Sub hoge2()
i = Cells(Rows.Count, 1).End(xlUp).Row
ReDim siresakiarray(i - 1, 6) As Variant
retsu = Array("A", "B", "C", "J", "L", "AD")

For iic = 0 To UBound(retsu)
For iir = 2 To i
siresakiarray(iir - 2, iic) = Cells(iir, retsu(iic))
Next
Next
'
Worksheets.Add
Range("a1:m999") = siresakiarray

End Sub

一つずつ入れるならザックリこんな感じのロジックで。
他の方法として新しいシートにシートコピーして列を消して配列に挿入の方が
効率いいのかも どうだろう

472 名前:デフォルトの名無しさん (ワッチョイ dab5-t9FD) mailto:sage [2020/07/17(金) 00:37:14 ID:27Ma2AbZ0.net]
少し組んで改善するとまぁ評価はされるんだけど
他の人後でメンテナンスできるよな?
とか
マクロが壊れる心配ないよな?とか

テンプレートのように言われるけど知るかよ
読み取り専用で配布してるしプロシージャ弄れないようにしてあるし壊れねーっつーの
パスワードかけてないマスター版も社内サーバーに置いてあるから
いじりたきゃ学べや

あと配布した途端楽になったらその業務ばっかりやろうとするおっさん見苦しくてむかつく
配って損したわ

473 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 08:36:30.29 ID:KHrOLv580.net]
あれ?ここ日記帳だっけ?

474 名前:デフォルトの名無しさん (ワッチョイ 7663-NRU3) mailto:sage [2020/07/17(金) 09:55:37 ID:q+bHJv+q0.net]
みんなの日記帳だよ
君も自由に書き込んでいいよ

475 名前:464 (ワッチョイ 89cc-sTnA) mailto:sage [2020/07/17(金) 11:03:50 ID:lcXPd8bd0.net]
>>465,468,471
ありがとうございます。列を削除して取り込みます。

476 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 11:46:31.69 ID:lcXPd8bd0.net]
配列 ary(1,6)に年月日(2020/7/18)が入っていて、配列ary(1,7)には何らかの値が入っていることがあります
ary(1,6)を20日締で起算して、ary2(1,1)に"20_7"のような文字列を返す式を教えてください。
またary(1,7)に値が入っていれば翌月にずれるようにしたいです

ary(1,6)="2020/7/18"
ary(1,7)= ""
の場合ary2(1,1)="20_7"

ary(1,6)="2020/7/21"
ary(1,7)= ""
の場合ary2(1,1)="20_8"

ary(1,6)="2020/7/18"
ary(1,7)= "値"
の場合ary2(1,1)="20_8"

ary(1,6)="2020/12/20"
ary(1,7)= "1"
の場合ary2(1,1)="21_1"

477 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 12:02:43.77 ID:0sNlDakf0.net]
型はなんなの?
くそコードでもいいからひとつずつ考えて作ってみたの?

478 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 12:07:44.33 ID:NYWT4Zhl0.net]
の場合、とか言ってるんならif使えばいいだけだろ
アホなのか

479 名前:477 mailto:sage [2020/07/17(金) 12:46:43.52 ID:0sNlDakf0.net]
書いてみた
理解しなきゃ使えないと思うが


https://i.imgur.com/3Ynd7KW.png

https://i.imgur.com/5mFzai4.png



480 名前:476 mailto:sage [2020/07/17(金) 15:02:49.46 ID:lcXPd8bd0.net]
>>479

完成しました。ありがとうございました



dt = CDate(ary(1,6))

If Cint(Format(dt,"d")) > 20 Then '20日以降か

dt = DateAdd("m",1,dt)

End if

  '空欄でなければさらに1カ月繰り上げる

If AfuriArray(cnt-1,26) <> "" Then

Else

 dt = DateAdd("m",1,dt)

End If

ary(2,1) = Right(Format(dt, "yyyy"),2)&"_"& Format(dt,"m")

481 名前:デフォルトの名無しさん (ワッチョイ dab5-t9FD) mailto:sage [2020/07/17(金) 21:27:08 ID:27Ma2AbZ0.net]
来年の役員報告の課の改善発表の内容に
俺のマクロで作る事が既に組み込まれてるんだが
そもそもそこまでスキルないし年上のもっと給料もらってる奴にやらせろやカスが

482 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 23:08:06.59 ID:Bh4mGSGka.net]
って言えばいいじゃん

483 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 15:07:16.47 ID:aMbjCCwU0.net]
日本語環境でmiLANG_JAPANESEを指定してもbad languageのエラーが出るのは何故?

484 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 16:11:19.98 ID:gXGI8VY40.net]
敗戦国だから

485 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 18:26:41.44 ID:6ntZQZs40.net]
sheet"s1"にFunctionで処理したary2を貼り付けたいのですが、処理前のary1が貼り付けられます
Function後のary2を貼り付けるにはどうすればよいですか?

Sub test()
Dim endrow, r As Long
endrow = Sheets("rui").Cells(Rows.Count, 1).End(xlUp).Row
ReDim ary1(endrow - 1, 6)

ary1() = Sheets("rui").Range("A2:F" & endrow).Value
Sheets("sh1").Range("A2:F" & endrow) = ary2(ary1())
End Sub

Function ary2(ary1() As Variant) As Variant()
Dim en, r As Long
en = UBound(ary1())
For r = 1 To en
ary1(r, 1) = Application.Asc(ary1(r, 1))
ary1(r, 1) = StrConv(ary1(r, 1), vbUpperCase)
ary1(r, 1) = Replace(ary1(r, 1), " ", "")
Next r
End Function

486 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 19:22:36.82 ID:BZh66Ti/a.net]
>>485
そりゃあ貴方、ary2は関数ですと自分で宣言してるもの。
しかもary1に代入してますやんかー
プログラムは命令通りに動作してるだけじゃん。

ary2の配列を準備して処理してから
そのary2の内容をシートに展開すようにプログラムしなきゃ

487 名前:485 mailto:sage [2020/07/18(土) 20:24:50.23 ID:6ntZQZs40.net]
>>486
ありがとうございますFuntionの使い方を誤解していましたm(_ _)m

488 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 22:33:50.97 ID:6aEbh+KL0.net]
Function大魔王

489 名前:デフォルトの名無しさん [2020/07/18(土) 22:50:59.73 ID:GbMN9IfrM.net]
>>485
Functionの配列渡しは少しややこしい
まずは内容を単純化して正解の型を見つけた方がいいと思う



490 名前:デフォルトの名無しさん [2020/07/18(土) 23:52:10.32 ID:UVKbM6jvM.net]
>>485
単純化した一つの正解の型

Sub test()
Dim ary() As String
ary() = fnc
MsgBox ary(1)
End Sub

Function fnc() As String()
Dim ary(1) As String
ary(1) = "a"
fnc = ary()
End Function

491 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 01:27:51.35 ID:YQjQ9IMi0.net]
配列の扱いや参照渡し以前の問題では・・・

492 名前:デフォルトの名無しさん [2020/07/19(日) 02:51:36.02 ID:b8b+mHAS0.net]
結局、馬鹿には無理なんだよ

493 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 02:54:31.21 ID:MOwnlnDY0.net]
joinして受け渡ししてsplitで復元がシンプルでわかりやすいんじゃね?

494 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 06:42:33.41 ID:xggXZiaY0.net]
もう企業ユーザーにはOffice Script解放されてるみたいですが試された方、使用感どんなもんですか?

495 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 08:30:43.83 ID:du465xO70.net]
調査してる最中じゃねーの、あわてんな

496 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 14:09:46.91 ID:4shkrYfWd.net]
>>485
ary2の宣言部分は正しい。
でもary2の内部でary2はどうなったの?
何もしてないよね。
ary2の内部でary2はこうなりましたって書かないと宣言した時点の空の配列が返るのが当然。

つまりary2のFunctionの最後にary2=の文が必要。

497 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 14:11:26.48 ID:4shkrYfWd.net]
>>490のfnc=any()の文が正にそれ。

498 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 12:06:47.51 ID:Dkhdkwhma.net]
excelなんだから配列はセルにいれときゃいいんじゃね

499 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 18:29:09.95 ID:3yLiDe7EM.net]
速度気にしないなら



500 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 23:22:10.32 ID:87nc/Vc+0.net]
全然気にしない

501 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 23:52:01.41 ID:3H73W2vZ0.net]
配列は大量に入れるとメモリ不足になるのが嫌。
値以外のプロパティ持ってるセルの方がよっぽどメモリ喰うだろって思うけど、
仕様だから仕方がない。

502 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 07:20:28.10 ID:s4f7WPjJd.net]
メモリ不足になるほど大量に入れることなんて殆ど無い。
不足するのは別の理由だと思うが。

503 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 10:31:44.78 ID:8QcWJiTk0.net]
10万行のCSVとか配列で処理したくなるけどメモリ不足になるんで仕方なくワークシートに入れてる

504 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 11:09:54.82 ID:GBbtTx0BM.net]
VBAは過去のしがらみが多いので64bit Excelでも変な制限があってびっくりする
最近経験したのはユーザー定義型の中の配列サイズ
Type T
A(33000) As Integer
End Type
Sub S
Dim X As T
End
ってやるだけで「動的なローカル変数が多すぎます」って言われる
A(32000) As Integer
なら問題ない

505 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 11:43:12.61 ID:uXgtcpNna.net]
intの最大の32767だろうね

506 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 12:27:55.57 ID:Z8jTNyVcM.net]
オフィススクリプト試したい…
個人ユーザーにも解放してくれ…

507 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 13:35:34.68 ID:420tjBmwd.net]
csvを文字列形式のセルに取り込む時、値がない場合は""とemptyどっちにしておくべき?

508 名前:デフォルトの名無しさん [2020/07/21(火) 14:38:12.66 ID:zc+r4po80.net]
office田中の人が顔出しでYoutubeはじめたらしいが
おじいちゃんで偉そう。
実世界なら関わりたくないタイプ。

509 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 19:47:20.41 ID:g0ULgQg00.net]
ネット上でも関わり合いになりたくないタイプだろ



510 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 21:24:07.75 ID:fmBf+klc0.net]
自分の参考になるとこだけ聞いときゃいいんじゃないの?
その他アレコレ言うのはどうかと思うぞ

511 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 22:50:12.29 ID:nbzaQebba.net]
>>503
1レコードずつシーケンシャルに処理できないの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<158KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef