ExcelVBA 魔性の配列テクニック

Поділитися
Вставка
  • Опубліковано 5 лют 2025
  • ExcelVBA 魔性の配列テクニック
    使わせていただいた音楽&効果音サイト
    魔王魂(商用可)
    使わせていただいた画像サイト
    いらすとや(商用可)

КОМЕНТАРІ • 51

  • @toswalker
    @toswalker 8 місяців тому

    CurrentRegionで、直接、範囲を変数に代入せずに、OffsetとResizeで、格納前に、先にデータ部だけに調整した方が、後処理が面倒にならなくていいよ。でも、自分だったら、Adoで接続して、CopyfromRecordsetで書き込むかな。

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

    お疲れ様です!
    (大自然の中、サイクリングしたくなりました笑)
    訓練が大事なんですね!

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

    こいさん❤が自転車🚲乗ってるの想像すると可愛いですね❤うぽつです✊(^o^)計算してからセルに貼り付けるのですね!画像…犬🐶のお巡りさん😍可愛い❤

  • @太根玉国
    @太根玉国 3 роки тому +3

    サムネで工口動画だと思って見に来たら勉強になる動画でした

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

    複数シートにできてくる情報を1シートに集めたくなって、そういえばこいこいさんそんな感じのことやってたなって思い出して探してた!
    何度か見た時は聞き流してたけど一次元配列に二次元配列入れるなんてできるのかぁ…しゅごい!
    二次元配列に更に二次元配列を追加してくってできるのかなーってここ数日めっちゃ考えてたー
    データ取るときにOffsetしたら削除行考えなくていいかなぁ(横着)
    これ参考にしてやってみます!🤗

  • @haru-md9ly
    @haru-md9ly 4 роки тому +15

    Data(cnt) = Range("A1").CurrentRegion

    Data(cnt) = Range("A1").CurrentRegion.Value
    の略なので、数式が全て値で格納されてしまう点が注意ですね。
    数式は数式のまま格納したい場合は、
    Data(cnt) = Range("A1").CurrentRegion.Formula
    にします。

    • @koikoi_zinkoutinou
      @koikoi_zinkoutinou  4 роки тому +2

      その通りですね(^^)数式まで格納したい場合は、Formulaですね!

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

    pythonでアルゴリズム勉強してるけど、リンクする部分多くて面白い

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

    職場で使ってみました。バババババッっと集計できました。ありがとうございました!

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

    セルも構造は二次元配列そのものですからね。
    二次元配列を使っていなくて遅いのを我慢して使ってる現場が多いこと多いこと。

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

    複雑な計算が簡単にできるシート関数を発生させて、計算後値に置きかえるコードをよく書きます。
    配列に格納した場合もシート関数は使えますか?

  • @土門秀彰
    @土門秀彰 3 роки тому

    いつも楽しく拝見してます!

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

    Excel 2003まではシートが65535行までという厳しい制限があったので行数だけで見ればデータが1ワークシートに収まらないこと多数。だから自然と配列を使うことになったなぁ。集計用としてはワークシートは処理した後の出力専用って感じだったかな?

  • @1116oga
    @1116oga 4 роки тому +3

    勉強になります。
    二次元配列を一次元配列に格納… ハンマーで頭叩かれた感覚です。
    pythonではリストの中にデータフレーム入れたりを無意識にしていましたが、
    vbaでは思いもつかなかった。
    今後、色々できそうです。

  • @saito345
    @saito345 4 роки тому +2

    連想配列についての動画作ってください! 
    いつも楽しみに見ています。

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

      ありがとうございます!連想配列の動画を近日中に公開します!!

  • @lkousin7156
    @lkousin7156 4 роки тому +3

    他の言語で配列の概念は分かってましたが、VBAでどうするのか探してこの動画に行きつきました。
    すごく分かりやすく助かりました。
    チャンネル登録もしました。
    今後も勉強させていただきます。

  • @paprikaredman
    @paprikaredman 4 роки тому +3

    速度に悩まされていたので勉強になりました

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

      よかったです(^^)私も昔速度で悩んでました!

  • @Lupin77
    @Lupin77 4 роки тому +2

    初めまして。とても興味深い内容でした。ありがとうございます。
    エクセルで配列使えるんですね。知りませんでした。
    こいこいさんの動画をみてAIを自分でも作れるようになりたいと思っています。

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

      少しでもAIの勉強に役立ててればなと思っています^^

  • @NTTR0221
    @NTTR0221 4 роки тому

    非常にわかりやすかったです。ありがとうございました。

  • @えるふぃ-b7u
    @えるふぃ-b7u 4 роки тому +2

    関係ないですが、自転車のベルを歩行者をどかすために鳴らすのは法律違反だと言われてるようですね(捕まった人はいないようですが)

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

      そうなんですね。。昔はよく鳴らされてどいていましたね。最近は自転車には乗りませんが、注意したいと思います!

  • @なかあなかあ
    @なかあなかあ 3 роки тому

    vbaの本当の便利さって繰り返し計算だと思うんだけどなんでそれで連想配列なの?seets(i)じゃないの?

  • @ky4034
    @ky4034 4 роки тому +5

    excelは視覚的に配列がわかりやすいので、どうしてもシート上で計算してしまいがちですね。。。。
    わたし、ブックの集約はsqlを使いますね。

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

      シートの方が視覚的で確かにわかりやすいですね^^

  • @yukinakamura4685
    @yukinakamura4685 4 роки тому +1

    歩道を自転車で走らなければそういう感じにならないですよ。

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

      そうですよね。15年以上前に毎日ある陸橋を通っていたのですが、その時のことを思い出して話しました。当時は歩行者と自転車で道が分けられていませんでした。なのでそういった光景がたまにみられました。現在は歩道と自転車専用道路に分けられているようです。不快な思いをさせて申し訳ありません。。

  • @Goma-chan
    @Goma-chan 4 роки тому

    VBA初心者にとってなんとなくすごいテクニックなんだとは思うけど使いどころがわかりません🥺今の仕事のどこに使えるのか想像できません🥺

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

      わかりづらくてごめんなさい((T_T))

    • @Goma-chan
      @Goma-chan 4 роки тому

      こいこいの人工知能研究室 自分の頭が悪いのがいけないのです😭こんな高等テクニックが使えたらもっと仕事捗るのかなぁ…

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

      そんなことないですよ!もっと現場で扱えるイメージができるような工夫をしてみますね!

  • @youtubefan1822
    @youtubefan1822 4 роки тому +1

    初めて来ました。
    マクロで500行くらいマクロを動かしていると300行超えたくらいから動作がモタつきます。
    まさに短距離選手が長距離走ってバテました的な動きです。
    原因はメモリーリークでしょうか?
    どんな処理かもお伝えしないで失礼な質問ですが宜しくお願いします🥺🤲

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

    サムネ変わった?

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

    変数dataはLong型変数なのに、data = Range("A1").CurrentRegionのようにセル範囲を代入できるんですか? Long型変数dataはそれで配列になるんですか?
    dataがVariant型変数なら配列になると思うのですが。

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

      これ、私も知るまでは謎でしたので、代わりに答えておきます。
      変数の型の宣言をしないと自動的にVariant型になります。
      つまり
       dim data, i as Long
      上記の場合、
       dim data as Variant, i as Long
      と書かれたことと同じ意味になります。

  • @hirohiro1817
    @hirohiro1817 4 роки тому

    今回も大変勉強になりました!
    また質問で恐縮ですが、配列を扱っている書籍でおすすめのものはございますか?

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

      VBAはあまり書籍に詳しくないのですが、わかりやすい書籍がないか調査してみます!

    • @hirohiro1817
      @hirohiro1817 4 роки тому

      こいこいの人工知能研究室 返信ありがとうございます!てっきりVBAで学ばれたのだと思いました。
      pythonなどの他の言語で学ばれたということでしょうか?

  • @TW-jy3ln
    @TW-jy3ln 4 роки тому

    初めまして。いつも大変勉強させていただき、ありがとうございます。
    プログラムの配布(有償・無償問わず)やQiitaへの投稿などは、今後検討されてますでしょうか。
    引き続きよろしくお願いいたします。

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

      プログラムの配布は検討しています!質問も急激に増えています。どういう方法がベストなのか考えていますので少々お待ちください!