【マクロ中級編】 59回 ブックのデータを一つのまとめブックのシートにまとめる、Excel塾のマクロ講座 中級編59回

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

КОМЕНТАРІ • 13

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

    チャンネル登録させていただきました。
    シートが複数の時はどういった処理になりますでしょうか?

    • @Excel-jyuku
      @Excel-jyuku  Рік тому

      質問ありがとうございます。
      Do~Loop While sfname ""
      の間で、メインの処理を行っていますが、
      その処理は、Set 支店sh = 支店bk.Worksheets(1)として、1枚だけですね。
      複数シートにする場合は、
      Do~Loop While sfname ""
      の間で、For Eachで1枚ずつ回してデータをコピーしてはりつければいいど思います。
      For Each ws In 支店bk.Worksheets
       Set 支店sh = ws
       コード同じ
      Next ws

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

    参考書で似たようなマクロのコード書いてましたので、今回参考になりました!

    • @Excel-jyuku
      @Excel-jyuku  4 роки тому

      うわっ!そうなんですか?恥ずかしい限りです。
      もし、へんな個所がありましたら、教えてください。

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

    いつも見てます。それにしても配列の爆速はすごいと思います。それもコードが短くてわかりやすく勉強になりました。
    もっと教えて欲しいです。
    配列じゃなかったら出来るんですが、配列でしたいことがあります。挑戦中です。
    内容が、複数シートがあって配列を使って別シートへ転記をしたいです。
    シート数は多いです

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

    内容について良く理解できました。ありがとうございます。
    1点ご質問なのですが、取得した内容に付け加えてまとめシートに列を追加し、取得元の支店のファイル名を付加するコードは難しいのでしょうか?
    それぞれのデータに「販売店」が入っておらず、各データがどのファイルから取得されたものか判別できるようにしたいということになります。

  • @はなみやま-o3n
    @はなみやま-o3n 3 роки тому

    はじめまして チャンネル登録しました。これから勉強させていただきます。ここから話が変わります。猫ちゃん20歳で大往生されていたとのこと。遅まきながら猫ちゃんのご冥福をお祈りします。うちの実家の猫も19歳まで生き、大往生の部類なんですが悲しさにはかわりありません…。ちゃんとうちの母と会話してましたし…。

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

    コメントに対応していただきありがとうございました! 練習して書いてたマクロで間違いなくてよかったです。だたExcel for MacではDir関数が使えないらしく撃沈いたしました。

    • @Excel-jyuku
      @Excel-jyuku  4 роки тому

      考え方は合っていたのに、MACではできませんでしたか?それは、残念でしたね。

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

      @@Excel-jyuku
      Windowsでマクロをやっていたのですが、Set ws=wb.Worksheets(1)のところで方が一致しませんとエラーがでます どういうエラーなのでしょうか
      教えていただけますと幸いです
      Sub データ転記2()
      Dim i As Long, j As Long
      Dim sfname As String
      Dim wb As Workbook
      Dim ws As Worksheets
      myfolder = ThisWorkbook.Path
      sfname = Dir(myfolder & "\" & "*.xls")
      Do
      Set wb = Workbooks.Open(Filename:=myfolder & "\" & sfname)
      Set ws = wb.Worksheets(1)
      i = sumamry.Cells(Summary.Rows.Count, 1).End(xlUp).Row
      i = i + 1
      ws.Cells(1, 3).Value = Summary.Cells(i, 6).Value
      wb.Close SaveChanges:=False
      sfname = Dir()
      Loop While sfname ""
      End Sub

    • @Excel-jyuku
      @Excel-jyuku  4 роки тому

      型が一致しないのは、Dim ws As Worksheetsと複数しているのに、Set ws = Worksheets(1) としてあり、こちらは1枚をセットしています。
      Dim ws As Worksheet にすればOKだと思います。

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

    神回です!ありがとうございます😊

    • @Excel-jyuku
      @Excel-jyuku  4 роки тому +3

      今回のコードが理解できたということは、ずっと継続してマクロ講座をご覧になっていたということですね。あなたの努力がすばらしいです。そしてお役に立ててうれしいです。