!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:uDfmpksE0140デフォルトの名無しさん (アウアウウー Sacf-z1wt)
2020/07/02(木) 15:30:35.30ID:NxUusdo6a そんなものはない
141デフォルトの名無しさん (ワッチョイ 8aea-Qwhy)
2020/07/02(木) 16:07:39.62ID:fLeksvw30 >>140
ありがとうごさいました。参考になります。
ありがとうごさいました。参考になります。
142デフォルトの名無しさん (ワッチョイ 6bda-BXkI)
2020/07/02(木) 16:13:40.59ID:pSHiLlcA0 馬鹿の特徴
人にマウントしたがるだけで
質問への答えは出さない
人にマウントしたがるだけで
質問への答えは出さない
143デフォルトの名無しさん (ワッチョイ 5301-v7i8)
2020/07/02(木) 17:04:38.40ID:2Xt/GnSW0144デフォルトの名無しさん (ワッチョイ 0a42-QTdV)
2020/07/02(木) 17:44:48.44ID:Q59tEF0c0 そんなものはない
145デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/02(木) 17:45:12.17ID:q3lU8bAMa そんなひとはいない
146デフォルトの名無しさん (ワントンキン MMfa-MOKw)
2020/07/02(木) 21:22:15.18ID:sbstkRF+M 馬鹿には馬鹿と指摘しないと、あまりに低レベルの自分でやってみようという意志もない馬鹿な質問で溢れかえるからこれくらいでいい
147デフォルトの名無しさん (ワッチョイ 5301-v7i8)
2020/07/02(木) 21:49:51.56ID:2Xt/GnSW0148デフォルトの名無しさん (ワッチョイ 0b09-ERT+)
2020/07/02(木) 22:51:02.52ID:7/3Aifl90 ここが上級者ばかり集う高尚なスレだと思っているのかWWWWWWWWWWWW
VBAごときでWWWWWWWWWw
VBAごときでWWWWWWWWWw
149デフォルトの名無しさん (ワッチョイ deda-VQSO)
2020/07/02(木) 23:33:21.68ID:0km7hKfU0 VBAを随分下に見てるねえ。
別にC#で回答してもいいよ?
VBAに脳内変換するから。
別にC#で回答してもいいよ?
VBAに脳内変換するから。
150デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/02(木) 23:47:09.16ID:Y/spJvDG0 上級者も馬鹿も両方いてあたりまえ
お前らそんなにマウントとりたいのかw
お前らそんなにマウントとりたいのかw
151デフォルトの名無しさん (ワッチョイ bb80-Rur7)
2020/07/02(木) 23:59:32.57ID:yXnL3NZ/0 誰か教えて。
式に=とか+を使うと字が読みにくくて困っています。
全角文字や絵文字を使うことはできないのでしょうか?
急いでいますからすぐに教えて、
式に=とか+を使うと字が読みにくくて困っています。
全角文字や絵文字を使うことはできないのでしょうか?
急いでいますからすぐに教えて、
152 テトリス ◆SYKnw8OJpw
2020/07/03(金) 00:10:57.30 テスト
153デフォルトの名無しさん (ワッチョイ deda-VQSO)
2020/07/03(金) 00:14:47.41ID:P5PHrlsB0154デフォルトの名無しさん (ワッチョイ 8aef-VQSO)
2020/07/03(金) 04:04:14.78ID:B7qpVotz0 Function 〓(ByRef a, ByVal b) : a = b : End Function
Function ┼(ByVal b, ByVal c) : 〓 ┼, WorksheetFunction.Sum(b, c) :End Function
これを入れておけば、=とか+から解放されるぞ
Sub test()
Dim a
〓 a, 1
Debug.Print ┼(a, 1)
End Sub
Function ┼(ByVal b, ByVal c) : 〓 ┼, WorksheetFunction.Sum(b, c) :End Function
これを入れておけば、=とか+から解放されるぞ
Sub test()
Dim a
〓 a, 1
Debug.Print ┼(a, 1)
End Sub
155デフォルトの名無しさん (ワッチョイ 0a2f-+ZV3)
2020/07/03(金) 12:58:30.06ID:KESc8IU30 そんなソース絶対読みたくないな
読みやすいフォント探すか自作すればいいだけだろうに
読みやすいフォント探すか自作すればいいだけだろうに
156デフォルトの名無しさん (アウアウウー Sacf-z1wt)
2020/07/03(金) 13:30:11.45ID:hUamHkOVa ハズキルーペ使えよw
157デフォルトの名無しさん (ワッチョイ 87cc-ERT+)
2020/07/03(金) 21:14:38.38ID:mplhmvvw0 ワークシートの条件にあう行を削除して上に詰めるみたいなことを、配列内でしたいです。
多次元配列"ary"内の1列目が66か、6列が1000か、28列目が空欄のレコードを削除するコードを教えてください
多次元配列"ary"内の1列目が66か、6列が1000か、28列目が空欄のレコードを削除するコードを教えてください
158デフォルトの名無しさん (ワッチョイ 8ab5-5DWS)
2020/07/03(金) 21:23:34.89ID:Mxid+JS90 E列が空白になるまでE列とG〜M列に特定の処理をしたくて
Do loopを使って何とかできないかと悩んでたけど座礁しますた
Eの11行目を起点にして
E列の数値が正の数ならEもG〜Mも数値はそのまま
E列の数値が0ならEもG〜Mも数値はそのまま
Eの数値が負の数ならEとG〜Mの数値を-*1
と反転させたい
ってのは素人には荷が重すぎですかね?
Do loopを使って何とかできないかと悩んでたけど座礁しますた
Eの11行目を起点にして
E列の数値が正の数ならEもG〜Mも数値はそのまま
E列の数値が0ならEもG〜Mも数値はそのまま
Eの数値が負の数ならEとG〜Mの数値を-*1
と反転させたい
ってのは素人には荷が重すぎですかね?
159デフォルトの名無しさん (ワッチョイ 1bac-OmMV)
2020/07/03(金) 21:31:07.37ID:DQKehNsV0 157,188
お互いに相手のコード相談しながら考えてあげればいいんじゃね
ちょうどよさげだわレベル
お互いに相手のコード相談しながら考えてあげればいいんじゃね
ちょうどよさげだわレベル
160デフォルトの名無しさん (ワッチョイ 27ce-BXkI)
2020/07/03(金) 21:44:24.02ID:4NyCV/dB0 >>158
いいえ、がんばればできます
いいえ、がんばればできます
161デフォルトの名無しさん (ワッチョイ 27ce-BXkI)
2020/07/03(金) 21:55:13.66ID:4NyCV/dB0 Sub Macro1()
r = 11 '起点の行
Do While Cells(r, "E") <> ""
If Cells(r, "E") < 0 Then
Cells(r, "E") = -Cells(r, "E")
For c = Asc("G") To Asc("M")
Cells(r, Ch r(c)) = -Cells(r, Ch r(c))
Next c
End If
r = r + 1
Loop
End Sub
r = 11 '起点の行
Do While Cells(r, "E") <> ""
If Cells(r, "E") < 0 Then
Cells(r, "E") = -Cells(r, "E")
For c = Asc("G") To Asc("M")
Cells(r, Ch r(c)) = -Cells(r, Ch r(c))
Next c
End If
r = r + 1
Loop
End Sub
162デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/03(金) 22:17:41.55ID:aUU6z7Ir0 そもそもマクロ作るのって違うデータでも同じ処理をやりたいような場合じゃないのか
一回限りのデータ抽出ならわざわざマクロなんか作る意味ないんだけどな
無駄に時間を浪費したいのかな
一回限りのデータ抽出ならわざわざマクロなんか作る意味ないんだけどな
無駄に時間を浪費したいのかな
163デフォルトの名無しさん (ワッチョイ a392-LTdq)
2020/07/03(金) 22:37:42.83ID:qSqs6yG50 使い捨てマクロってのもありまして
164デフォルトの名無しさん (ワッチョイ 6bda-ewff)
2020/07/03(金) 22:48:22.59ID:3J4wGhdX0 定型フォーマットの複数ファイルの同項目の値を集計したい
なんて時は使い捨てマクロかな
なんて時は使い捨てマクロかな
165デフォルトの名無しさん (ワッチョイ 0a2f-+ZV3)
2020/07/03(金) 23:04:06.95ID:KESc8IU30166デフォルトの名無しさん (ワッチョイ 0a2f-+ZV3)
2020/07/03(金) 23:06:05.89ID:KESc8IU30167デフォルトの名無しさん (ワッチョイ 8ab5-5DWS)
2020/07/03(金) 23:26:37.07ID:Mxid+JS90168デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/03(金) 23:27:55.78ID:8QUz9sdRa 確かに一回限りの作業なら
マクロ考えているよりやった方が終わってるかもな
マクロ考えているよりやった方が終わってるかもな
169デフォルトの名無しさん (ワッチョイ deda-VQSO)
2020/07/03(金) 23:35:20.76ID:P5PHrlsB0 >>157
配列内でやるならレコードセットだな。
配列内でやるならレコードセットだな。
170デフォルトの名無しさん (ワッチョイ 46f7-5RIT)
2020/07/03(金) 23:42:57.67ID:9EQo/V7m0 一回きりだろうと同じ処理100回やるようなのもあるんだし
171デフォルトの名無しさん (ワッチョイ deda-VQSO)
2020/07/03(金) 23:46:08.59ID:P5PHrlsB0 1回限りでも3行くらいで済むのは書くな。
172デフォルトの名無しさん (ワッチョイ bb1d-+upQ)
2020/07/04(土) 00:48:12.93ID:KIBH4SNT0 まだ22歳の学生社長が得た、23億円の「使い道」
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
173デフォルトの名無しさん (ワッチョイ a392-LTdq)
2020/07/04(土) 01:40:09.94ID:IOVEPry/0 一般論としては頻度の多い作業の方が自動化に向いてるのは確かだけど、
1回だけでも大量のデータを加工したり手作業でやるには時間のかかる作業もあり、
作業時間の方がコード書く時間より長くなる場合も多々もあるのでケースバイケースやね
1回だけでも大量のデータを加工したり手作業でやるには時間のかかる作業もあり、
作業時間の方がコード書く時間より長くなる場合も多々もあるのでケースバイケースやね
174デフォルトの名無しさん (ワッチョイ 5301-JCxG)
2020/07/04(土) 01:58:21.07ID:42LT/T3f0 逆に、山田やっとけ、というのはどうよ?
175デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/04(土) 02:07:27.87ID:VMWug14q0 やるとは何を?
176デフォルトの名無しさん (ワッチョイ 5301-JCxG)
2020/07/04(土) 02:09:15.54ID:42LT/T3f0 データの加工。
177デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/04(土) 02:10:42.23ID:VMWug14q0 加工すればいいんじゃね
178デフォルトの名無しさん (ワッチョイ 5301-JCxG)
2020/07/04(土) 02:13:10.44ID:42LT/T3f0 いや、山田がやってくれないかなって。
だめ?
だめ?
179デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/04(土) 02:16:03.66ID:VMWug14q0 だから山田がデータを加工すればいいんじゃね
180デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/04(土) 02:38:36.13ID:VMWug14q0 素人にやらせた場合間違った結果を出すかもしれんが
その場合頼んだ側にも責任があるけどそれでも山田にやらせるか?
その場合頼んだ側にも責任があるけどそれでも山田にやらせるか?
181デフォルトの名無しさん (ワッチョイ 5301-JCxG)
2020/07/04(土) 03:10:27.15ID:42LT/T3f0 田中のほうが良いかな?
182デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/04(土) 03:37:53.50ID:OxpkXjjxa 斎藤さんだぞ
183デフォルトの名無しさん (ワッチョイ 8a01-21HI)
2020/07/04(土) 04:04:04.69ID:IjVZd7O90 山田ができるのは座布団運びだけだろ
184デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 07:02:36.51ID:VZt6Ms3K0 do whileとかほとんど使わないわ
あれ試行錯誤してる最中に脱出条件間違えて固まるとイライラってするんで
>>158こういうのは
途中で空白行挟んでたらどうすんのとか考えるとEnd(xlup)とか使って無難にforで回したい
最も空白行挟んでたらそこまでしか処理しないのかもしれんけど
それなら上から順に一旦回して空白行がどこに出るのか調べてからやるわ
全データ配列に格納してからやれば速度的にも問題ないと思うし
あれ試行錯誤してる最中に脱出条件間違えて固まるとイライラってするんで
>>158こういうのは
途中で空白行挟んでたらどうすんのとか考えるとEnd(xlup)とか使って無難にforで回したい
最も空白行挟んでたらそこまでしか処理しないのかもしれんけど
それなら上から順に一旦回して空白行がどこに出るのか調べてからやるわ
全データ配列に格納してからやれば速度的にも問題ないと思うし
185デフォルトの名無しさん (スップ Sdaa-tYaB)
2020/07/04(土) 07:59:26.14ID:yagtSNgld 観測地点が全国で2000ヶ所、1時間毎の観測結果3年分のデータがあって、8時間毎に観測出来なかった場合も踏まえて平均し、観測出来なかったのが8時間の内4時間以上あったら平均値も出力出来なかったとする。
で、その8時間の平均値は1時間ずつずれて24個分で1日のデ―タとなるんだが、それをさらに平均して1日の値とする
なんてのやったが1回限りでもVBA使わないと無理。
というか普通に考えてVBAでも無理だけどね。
で、その8時間の平均値は1時間ずつずれて24個分で1日のデ―タとなるんだが、それをさらに平均して1日の値とする
なんてのやったが1回限りでもVBA使わないと無理。
というか普通に考えてVBAでも無理だけどね。
186デフォルトの名無しさん (ワッチョイ 2780-2vUA)
2020/07/04(土) 09:41:06.65ID:htrp3xgD0 >>157
配列に入れたら順番に書き込んで条件の時だけ書き込みスキップじゃ駄目なの?
配列に入れたら順番に書き込んで条件の時だけ書き込みスキップじゃ駄目なの?
187デフォルトの名無しさん (ワッチョイ 1e8e-0gyK)
2020/07/04(土) 10:01:18.86ID:1naoKVTK0 >>185
お前の低い知能の頭ではできないだけだろ
お前の低い知能の頭ではできないだけだろ
188デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 11:47:27.20ID:VZt6Ms3K0 簡単だよな
セルにどういう風にデータが並んでるかで多少の工夫がいるかもしれんけど
加減乗除のみのワンパターン
セルにどういう風にデータが並んでるかで多少の工夫がいるかもしれんけど
加減乗除のみのワンパターン
189デフォルトの名無しさん (ワッチョイ bf20-JOTr)
2020/07/04(土) 12:11:54.32ID:xB5SKVkx0 水口克也氏のExcelVBA入門講座って本を使ったことある人いますか?
最後のじゃんけんゲームを作る所が、どうしてもうまくいきません
最後のじゃんけんゲームを作る所が、どうしてもうまくいきません
190デフォルトの名無しさん (ドコグロ MM33-21HI)
2020/07/04(土) 12:23:35.41ID:KlM0EefbM191デフォルトの名無しさん (ワッチョイ bbda-fHqu)
2020/07/04(土) 12:37:06.40ID:/jHrZd8o0 8時間平均から24時間平均への変換は一般的なLPF処理だな
デジタル信号処理で数値データを扱う基本的な考え方だよ
デジタル信号処理で数値データを扱う基本的な考え方だよ
192デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 13:05:03.59ID:VZt6Ms3K0 >>157
全要素forで回しながら
条件合うものだけを新しい配列newArrayにいれていけばいいじゃん
その後新しい配列から、データ空にしたシートに記入
新しい配列の要素数、特に1次元要素数(行数)だけど
Redim Preserveで順次増やしていくのはこの場合できないから、
一旦行数を確定するためだけにfor回してカウント
要素数確定したnewArray作ってから
もう一度for回して入れていけばいい
行列逆転させればredim preserve使って一発でもいけるか
特に巨大なデータでなければ間違い避けるために二回まわすなおれなら
行削除によって表自体の体裁を上に詰めていきたいっていうなら
最初にforを回した後、元の行数とnewArrayの行数の差だけ表の行を削除
データはすでに配列にとってあるんだからどこから削除しても構わない
全要素forで回しながら
条件合うものだけを新しい配列newArrayにいれていけばいいじゃん
その後新しい配列から、データ空にしたシートに記入
新しい配列の要素数、特に1次元要素数(行数)だけど
Redim Preserveで順次増やしていくのはこの場合できないから、
一旦行数を確定するためだけにfor回してカウント
要素数確定したnewArray作ってから
もう一度for回して入れていけばいい
行列逆転させればredim preserve使って一発でもいけるか
特に巨大なデータでなければ間違い避けるために二回まわすなおれなら
行削除によって表自体の体裁を上に詰めていきたいっていうなら
最初にforを回した後、元の行数とnewArrayの行数の差だけ表の行を削除
データはすでに配列にとってあるんだからどこから削除しても構わない
193デフォルトの名無しさん (ワッチョイ 8a01-21HI)
2020/07/04(土) 13:32:13.54ID:IjVZd7O90 >>191
それ一気に24時間平均でよくね?
それ一気に24時間平均でよくね?
194デフォルトの名無しさん (ワッチョイ bbda-fHqu)
2020/07/04(土) 13:43:57.26ID:/jHrZd8o0 いきなりデータ粒度を荒くするのは悪手
ましてや>>185の場合はじめに欠損データのノイズキャンセルも行っているのでまとめて行なうとデータの精度が低下する
ましてや>>185の場合はじめに欠損データのノイズキャンセルも行っているのでまとめて行なうとデータの精度が低下する
195デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/04(土) 14:05:30.25ID:Em2AcreDa 24コマを1コマにするんだから
平らに均すのに精度もクソも無い気がする
平らに均すのに精度もクソも無い気がする
196デフォルトの名無しさん (ワッチョイ bbda-fHqu)
2020/07/04(土) 14:21:18.07ID:/jHrZd8o0 データ値の定常状態と過渡状態を理解していれば分かる
粒度が荒いと応答性が悪化するので現象の追従が遅れる
安定時のデータ値だけならともかくデータの変化を取りこぼすリスクが高くなるんだよ
粒度が荒いと応答性が悪化するので現象の追従が遅れる
安定時のデータ値だけならともかくデータの変化を取りこぼすリスクが高くなるんだよ
197デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/04(土) 14:31:13.19ID:Em2AcreDa >>196
そりはモニタのアッパーとローワーにトリガー仕込んだら良い話ではないのでしゅか?
そりはモニタのアッパーとローワーにトリガー仕込んだら良い話ではないのでしゅか?
198デフォルトの名無しさん (ワッチョイ bbda-fHqu)
2020/07/04(土) 14:44:04.22ID:/jHrZd8o0 上限、下限決め打ちの場合はトリガ仕込むのでも通用はする
ただ一日当たりの変化量でアクション起こす場合はどうする?
移動差分(微分)を連続的にデータ処理しないと難しい
ただ一日当たりの変化量でアクション起こす場合はどうする?
移動差分(微分)を連続的にデータ処理しないと難しい
199デフォルトの名無しさん (アウアウエー Sa82-qC4h)
2020/07/04(土) 14:48:04.16ID:ZiXQ0AsVa 喧嘩はやめよう
200157 (ワッチョイ 87cc-ERT+)
2020/07/04(土) 14:58:18.35ID:oup49XFx0 >>186
仮の配列を作り、編集してaryに入れるようにしたいのですが
これだと、全て空欄になってしまいます
Dim i As Long, j As Long, cnt As Long, cnt2 As Long
i = Cells(Rows.Count, 1).End(xlUp).Row
'仮の配列
ReDim Kariary(i, 30) As Variant
Kariary = Range("A2:AD" & i).Value
'最終的に代入する配列
ReDim ary(i - 1, 30) As Variant
For cnt = 1 To i - 1
If Not Kariary(cnt, 1) = 66 Or _
Kariary(cnt, 6) = 1000 Or _
Kariary(cnt, 28) = "" Then
j = UBound(ary) + 1
If j < i - 1 Then
For cnt2 = 1 To 30
ReDim Preserve ary(j, 30) As Variant
ary(j, cnt2) = Kariary(cnt, cnt2)
Next cnt2
End If
End If
Next cnt
'シートを一旦クリア
Cells.Clear
Range("A2:AD" & i) = ary
仮の配列を作り、編集してaryに入れるようにしたいのですが
これだと、全て空欄になってしまいます
Dim i As Long, j As Long, cnt As Long, cnt2 As Long
i = Cells(Rows.Count, 1).End(xlUp).Row
'仮の配列
ReDim Kariary(i, 30) As Variant
Kariary = Range("A2:AD" & i).Value
'最終的に代入する配列
ReDim ary(i - 1, 30) As Variant
For cnt = 1 To i - 1
If Not Kariary(cnt, 1) = 66 Or _
Kariary(cnt, 6) = 1000 Or _
Kariary(cnt, 28) = "" Then
j = UBound(ary) + 1
If j < i - 1 Then
For cnt2 = 1 To 30
ReDim Preserve ary(j, 30) As Variant
ary(j, cnt2) = Kariary(cnt, cnt2)
Next cnt2
End If
End If
Next cnt
'シートを一旦クリア
Cells.Clear
Range("A2:AD" & i) = ary
201デフォルトの名無しさん (オッペケ Sr23-OmMV)
2020/07/04(土) 15:04:44.69ID:xhESn47nr はい
202デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/04(土) 15:22:36.21ID:ZKMg5qK7a203デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 15:31:40.93ID:VZt6Ms3K0 >>200
頭が痛くなってくるんだけど
まずifの条件がおかしい
自分で簡単の作って確かめてみ
こういうの
思ってるような動きするか確かめてみ
プログラムってのはそういうことしないとだめだわ
まっさらなxlsm作ってデータも簡単のシートに作ってやってみ
そうすりゃすぐ分かる
Sub teeee()
With ActiveSheet
If Not .Cells(1, 1) = 66 Or .Cells(2, 1) = 2 Then
MsgBox "ok"
End If
End With
End Sub
例えばさ、
ary(j, cnt2) = Kariary(cnt, cnt2)
これにブレークポイントつけてここに到達するケースがあるか調べてみ
それだけで何か分かるわ
まぁだれか正解のコード書いちゃうんだろうけど
デバッグ
ブレークポイント
これ使えないとまともなコード書けないぞ
頭が痛くなってくるんだけど
まずifの条件がおかしい
自分で簡単の作って確かめてみ
こういうの
思ってるような動きするか確かめてみ
プログラムってのはそういうことしないとだめだわ
まっさらなxlsm作ってデータも簡単のシートに作ってやってみ
そうすりゃすぐ分かる
Sub teeee()
With ActiveSheet
If Not .Cells(1, 1) = 66 Or .Cells(2, 1) = 2 Then
MsgBox "ok"
End If
End With
End Sub
例えばさ、
ary(j, cnt2) = Kariary(cnt, cnt2)
これにブレークポイントつけてここに到達するケースがあるか調べてみ
それだけで何か分かるわ
まぁだれか正解のコード書いちゃうんだろうけど
デバッグ
ブレークポイント
これ使えないとまともなコード書けないぞ
204デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 15:38:09.49ID:VZt6Ms3K0 それだけじゃないからな
redim preserve は、くせ者
redim preserve は、くせ者
205デフォルトの名無しさん (ワッチョイ 4602-JJ0U)
2020/07/04(土) 15:42:33.80ID:RSp2d2NT0 redimしなくても十分な量確保しといてどこまで使ったか変数に入れときゃいいだけだろ
わざわざ負荷かかることする意味がない
わざわざ負荷かかることする意味がない
206デフォルトの名無しさん (アウアウエー Sa82-qC4h)
2020/07/04(土) 15:56:38.11ID:D9As6lACa プロはとりあえず配列に格納するのが好きなんです
207デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/04(土) 16:03:39.61ID:DEQjmcqBd208デフォルトの名無しさん (スププ Sdaa-bNAA)
2020/07/04(土) 16:04:11.08ID:qCMIttGKd 十分な量を確保
あとで失敗するパターン
あとで失敗するパターン
209デフォルトの名無しさん (アウアウエー Sa82-h0J+)
2020/07/04(土) 16:09:00.53ID:MUUOvXMba data.csv
年月日,時間,気温,湿度
2020/07/04,11:15,28.5℃,78%
2020/07/04,12:15,ー,78%
2020/07/04,13:15,28.5℃,ー
2020/07/04,14:15,ー,ー
2020/07/04,15:15,28.5℃,78%
・・・
・・
・
1カ月データとして24時間×31日=744行+先頭行
1年12ヶ月データで8,928行かぁ
データスルーとかデータ穴埋めとかって
どっちの場合も
VBA じゃなくてデータベースのSQLで出来たりするのかな?
年月日,時間,気温,湿度
2020/07/04,11:15,28.5℃,78%
2020/07/04,12:15,ー,78%
2020/07/04,13:15,28.5℃,ー
2020/07/04,14:15,ー,ー
2020/07/04,15:15,28.5℃,78%
・・・
・・
・
1カ月データとして24時間×31日=744行+先頭行
1年12ヶ月データで8,928行かぁ
データスルーとかデータ穴埋めとかって
どっちの場合も
VBA じゃなくてデータベースのSQLで出来たりするのかな?
210デフォルトの名無しさん (ワッチョイ 1bac-OmMV)
2020/07/04(土) 16:22:41.23ID:DNEaiqy30 おれならそもそも案件をRDBMSに移す提案をするわ
だめなら元データはどうせCSVやJsonかなにかだろうし、VBAから普通にRDBにいれてプロシージャ叩くとか
外部プログラムで直に処理するね
元データがExcelでExcel縛りなら、どうやって案件から手を引くかを考えるねw
Excel起動するVBAでやることじゃない
まあ金次第でもあるけど
だめなら元データはどうせCSVやJsonかなにかだろうし、VBAから普通にRDBにいれてプロシージャ叩くとか
外部プログラムで直に処理するね
元データがExcelでExcel縛りなら、どうやって案件から手を引くかを考えるねw
Excel起動するVBAでやることじゃない
まあ金次第でもあるけど
211デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/04(土) 16:30:22.62ID:DEQjmcqBd212デフォルトの名無しさん (スププ Sdaa-bNAA)
2020/07/04(土) 16:35:45.74ID:qCMIttGKd pythonでデータクリーニングさせれば?
213デフォルトの名無しさん (ワッチョイ 8a01-21HI)
2020/07/04(土) 16:42:21.08ID:IjVZd7O90214デフォルトの名無しさん (ワッチョイ 8a01-21HI)
2020/07/04(土) 16:47:20.12ID:IjVZd7O90215デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/04(土) 17:02:54.82ID:DEQjmcqBd216デフォルトの名無しさん (アウアウウー Sacf-z1wt)
2020/07/04(土) 17:18:55.42ID:pfDbF4Mra どうせ適当なデータでっち上げて表示させても気づかないだろ
217200 (ワッチョイ 87cc-ERT+)
2020/07/04(土) 17:35:53.50ID:oup49XFx0218デフォルトの名無しさん (ワッチョイ 8e02-JJ0U)
2020/07/04(土) 17:46:55.47ID:aRnpDm0b0 5ちゃんのExcelVBA質問スレでMonaさんに対してマウントを取りたいのですが、
Mount Mona
と記述してもマウントが取れません
どうすればいいですか?
Mount Mona
と記述してもマウントが取れません
どうすればいいですか?
219デフォルトの名無しさん (ワッチョイ 1e8e-0gyK)
2020/07/04(土) 17:49:24.23ID:1naoKVTK0220デフォルトの名無しさん (ワッチョイ 87cc-ERT+)
2020/07/04(土) 17:54:43.71ID:oup49XFx0 A列の2行目以降に値あり、B列の2行目以降に同じ行のA列の値が
上から何回目に出現したかを返す関数として「=COUNTIF($A$1:A2,A2」を使っています。
同じことを配列で使用する方法を教えて下さい。
(A列の値は並び替えをしてあります)
Dim EndRow As Long, r As Long
EndRow = Cells(Rows.Count, 1).End(xlUp).Row
ReDim ary(EndRow, 2)
ary = Range("A2:B" & EndRow).Value
For r = 1 To EndRow - 1
ary(r, 2) = Application.WorksheetFunction.CountIf _
(Range(ary(1, 1), ary(r, 1)), ary(r, 1))
Next r
これだとRangeメソッドは失敗しましたになります。
上から何回目に出現したかを返す関数として「=COUNTIF($A$1:A2,A2」を使っています。
同じことを配列で使用する方法を教えて下さい。
(A列の値は並び替えをしてあります)
Dim EndRow As Long, r As Long
EndRow = Cells(Rows.Count, 1).End(xlUp).Row
ReDim ary(EndRow, 2)
ary = Range("A2:B" & EndRow).Value
For r = 1 To EndRow - 1
ary(r, 2) = Application.WorksheetFunction.CountIf _
(Range(ary(1, 1), ary(r, 1)), ary(r, 1))
Next r
これだとRangeメソッドは失敗しましたになります。
221デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/04(土) 18:14:15.70ID:DEQjmcqBd222デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/04(土) 19:58:17.09ID:VZt6Ms3K0 >>185
批判したいとかそういうもんじゃないんだけど
わりと大きなデータ扱うことに興味があったんでどんなもんか実際やってみた
1カ所分しかやってないんだけど
csvから取得して平均値26280個をシート記入するまで1秒もかかってない感じ
一日ごとの平均は出してないけどこの分じゃそれほど差はないと思う
もしや取得時には配列で一括取得してても
シート記入時に配列使った一括記入してないんじゃ?
も少し情報提供すると
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php#
ここから3年分時間別気温データを、1年ごとcsvにして三個ダウンロード
https://www.moug.net/tech/exvba/0060086.html
これと同じ感じでOpen使って取得
年ごとに必要な気温データのみ1次元配列に入れる
3つの配列を1つの配列にまとめる
平均値入れていく配列AveArrayを新しく作る(あえてString宣言)
あとはforで回しながら過去8時間分のデータを調べてデータない場合の個数を調べて
4つ以上ならAveArrayにN/Aを入れる
4つ未満なら8時間合計して、有効データ数で除算し、AveArrayに入れる
AveArrayを列数1の2次元配列にしてからシートに一括記入
なんかおれ間違ってる?
批判したいとかそういうもんじゃないんだけど
わりと大きなデータ扱うことに興味があったんでどんなもんか実際やってみた
1カ所分しかやってないんだけど
csvから取得して平均値26280個をシート記入するまで1秒もかかってない感じ
一日ごとの平均は出してないけどこの分じゃそれほど差はないと思う
もしや取得時には配列で一括取得してても
シート記入時に配列使った一括記入してないんじゃ?
も少し情報提供すると
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php#
ここから3年分時間別気温データを、1年ごとcsvにして三個ダウンロード
https://www.moug.net/tech/exvba/0060086.html
これと同じ感じでOpen使って取得
年ごとに必要な気温データのみ1次元配列に入れる
3つの配列を1つの配列にまとめる
平均値入れていく配列AveArrayを新しく作る(あえてString宣言)
あとはforで回しながら過去8時間分のデータを調べてデータない場合の個数を調べて
4つ以上ならAveArrayにN/Aを入れる
4つ未満なら8時間合計して、有効データ数で除算し、AveArrayに入れる
AveArrayを列数1の2次元配列にしてからシートに一括記入
なんかおれ間違ってる?
223デフォルトの名無しさん (アウアウエー Sa82-qC4h)
2020/07/04(土) 20:07:02.00ID:ZiXQ0AsVa こうやって実際にやってみる人は素晴らしいと思う
224デフォルトの名無しさん (ワッチョイ 46f7-5RIT)
2020/07/04(土) 20:15:53.04ID:/OqMGH1W0225デフォルトの名無しさん (アウアウウー Sacf-ewff)
2020/07/04(土) 20:17:12.12ID:JHoncA5/a countifじゃなくてloopでfindにすればよいのでは
226デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/04(土) 22:27:57.95ID:VMWug14q0 VBAは手段の一つ、目的はデータの加工ってわりきればすぐ終わる作業なのに
無理してVBAだけでやろうとするからいつまでもおわらない
無理してVBAだけでやろうとするからいつまでもおわらない
227デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/04(土) 23:58:08.33ID:DEQjmcqBd >>222
ちょっと見た感じほぼ、俺と同じ感じだね。
>もしや取得時には配列で一括取得してても
シート記入時に配列使った一括記入してないんじゃ?
オイオイ、そんな素人なわけ無いだろ。
Line inputを使ったか、それより速いバイナリ読み込み+StrConv使ったかについては覚えて居ない。
まあ、速いといっても劇的に速くなる訳じゃないから、そんなことよりマルチプロセスってことでLine inputのままだったかも。
オレがやった時のデータは日付+24列のデータだった。
貼り付けは元データ込みで、元データの右に8時間平均と1日平均書いたと思うが、もしかしたら8時間平均は出力しなかったかも。
多分読み込みよりも列を増やした二次元配列にして書き込みにも利用してたと思う。
ちょっと見た感じほぼ、俺と同じ感じだね。
>もしや取得時には配列で一括取得してても
シート記入時に配列使った一括記入してないんじゃ?
オイオイ、そんな素人なわけ無いだろ。
Line inputを使ったか、それより速いバイナリ読み込み+StrConv使ったかについては覚えて居ない。
まあ、速いといっても劇的に速くなる訳じゃないから、そんなことよりマルチプロセスってことでLine inputのままだったかも。
オレがやった時のデータは日付+24列のデータだった。
貼り付けは元データ込みで、元データの右に8時間平均と1日平均書いたと思うが、もしかしたら8時間平均は出力しなかったかも。
多分読み込みよりも列を増やした二次元配列にして書き込みにも利用してたと思う。
228デフォルトの名無しさん (スップ Sd4a-aBdg)
2020/07/05(日) 00:48:44.07ID:poq4gvQsd 複数のファイルの名前を編集したい
具体的には、全てのファイルのファイル名に、2020と入れたい。
具体的には、全てのファイルのファイル名に、2020と入れたい。
229デフォルトの名無しさん (ワッチョイ 87da-VQSO)
2020/07/05(日) 00:51:15.79ID:C4Jqu0Op0 DOSコマンドでできる
230デフォルトの名無しさん (ワッチョイ 27ce-BXkI)
2020/07/05(日) 01:49:00.12ID:UMxIfgnY0 >>228
ファイル名のどこに入れるの?先頭?真ん中?末尾?
ファイル名のどこに入れるの?先頭?真ん中?末尾?
231デフォルトの名無しさん (ワッチョイ bfe6-s8sF)
2020/07/05(日) 01:59:51.75ID:S3+IlzuQ0232デフォルトの名無しさん (ワッチョイ 1e8e-0gyK)
2020/07/05(日) 02:04:39.40ID:sCEs+yW00233デフォルトの名無しさん (ワッチョイ 46f7-5RIT)
2020/07/05(日) 03:08:45.12ID:EDU6Wt820 powershellでやれ
234デフォルトの名無しさん (ワッチョイ 8a01-c9XW)
2020/07/05(日) 07:10:34.18ID:Mq9FuBzw0 標準モジュールに、
Sub 1()
・・・
・・・
End Sub
Sub 2()
・・・
・・・
End Sub
Sub 3()
・・・
・・・
End Sub
と、書いていき、Sub 1()がSub 2()を呼び、Sub 2()がSub 3()を呼ぶ、って可能でしょうか?
Sub 1()
・・・
・・・
End Sub
Sub 2()
・・・
・・・
End Sub
Sub 3()
・・・
・・・
End Sub
と、書いていき、Sub 1()がSub 2()を呼び、Sub 2()がSub 3()を呼ぶ、って可能でしょうか?
235デフォルトの名無しさん (スプッッ Sd4a-tYaB)
2020/07/05(日) 07:16:23.84ID:2yUokYO9d236デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/05(日) 07:44:05.89ID:VaIdJVAp0 >>227
せっかくなんで
csvは日付+24列に加工してみた
1カ所の8時間ごと平均データ26280個を作って1列に貼り付けるfunctionを作る
引数は貼り付け先の列の列番号
これを
@1回だけ実行 A列のみに貼り付け
A100回実行 A列から右100列に1列ごと貼り付け
B200回実行 A列から右200列に1列ごと貼り付け
timer付けて一応測ってみた
@0.31秒
A32秒
B67秒
2000回だと12分ぐらいか?
CPU i5-4670
メモリ 24GB
Win7
実行時はPCでテレビ見ながらJane2個起動
firefox、Janetterなど20個以上のアプリが動いてる
環境やらデータの数値の大きさやらで
差は2000倍に拡大する可能性があるんで何とも言えない
うちの職場のしょぼいPCでやったらもっと酷いと思う
せっかくなんで
csvは日付+24列に加工してみた
1カ所の8時間ごと平均データ26280個を作って1列に貼り付けるfunctionを作る
引数は貼り付け先の列の列番号
これを
@1回だけ実行 A列のみに貼り付け
A100回実行 A列から右100列に1列ごと貼り付け
B200回実行 A列から右200列に1列ごと貼り付け
timer付けて一応測ってみた
@0.31秒
A32秒
B67秒
2000回だと12分ぐらいか?
CPU i5-4670
メモリ 24GB
Win7
実行時はPCでテレビ見ながらJane2個起動
firefox、Janetterなど20個以上のアプリが動いてる
環境やらデータの数値の大きさやらで
差は2000倍に拡大する可能性があるんで何とも言えない
うちの職場のしょぼいPCでやったらもっと酷いと思う
237234 (ワッチョイ 8a01-c9XW)
2020/07/05(日) 07:54:44.65ID:Mq9FuBzw0 >>234をグーグルで検索するには、どういうキーワードで検索すればいいでしょうか?
238デフォルトの名無しさん (ワッチョイ 872c-+ZV3)
2020/07/05(日) 07:57:11.74ID:R1IME3L+0 >>228
Ruby で作った。
ただし、DryRun なので実際には実行されません!
require 'fileutils'
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*"
src_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す
Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ処理する
.each do |full_path| # 1つずつ処理する
dest_path = src_dir + "/" + "2020_" + File.basename( full_path ) # ファイル名
FileUtils::DryRun.move( full_path, dest_path )
end
# mv C:/Users/Owner/Documents/a.txt
# C:/Users/Owner/Documents/2020_a.txt
Ruby で作った。
ただし、DryRun なので実際には実行されません!
require 'fileutils'
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*"
src_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す
Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ処理する
.each do |full_path| # 1つずつ処理する
dest_path = src_dir + "/" + "2020_" + File.basename( full_path ) # ファイル名
FileUtils::DryRun.move( full_path, dest_path )
end
# mv C:/Users/Owner/Documents/a.txt
# C:/Users/Owner/Documents/2020_a.txt
239234 (ワッチョイ 8a01-c9XW)
2020/07/05(日) 08:01:08.68ID:Mq9FuBzw0240デフォルトの名無しさん (ワッチョイ 8a01-5cl0)
2020/07/05(日) 08:01:41.62ID:VaIdJVAp0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 「俺・私性格悪いからさ〜w」←こういう奴wwwwwwwwwwwww
- 橋下徹「中国こそ国家としてのあるべき姿!!」
- VIPのスクリプトって未だに古典的な定型文だよな
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
