ExcelVBA 身の毛もよだつ 爆速配列!!

Поділитися
Вставка
  • Опубліковано 28 січ 2025

КОМЕНТАРІ • 48

  • @dr-orochi009
    @dr-orochi009 3 роки тому +10

    オロナインで笑い過ぎて内容が頭に入らないw
    悔しいのでもう1回再生するw

  • @tsuna_can_eat
    @tsuna_can_eat 3 роки тому +7

    ありがとうございます!
    バウンド関数と配列のイメージが掴めました。おかげさまで3時間の作業が30分で終わるようになりました。この内容が書籍にして欲しいです。

  • @sai1977sai
    @sai1977sai 3 роки тому +1

    ありがとうございます!!youtube 準備できました。

  • @muneyasu
    @muneyasu 3 роки тому +3

    こいこいさん、実装したところ、0.2秒で検索できるようになりました!最高です!ありがとうございます!爆速です!

  • @akihikotakashima92
    @akihikotakashima92 3 роки тому +1

    オロナインが気になって、ぼくちんの大好きな爆速二次元配列が霞むwww

  • @shimaeno1317
    @shimaeno1317 3 роки тому +1

    Option Base 1 を初めて知った、、、ありがとうございます。

  • @Kei-q5q
    @Kei-q5q 3 роки тому +2

    セル処理が結局重たいんですよね....
    自分はあまりvbaを使えませんが、この知識のおかげでGASでも困らずに済みました

  • @トモン-q9e
    @トモン-q9e Рік тому

    お疲れ様です!
    知りたいことが爆速で出てくる素晴らしさ!
    オロナイン使い切ったことない人です笑(ニベアも)

  • @星野哲郎-x8f
    @星野哲郎-x8f 2 роки тому +1

    こいこい様
    いつも楽しく拝見させてもらっています。
    かなり困っていることがあります。
    表をカレントリジョンで配列に取り込み、LBound, UBoundでループさせセルに貼りつけます。すると発注番号22E-150が
    2.2E-149に変化していまいます。
    回避方法を教えていただけませんか。
    よろしくお願い致します。

  • @dill-mame
    @dill-mame 2 роки тому +1

    おー…そんな処理速度のイメージだったのか…
    分かりやすいのはもちろんだけど、VBAの動画で噴くとは思わなかったw(超高速道路のイメージ図)

  • @u-ichirolf9505
    @u-ichirolf9505 3 роки тому +2

    いつも勉強させてもらっています。最近作ったマクロで、約10万行の検索を行っているのですが、なんか遅いなあと感じていたところでした。配列試してみます!

  • @yuta4955
    @yuta4955 3 роки тому +6

    あぁ。この知識、もう少し早く知りたかったぁ。Excelってそういう機能があると知ることからすべて始まりますよね。

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  3 роки тому +1

      知らないことばかりですよね!私も今でもその機能5年前に知りたかったということがあります(笑)

  • @karatatsu
    @karatatsu 3 роки тому +1

    リスト配列、いいですね。 早速使ってみました。ありがとうございます。 リスト配列はcollecitonのほうが扱いやすいかも。

  • @Leon-Leon
    @Leon-Leon 3 роки тому +1

    真面目なエクセルの話なのにスタートが笑える!!

  • @pianoarennzimimikopi
    @pianoarennzimimikopi 3 роки тому +1

    データを一個一個セルに入れてくプログラムと一括でセルに入れるプログラムもかなり違いますよね

  • @kerocat8179
    @kerocat8179 3 роки тому +1

    物理量増えているのに個数に着目する(笑) 新しすぎる!

  • @blackbear_9696
    @blackbear_9696 3 роки тому +2

    配列いいね!

  • @yumi0502k
    @yumi0502k Рік тому

    ちょっと🤣👏オロナイン!しかも…2個🤣👏自分でこいさんを拾って…情報をコピーして貼り付けるんですね…。そうするとスマート!になるんですね…。見やすい❤

  • @tuan502
    @tuan502 3 роки тому +1

    実写版前置きシリーズ始まった

  • @m1ob1t1
    @m1ob1t1 2 роки тому

    他のプログラミング言語で 二次元配列が紹介されていましたが 意味がわかりませんでした(笑) と言うことは 三次元配列も 有りますか?

  • @rpa_ksei9737
    @rpa_ksei9737 2 роки тому

    二次元配列の一括入力無茶苦茶多用してるけど、データ量数万越えると、読み取った配列の計算の方が時間がかかるように泣

  • @Suke-q9q
    @Suke-q9q 2 роки тому

    LIST(N)入れるタイミングで preserve redim out(J,ubound(data,2))  OUT配列にデータ代入 J =J+1で次のデータ準備 ってエラー出るんでしたっけ?

  • @mieumieu8417
    @mieumieu8417 2 роки тому

    私は配列の添え字とcellsの添え字が一致するようにあえてタイトル行といった不要な部分まで配列取り込みします。最初にcellsで動作確認して遅さ以外の問題なければ、配列の取り込みと書き戻し部分を加えて、cellsは配列変数名に一括置き換え。不要行の削除といった処理を行っている場合は問題が起こるかもしれませんが、大抵はこの方法でなんとかなっています。あくまで私ができる内容での「大抵」ですけどw

  • @アンダーバー-h9z
    @アンダーバー-h9z 3 роки тому +2

    配列に慣れるとScreenUpdatingの必要性が弱まる。

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  3 роки тому

      そうですね!この動画だとついてますね(笑)いらなかったですね(笑)

  • @中京ざんまい
    @中京ざんまい Рік тому

    かつて、MatLab使い始めたころに、
    配列の要素を for〜nextで処理して、その遅さに辟易したことがありました
    そこで、配列丸ごとを処理する方法に辿り着き実装したら、まさに爆速
    元々、CやVBを使っていましたので、配列を丸ごと演算するなんて頭になかったのです
    ともあれ、処理系が得意とする処理を活用しない手はない、を強く感じた出来事でした
    VBAでも似たところがあるんですね
    感激です
    ところで、超高速道路の図には参りました
    折角excel使ってるのだから、白板なんて言わず、excelでやってみませんか
    挿入→図形 で超高速道路の要素を簡単に描くことができますよ
    図形は、丸二つと直線と自在線、都合四つで、それぞれにテキストを書けば、あっという間です
    お試しを

  • @kisito513
    @kisito513 3 роки тому +1

    OUT配列に入れる度に「redim preserve」をしていた俺。
    マクロ作ってる時、リスト配列の発想は無かったなぁ。

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  3 роки тому

      その方法でもいけますよね^^

    • @tarot270
      @tarot270 2 роки тому

      どっちが速いか気になりますね(^^
      私もredim preserveで直接out配列に入れちゃう派ですが、
      redim preserveって意外に重いって噂で聞いたことがあるので…。

  • @Architect2ys
    @Architect2ys 3 роки тому +1

    セル上の計算だと、一回ずつインプットして計算してまた一回ずつアウトプットして...みたいな感じですからね…

  • @clubnagoya
    @clubnagoya 3 роки тому

    オロナインは、チューブも是非👍

  • @spadaleggendaria9765
    @spadaleggendaria9765 3 роки тому +9

    vbaの基本
    …いかにセル/book操作を少なくするかがコツ
    その最も有効的な効果が配列(特に動的配列/2次元配列)と強く感じています。
    極力配列内で処理をして、最後に配列(二次元が理想)で一括入力が基本だと思います。

  • @toretorecc
    @toretorecc 3 роки тому

    うちにも賞味期限切れのオロナインあるな・・・今度から、チューブの小さいやつを買うことにする・・・

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  3 роки тому

      大きいのを買うといつの間にか期限切れになりますよね💦

  • @secondlife4337
    @secondlife4337 Рік тому

    すごいなぁ、こいこいさん。一年がかりで再度見返したら、やっとリスト配列の必要性が理解できました。
    ありがとうございます。
    これからは配列で業務を爆裂改善していきます。

  • @DoggyID
    @DoggyID 3 роки тому +3

    8分前で草、待ってた。

  • @arakurikaesiki
    @arakurikaesiki 2 роки тому

    とても勉強になりました。ありがとうございます。
    動画の入りの「〇〇〇〇〇(小ネタ?)〇〇〇〇〇〇どうも、こいこいです。」も毎回楽しみにしてます( ´艸`)
    職場で作った送付状の宛先マスタ(7列:ID;更新日;郵便番号;所在地;名称;電話番号;備考)の検索をセル上でしてたのですが(頼まれて作ったけど自分はほぼ使わない)
    作ったときはダミーデータ数十件で遅いとは思わなったのですが行数が数千件になるともっさりしてしまい改善できないかと言われてます。
    職場で動画見ながら改修したかったのですが、職場のネットはフィルタリングで動画配信系は見れないので家でぺちぺち作ってみました。
    もともとフリガナは管理してなかったのでその部分は端折りましたが、一応動くものができました。ただListBoxにout配列をを取り込むときにIDの降順に並び替えしたいのですが
    どうすればよいでしょうか?こいこい様もしくは配列詳しい方ご教授お願いしま

    • @arakurikaesiki
      @arakurikaesiki 2 роки тому

      自己解決しました。
       '一致した行をユーザー定義型へ
      For i = LBound(Data) To UBound(Data) を
       For i = UBound(Data) To LBound(Data) Step -1 にしたらできまし💦

  • @HYHY4646
    @HYHY4646 3 роки тому

    為になる情報ありがとうございます。写経してまず検索機能で練習してみよ
    動画の内容とはたぶん関係ないですが、
    3万行ぐらいのデータを1行ずつ下から一つ上のデータと比較して処理するVBA
    1時間ぐらいかかって遅い遅いと言われるけど未解決。どーしたら…

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  3 роки тому +1

      それも配列だけで処理すれば高速化できそうな気がします!

  • @yoshiki6375
    @yoshiki6375 2 роки тому +1

    内容すごく良かったです!
    今度からセルを直接触らずにコードで処理するようにします!
    ただ、動画今後、伸びて欲しいので苦言ですが、視線誘導が激しいので必要のないクリックを避けてもらえるとありがたいです。

  • @ns-jr8qs
    @ns-jr8qs 3 роки тому

    配列で180秒かかるもののヒントがちょっとわかった気がした