!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
探検
Excel VBA 質問スレ Part67
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 33da-3+hg)
2020/06/26(金) 02:01:29.56ID:uDfmpksE0402デフォルトの名無しさん (ワッチョイ 2d7c-6wWl)
2020/07/09(木) 21:42:49.37ID:ylhvfSy00 >>399
参照設定をしていればいらない
参照設定をしていればいらない
403デフォルトの名無しさん (ワッチョイ fdce-56/R)
2020/07/10(金) 10:20:58.35ID:O0QgyOqq0404デフォルトの名無しさん (ワッチョイ 83ee-Bqa1)
2020/07/10(金) 13:53:04.16ID:3B5Gxm0d0 ExcelってIE制御からedge制御できるようになった?
未だにIEが一番使い勝手いいの?
未だにIEが一番使い勝手いいの?
405デフォルトの名無しさん (ワッチョイ 75f1-+b0N)
2020/07/10(金) 14:38:15.55ID:91NkPSzZ0 ExcelってChrome制御できるようになった?
406デフォルトの名無しさん (ワッチョイ a5da-1Cui)
2020/07/10(金) 15:03:43.58ID:DnP9bxpW0 いまはExcelがブラウザを制御するのではなくてブラウザがExcelを制御する方向性が主流
VBAはあくまでExcel内で完結する作業に限定した言語であって外部との連携作業はOfficeアドイン(実体はJavaScriptなどのスクリプト言語)や
VSTO(VisualStdioで言語はC#が中心)で行なうのがMicrosoftの方針
Pytonはよく分からんけど上手くOfficeAPIを利用すれば出来るかもしれない
概要についてのドキュメントは>>398
VBAはあくまでExcel内で完結する作業に限定した言語であって外部との連携作業はOfficeアドイン(実体はJavaScriptなどのスクリプト言語)や
VSTO(VisualStdioで言語はC#が中心)で行なうのがMicrosoftの方針
Pytonはよく分からんけど上手くOfficeAPIを利用すれば出来るかもしれない
概要についてのドキュメントは>>398
407デフォルトの名無しさん (オッペケ Sra1-OOGl)
2020/07/10(金) 15:20:21.38ID:TbXdOMZ+r てゆかブラウザ操作するよりAPI叩いたりスクレイピングするほうが主流よね、今は
ずっと昔はExcelで入力してIEに反映させるとかあったけど、今じゃレガシーすぎる
ずっと昔はExcelで入力してIEに反映させるとかあったけど、今じゃレガシーすぎる
408デフォルトの名無しさん (ワッチョイ 05da-ucCN)
2020/07/10(金) 17:42:22.09ID:OUgIsXw30 ウチはシステムが古くてAPIなんてものに対応してないので現役だわ。
409デフォルトの名無しさん (ワッチョイ bdda-ucCN)
2020/07/10(金) 20:17:34.10ID:R/wZjJlU0 人間も古いからちょうどいい
410デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/10(金) 21:41:25.81ID:rd+FvU1jd >>407
API叩くのもスクレイピングも変わらんけどな。
何でやるかの違いくらい。
まあ、Chrome制御は出来んけどな。
WebDriver使えるから出来るとも言えるか。
何処から何処迄がExcelって話。
API叩くのもスクレイピングも変わらんけどな。
何でやるかの違いくらい。
まあ、Chrome制御は出来んけどな。
WebDriver使えるから出来るとも言えるか。
何処から何処迄がExcelって話。
411デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/10(金) 21:42:22.54ID:rd+FvU1jd >>406
VSIOは寧ろ廃れてるような気がするが。
VSIOは寧ろ廃れてるような気がするが。
412デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/10(金) 21:42:47.24ID:rd+FvU1jd >>411
VSTOな。
VSTOな。
413デフォルトの名無しさん (アウアウエー Sa13-mWkt)
2020/07/10(金) 22:02:00.46ID:c4ANmjzxa >>412
VIOな
VIOな
414デフォルトの名無しさん (ワッチョイ 75f1-+b0N)
2020/07/10(金) 22:39:50.15ID:91NkPSzZ0 >>413
それはちん毛ちんこケツの穴のことだ
それはちん毛ちんこケツの穴のことだ
415デフォルトの名無しさん (ワッチョイ 2d02-aL1r)
2020/07/11(土) 00:41:33.92ID:vLv3KjHj0 あかん、モーむり
sendkeys使いすぎてるせいで
Numlockキーがオンになったりオフになったり・・・
かと言って必ずオンオフ切り替わるかというとそうでもないし
誰か絶対100%常にNumlockオンになるコード教えてくれえ
sendkeys使いすぎてるせいで
Numlockキーがオンになったりオフになったり・・・
かと言って必ずオンオフ切り替わるかというとそうでもないし
誰か絶対100%常にNumlockオンになるコード教えてくれえ
416デフォルトの名無しさん (ドコグロ MM93-jxlo)
2020/07/11(土) 01:11:16.23ID:2VuM3xocM >>415
vbaでレジストリを操作できるから、そこに道があるかも知れない
vbaでレジストリを操作できるから、そこに道があるかも知れない
417デフォルトの名無しさん (ワッチョイ 9bc9-ucCN)
2020/07/11(土) 02:13:29.34ID:Eg2/WlgT0 >>415
2 つ以上の SendKeys ステートメントが連続して実行されると、NumLock キーがオフになる
2 つ以上の SendKeys ステートメントが連続して実行されると、NumLock キーがオフになる
418デフォルトの名無しさん (ワッチョイ fdce-56/R)
2020/07/11(土) 02:29:45.71ID:6j9f8L+G0419デフォルトの名無しさん (ワッチョイ 2d02-aL1r)
2020/07/11(土) 09:37:08.18ID:vLv3KjHj0 ありがとうございます
418の方法も試したんですが、なぜか一回目では適用されず
あと418の一番下にある、入力リストを展開するとは一体?
418の方法も試したんですが、なぜか一回目では適用されず
あと418の一番下にある、入力リストを展開するとは一体?
420デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/11(土) 10:30:37.96ID:R2Hyt8Cad421デフォルトの名無しさん (ワッチョイ 75f1-+b0N)
2020/07/11(土) 10:36:45.99ID:QNz3pRQ00 糞!ですか
422デフォルトの名無しさん (オイコラミネオ MM51-aL1r)
2020/07/11(土) 10:40:32.24ID:VwbCqtVvM 何年前からのバグなんだろうねこれって
423デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/11(土) 10:45:18.55ID:R2Hyt8Cad >>421
Sendkeysは基本的にコントロール出来ない。
他アプリを操作するにはもっとコントロール出来る方法がある。
どうにも出来ない時は仕方がないが、絶対に使わないつもりで、どうにもならない時だけ使うべきだね。
Sendkeysは基本的にコントロール出来ない。
他アプリを操作するにはもっとコントロール出来る方法がある。
どうにも出来ない時は仕方がないが、絶対に使わないつもりで、どうにもならない時だけ使うべきだね。
424デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/11(土) 10:51:22.16ID:R2Hyt8Cad あと、危険は承知でちょろっと使う時はある。
お手軽だから。
でも、それで使うことを許容すると危険もしらず、ちょろっとで済まない所で使う奴が出てくる。
お手軽だから。
でも、それで使うことを許容すると危険もしらず、ちょろっとで済まない所で使う奴が出てくる。
425デフォルトの名無しさん (ワッチョイ bdda-ucCN)
2020/07/11(土) 11:53:42.98ID:vrrLv2a80 Excelを頼りすぎ
426デフォルトの名無しさん (アウアウエー Sa13-c9t6)
2020/07/11(土) 11:59:27.85ID:8xOOoQBua Excelで恋愛相談から今晩のおかずまで
427デフォルトの名無しさん (ワッチョイ 65ac-OOGl)
2020/07/11(土) 12:25:50.11ID:DdDKJrYh0 sendkeysって手段としてしょうもなさすぎるんだよな
目的を整理すれば他にもっといいやり方があるはず
目的を整理すれば他にもっといいやり方があるはず
428デフォルトの名無しさん (ワッチョイ cbaa-aL1r)
2020/07/11(土) 12:40:05.09ID:pqxpyZgt0 キーワードによる予測変換機能っぽいのをやろうとしたときに、
いいコード無いか探してたら使ってたなsendkeys
いいコード無いか探してたら使ってたなsendkeys
429デフォルトの名無しさん (ワッチョイ 75f1-+b0N)
2020/07/11(土) 13:02:10.38ID:QNz3pRQ00 糞!
430デフォルトの名無しさん (ワッチョイ fdce-56/R)
2020/07/11(土) 13:57:47.97ID:6j9f8L+G0431デフォルトの名無しさん (スップ Sd43-Cpkm)
2020/07/11(土) 14:02:53.27ID:R2Hyt8Cad432デフォルトの名無しさん (ワッチョイ 2301-65sm)
2020/07/11(土) 18:21:43.63ID:2M7rjl8q0 大抵のアプリは外部からの要求を受けるのはマウスとキーボードだけだから
433デフォルトの名無しさん (ワッチョイ a346-s8xH)
2020/07/11(土) 18:52:58.44ID:6knL1xMy0 あ、ちょっと失礼。
ほんの少し前、テキストボックスに入力された数式をだったか
マクロだったかをプロシージャにして実行するってなことをやってたんだが
すっかり忘れてしまいました。
どうやるんでしたでしょうか。
OS;Windows 98
Excel 97
ほんの少し前、テキストボックスに入力された数式をだったか
マクロだったかをプロシージャにして実行するってなことをやってたんだが
すっかり忘れてしまいました。
どうやるんでしたでしょうか。
OS;Windows 98
Excel 97
434デフォルトの名無しさん (ワッチョイ 05da-ucCN)
2020/07/11(土) 19:37:48.81ID:Nux+IN340435デフォルトの名無しさん (ワッチョイ cb8e-edot)
2020/07/11(土) 20:21:11.98ID:UiWBFlGj0 >>433
死ね
死ね
436デフォルトの名無しさん (ワッチョイ bdda-ucCN)
2020/07/11(土) 23:15:56.45ID:vrrLv2a80 >>433
そのうち思い出すから
そのうち思い出すから
437デフォルトの名無しさん (ワッチョイ 75d0-6wWl)
2020/07/12(日) 08:33:32.60ID:lihdyx4V0 >>433
Application.Run
Application.Run
438デフォルトの名無しさん (オイコラミネオ MM51-aL1r)
2020/07/13(月) 14:37:54.03ID:1lzMxcCPM sendkeys問題解決しました
ありがとう!create object wscript.shell.sendkeysでうまいこと行けた
ありがとう!create object wscript.shell.sendkeysでうまいこと行けた
439デフォルトの名無しさん (ベーイモ MM2b-EFBW)
2020/07/14(火) 20:11:25.31ID:zXCz2P4SM 二つのieを起動して2つ目のieにpdfを表示させてそのpdfをexecwbのsaveasで名前をつけて保存したいのですが名前をつけて保存ダイアログに一つ目のieのファイルが保存項目として表示されてしまいます。どなたかわかる方教えてください。よろしくお願いします。
これがそのコードです getIE はシェル取得ファンクションです
長すぎると書き込めないので省略しました
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://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
これがそのコードです getIE はシェル取得ファンクションです
長すぎると書き込めないので省略しました
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://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デフォルトの名無しさん (ワッチョイ 89da-YsWi)
2020/07/15(水) 02:33:14.34ID:ZAnqbcST0 Excelでやることか?
441デフォルトの名無しさん (ワッチョイ 892c-dDBt)
2020/07/15(水) 04:42:17.63ID:IqfNcqeZ0442デフォルトの名無しさん (ワッチョイ bd05-/Lr1)
2020/07/15(水) 05:05:59.66ID:T7WU5W0H0 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回ほど続くんですか簡潔にかけませんか?
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デフォルトの名無しさん (アウアウエー Sa02-l+/r)
2020/07/15(水) 05:28:08.89ID:jQlbMrrka444デフォルトの名無しさん (ワッチョイ 5abd-brDT)
2020/07/15(水) 07:31:51.88ID:e63KSG0L0 再計算をオフにしていても、VlookupとかIndex/Matchで参照されているセルを削除すると初回だけ滅茶苦茶重くなる
二回目からはアンドゥしようが削除しようが一瞬になる
この初回も重くならないようにしたいんですけど、初回だけどこかで再計算か何かが裏で動いてるんでしょうか?
二回目からはアンドゥしようが削除しようが一瞬になる
この初回も重くならないようにしたいんですけど、初回だけどこかで再計算か何かが裏で動いてるんでしょうか?
445デフォルトの名無しさん (ブーイモ MMa1-+2iy)
2020/07/15(水) 07:50:23.17ID:XJ3hJcChM プリンタに接続してるんじゃね?
446デフォルトの名無しさん (ワッチョイ fabc-3crd)
2020/07/15(水) 08:49:05.20ID:vPDzR3td0 記念パピコ
447デフォルトの名無しさん (アウアウエー Sa02-l+/r)
2020/07/15(水) 09:01:25.32ID:yrzZGj8Ca ちゅーちゅーちゅぶりらチュパカブラー
448デフォルトの名無しさん (アウアウウー Sa39-CYJA)
2020/07/15(水) 17:34:47.36ID:vYR4+hKTa テーブルの特定列に入力されている値から選択できるドロップダウンリストを作りたいです
【要望】
・重複なし
・(できれば)空白は除く
【要望】
・重複なし
・(できれば)空白は除く
449デフォルトの名無しさん (ワッチョイ 768e-3Ffi)
2020/07/15(水) 17:39:29.54ID:yeW9Dlh/0450デフォルトの名無しさん (アウアウウー Sa39-o0Sj)
2020/07/15(水) 17:39:30.37ID:mQ5xmDA6a >>444
キャッシュのなら場合そういう動作が正常
キャッシュのなら場合そういう動作が正常
451デフォルトの名無しさん (ワントンキン MMea-XQYI)
2020/07/15(水) 19:30:17.20ID:FYD4rmMFM >>448
これがゆとり世代だ
これがゆとり世代だ
452デフォルトの名無しさん (アウウィフ FF39-CYJA)
2020/07/15(水) 20:33:22.18ID:1MtMgQ04F 質問してるじゃん
俺は答えられないけど
俺は答えられないけど
453デフォルトの名無しさん (ワッチョイ 05f9-eubO)
2020/07/15(水) 21:01:28.16ID:XJthZBxP0 「作りたいです」という決意表明だろ?
そう言えば誰かが勝手に手助けしてくれると思ってるのかね。
あ、本人かよ。
そう言えば誰かが勝手に手助けしてくれると思ってるのかね。
あ、本人かよ。
454デフォルトの名無しさん (ワッチョイ 0d01-aTVc)
2020/07/15(水) 21:25:35.44ID:sBHz+ETb0 平成生まれと昭和生まれは少々使用する言語が違う。
同じように日本語とは言うけれど。
同じように日本語とは言うけれど。
455デフォルトの名無しさん (ワンミングク MMea-XQYI)
2020/07/15(水) 21:35:02.16ID:8IhCO+GMM ゆとり世代は誰かが助けてくれて当然と思っているからな
456デフォルトの名無しさん (ワッチョイ 0d01-aTVc)
2020/07/15(水) 21:38:36.33ID:sBHz+ETb0 そこら辺は見た目の影響も大きいんだよな。
イケメンだったり可愛かったりすると、助けてもらえるのが当たり前で生きてる。
一方、ちょっと残念な感じだと、助けてもらえることが無く生きてる。
そこら辺の感じ方が違うのは当然なんだよね。
イケメンだったり可愛かったりすると、助けてもらえるのが当たり前で生きてる。
一方、ちょっと残念な感じだと、助けてもらえることが無く生きてる。
そこら辺の感じ方が違うのは当然なんだよね。
457デフォルトの名無しさん (アウアウウー Sa39-o0Sj)
2020/07/15(水) 22:18:05.17ID:onU8sBQ+a 俺じゃない誰かが助けてくれるんじゃね
458デフォルトの名無しさん (ワッチョイ dab5-t9FD)
2020/07/15(水) 22:44:18.56ID:ovUS+LpM0 覚えてものにしようと断固たる決意でマクロを完成させたけど
最初の方に組んだプロシージャを今見てもほとんど覚えてないわ
メンテナンスだけはできるようにコメントつけてあるけど
これがネットで拾い集めて基礎を学ばない相変わらずの俺のダメスタイル
最初の方に組んだプロシージャを今見てもほとんど覚えてないわ
メンテナンスだけはできるようにコメントつけてあるけど
これがネットで拾い集めて基礎を学ばない相変わらずの俺のダメスタイル
459デフォルトの名無しさん (ワッチョイ 7663-NRU3)
2020/07/15(水) 23:23:50.74ID:xZi/KI4S0 コメント残してるだけだいぶマシ
460デフォルトの名無しさん (ドコグロ MM0d-HVEE)
2020/07/16(木) 00:53:10.42ID:9MD/+BL5M 個数や最終行などよく使う変数名は今後の為に統一させたほうがいいな
その時の気分でいろいろと変えると後で意味不明になる
その時の気分でいろいろと変えると後で意味不明になる
461デフォルトの名無しさん (ワッチョイ 89da-YsWi)
2020/07/16(木) 02:52:22.64ID:OfRWrGue0 古いソースをコピペするからそうなる
462デフォルトの名無しさん (ワッチョイ ae68-YsWi)
2020/07/16(木) 09:14:27.30ID:PzZafv3e0 そして統一後気が変わって全て置換か
463デフォルトの名無しさん (ワッチョイ 717c-R8z5)
2020/07/16(木) 09:39:51.11ID:6lIeM5zt0 何の変数かコメント付けるだけで十分では
464デフォルトの名無しさん (ワッチョイ 89cc-aTVc)
2020/07/16(木) 11:51:40.64ID:iXWxOn5X0 同じフォルダ内の"取引実績"ブックの"関東地区"シートの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
それぞれ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デフォルトの名無しさん (オッペケ Sr75-mKd1)
2020/07/16(木) 12:20:55.35ID:Bld7disAr いらん列を消せば?
466デフォルトの名無しさん (オイコラミネオ MMad-u33l)
2020/07/16(木) 12:29:13.40ID:GzNgEuWKM みんなvbaどうやって勉強してるの?
しっかり参考書とか買って、じっくり?
ちなみに自分は>>458に近いスタイル
必要に迫られたらネットで検索して、ちょっと弄ってって感じ
だからいつまでたっても上達しない・・・
しっかり参考書とか買って、じっくり?
ちなみに自分は>>458に近いスタイル
必要に迫られたらネットで検索して、ちょっと弄ってって感じ
だからいつまでたっても上達しない・・・
467デフォルトの名無しさん (オッペケ Sr75-mKd1)
2020/07/16(木) 12:41:43.01ID:Bld7disAr 消したらrange("a2").resize(i,6)
468デフォルトの名無しさん (ワッチョイ 717c-R8z5)
2020/07/16(木) 12:45:12.35ID:6lIeM5zt0469デフォルトの名無しさん (ブーイモ MMa1-t9FD)
2020/07/16(木) 13:00:26.82ID:jRyYUilTM これできるようにしてくれない?
これって自動でならない?
職場の糞どもの質問は完全に無視してる
テメーの昼休憩にずっと触ってるスマホで調べりゃ出てくるだろ
話しかけんな
これって自動でならない?
職場の糞どもの質問は完全に無視してる
テメーの昼休憩にずっと触ってるスマホで調べりゃ出てくるだろ
話しかけんな
470デフォルトの名無しさん (ワッチョイ ae68-YsWi)
2020/07/16(木) 13:38:13.07ID:PzZafv3e0 その人が楽するためなら何もしないな
あえて普段はどうやってるか聞いてみて嫌な顔一つしない感じならやる
あえて普段はどうやってるか聞いてみて嫌な顔一つしない感じならやる
471デフォルトの名無しさん (ワッチョイ ee8c-aTVc)
2020/07/16(木) 14:52:54.75ID:2egBYvX50 >>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
一つずつ入れるならザックリこんな感じのロジックで。
他の方法として新しいシートにシートコピーして列を消して配列に挿入の方が
効率いいのかも どうだろう
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)
2020/07/17(金) 00:37:14.96ID:27Ma2AbZ0 少し組んで改善するとまぁ評価はされるんだけど
他の人後でメンテナンスできるよな?
とか
マクロが壊れる心配ないよな?とか
テンプレートのように言われるけど知るかよ
読み取り専用で配布してるしプロシージャ弄れないようにしてあるし壊れねーっつーの
パスワードかけてないマスター版も社内サーバーに置いてあるから
いじりたきゃ学べや
あと配布した途端楽になったらその業務ばっかりやろうとするおっさん見苦しくてむかつく
配って損したわ
他の人後でメンテナンスできるよな?
とか
マクロが壊れる心配ないよな?とか
テンプレートのように言われるけど知るかよ
読み取り専用で配布してるしプロシージャ弄れないようにしてあるし壊れねーっつーの
パスワードかけてないマスター版も社内サーバーに置いてあるから
いじりたきゃ学べや
あと配布した途端楽になったらその業務ばっかりやろうとするおっさん見苦しくてむかつく
配って損したわ
473デフォルトの名無しさん (ワッチョイ b602-u3Vd)
2020/07/17(金) 08:36:30.29ID:KHrOLv580 あれ?ここ日記帳だっけ?
474デフォルトの名無しさん (ワッチョイ 7663-NRU3)
2020/07/17(金) 09:55:37.13ID:q+bHJv+q0 みんなの日記帳だよ
君も自由に書き込んでいいよ
君も自由に書き込んでいいよ
475464 (ワッチョイ 89cc-sTnA)
2020/07/17(金) 11:03:50.73ID:lcXPd8bd0 >>465,468,471
ありがとうございます。列を削除して取り込みます。
ありがとうございます。列を削除して取り込みます。
476デフォルトの名無しさん (ワッチョイ 89cc-V+qA)
2020/07/17(金) 11:46:31.69ID:lcXPd8bd0 配列 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"
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デフォルトの名無しさん (ワッチョイ 8949-cgHx)
2020/07/17(金) 12:02:43.77ID:0sNlDakf0 型はなんなの?
くそコードでもいいからひとつずつ考えて作ってみたの?
くそコードでもいいからひとつずつ考えて作ってみたの?
478デフォルトの名無しさん (ワッチョイ 71ba-+Pas)
2020/07/17(金) 12:07:44.33ID:NYWT4Zhl0 の場合、とか言ってるんならif使えばいいだけだろ
アホなのか
アホなのか
479477 (ワッチョイ 8949-cgHx)
2020/07/17(金) 12:46:43.52ID:0sNlDakf0480476 (ワッチョイ 89cc-V+qA)
2020/07/17(金) 15:02:49.46ID:lcXPd8bd0 >>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")
完成しました。ありがとうございました
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)
2020/07/17(金) 21:27:08.31ID:27Ma2AbZ0 来年の役員報告の課の改善発表の内容に
俺のマクロで作る事が既に組み込まれてるんだが
そもそもそこまでスキルないし年上のもっと給料もらってる奴にやらせろやカスが
俺のマクロで作る事が既に組み込まれてるんだが
そもそもそこまでスキルないし年上のもっと給料もらってる奴にやらせろやカスが
482デフォルトの名無しさん (アウアウウー Sa39-o0Sj)
2020/07/17(金) 23:08:06.59ID:Bh4mGSGka って言えばいいじゃん
483デフォルトの名無しさん (ワッチョイ 95da-YsWi)
2020/07/18(土) 15:07:16.47ID:aMbjCCwU0 日本語環境でmiLANG_JAPANESEを指定してもbad languageのエラーが出るのは何故?
484デフォルトの名無しさん (ワッチョイ 752d-odhS)
2020/07/18(土) 16:11:19.98ID:gXGI8VY40 敗戦国だから
485デフォルトの名無しさん (ワッチョイ 89cc-sTnA)
2020/07/18(土) 18:26:41.44ID:6ntZQZs40 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
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デフォルトの名無しさん (アウアウエー Sa02-l+/r)
2020/07/18(土) 19:22:36.82ID:BZh66Ti/a >>485
そりゃあ貴方、ary2は関数ですと自分で宣言してるもの。
しかもary1に代入してますやんかー
プログラムは命令通りに動作してるだけじゃん。
ary2の配列を準備して処理してから
そのary2の内容をシートに展開すようにプログラムしなきゃ
そりゃあ貴方、ary2は関数ですと自分で宣言してるもの。
しかもary1に代入してますやんかー
プログラムは命令通りに動作してるだけじゃん。
ary2の配列を準備して処理してから
そのary2の内容をシートに展開すようにプログラムしなきゃ
487485 (ワッチョイ 89cc-sTnA)
2020/07/18(土) 20:24:50.23ID:6ntZQZs40 >>486
ありがとうございますFuntionの使い方を誤解していましたm(_ _)m
ありがとうございますFuntionの使い方を誤解していましたm(_ _)m
488デフォルトの名無しさん (ワッチョイ 89da-YsWi)
2020/07/18(土) 22:33:50.97ID:6aEbh+KL0 Function大魔王
489デフォルトの名無しさん (ドコグロ MM0d-HVEE)
2020/07/18(土) 22:50:59.73ID:GbMN9IfrM490デフォルトの名無しさん (ドコグロ MMc2-brDT)
2020/07/18(土) 23:52:10.32ID:UVKbM6jvM >>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
単純化した一つの正解の型
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デフォルトの名無しさん (ワッチョイ 7d40-srtg)
2020/07/19(日) 01:27:51.35ID:YQjQ9IMi0 配列の扱いや参照渡し以前の問題では・・・
492デフォルトの名無しさん (ワッチョイ 768e-3Ffi)
2020/07/19(日) 02:51:36.02ID:b8b+mHAS0 結局、馬鹿には無理なんだよ
493デフォルトの名無しさん (ワッチョイ fabc-+TcB)
2020/07/19(日) 02:54:31.21ID:MOwnlnDY0 joinして受け渡ししてsplitで復元がシンプルでわかりやすいんじゃね?
494デフォルトの名無しさん (ワッチョイ 694e-XNKV)
2020/07/19(日) 06:42:33.41ID:xggXZiaY0 もう企業ユーザーにはOffice Script解放されてるみたいですが試された方、使用感どんなもんですか?
495デフォルトの名無しさん (ワッチョイ 89da-YsWi)
2020/07/19(日) 08:30:43.83ID:du465xO70 調査してる最中じゃねーの、あわてんな
496デフォルトの名無しさん (スッップ Sdfa-Kk1B)
2020/07/19(日) 14:09:46.91ID:4shkrYfWd >>485
ary2の宣言部分は正しい。
でもary2の内部でary2はどうなったの?
何もしてないよね。
ary2の内部でary2はこうなりましたって書かないと宣言した時点の空の配列が返るのが当然。
つまりary2のFunctionの最後にary2=の文が必要。
ary2の宣言部分は正しい。
でもary2の内部でary2はどうなったの?
何もしてないよね。
ary2の内部でary2はこうなりましたって書かないと宣言した時点の空の配列が返るのが当然。
つまりary2のFunctionの最後にary2=の文が必要。
497デフォルトの名無しさん (スッップ Sdfa-Kk1B)
2020/07/19(日) 14:11:26.48ID:4shkrYfWd >>490のfnc=any()の文が正にそれ。
498デフォルトの名無しさん (アウアウウー Sa39-o0Sj)
2020/07/20(月) 12:06:47.51ID:Dkhdkwhma excelなんだから配列はセルにいれときゃいいんじゃね
499デフォルトの名無しさん (ブーイモ MM99-/wEX)
2020/07/20(月) 18:29:09.95ID:3yLiDe7EM 速度気にしないなら
500デフォルトの名無しさん (ワッチョイ 89da-YsWi)
2020/07/20(月) 23:22:10.32ID:87nc/Vc+0 全然気にしない
501デフォルトの名無しさん (ワッチョイ 95da-YsWi)
2020/07/20(月) 23:52:01.41ID:3H73W2vZ0 配列は大量に入れるとメモリ不足になるのが嫌。
値以外のプロパティ持ってるセルの方がよっぽどメモリ喰うだろって思うけど、
仕様だから仕方がない。
値以外のプロパティ持ってるセルの方がよっぽどメモリ喰うだろって思うけど、
仕様だから仕方がない。
502デフォルトの名無しさん (スッップ Sdfa-Kk1B)
2020/07/21(火) 07:20:28.10ID:s4f7WPjJd メモリ不足になるほど大量に入れることなんて殆ど無い。
不足するのは別の理由だと思うが。
不足するのは別の理由だと思うが。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 高市早苗って「わざと」日本畳んでるよな? [419865925]
- ‎
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
