How to Combine Multiple Excel Files using VBA

Поделиться
HTML-код
  • Опубликовано: 5 июл 2024
  • 👉 Ready to master VBA?
    - Check out my full courses: courses.excelmacromastery.com/
    - Subscribe to the channel here: bit.ly/36hpTCY
    -Want to download the source code for this video? Go here: bit.ly/3ej9Lcg
    (Note: If the download page doesn't work then make sure to turn off any popup blockers)
    How to Combine Multiple Excel Files using VBA
    In this video I show 3 examples of reading muliple Excel workbooks to one worksheet. The examples are:
    1. Copy all the data.
    2. Copy specific columns.
    3. Return to the total amount for each item of the 3 files.
    #excelvba #excelvbacopy #VBAMultipleFiles #ExcelMultipleFiles
    RELATED RESOURCES:
    (Blog Post)Excel VBA Copy - The Complete Guide to Copying Data: excelmacromastery.com/excel-v...
    (Blog Post)Excel VBA Array - The Complete Guide: excelmacromastery.com/excel-v...
    (Blog Post)Excel VBA Dictionary - A Complete Guide
    excelmacromastery.com/vba-dic...
    RUclips PlayList: Excel VBA Dictionary: • Excel VBA Dictionary
    Useful VBA Shortcut Keys
    ========================
    Debugging:
    Compile the code: Alt + D + L OR Alt + D + Enter
    Run the code from the current sub: F5
    Step into the code line by line: F8
    Add a breakpoint to pause the code: F9(or click left margin)
    Windows:
    View the Immediate Window: Ctrl + G
    View the Watch Window: Alt + V + H
    View the Properties Window: F4
    Switch between Excel and the VBA Editor: Alt + F11
    View the Project Explorer Window: Ctrl + R
    Writing Code:
    Search keyword under cursor: Ctrl + F3
    Search the word last searched for: F3
    Auto complete word: Ctrl + Space
    Get the definition of the item under the cursor: Shift + F2
    Go to the last cursor position: Ctrl + Shift + F2
    Get the current region on a worksheet: Ctrl + Shift + 8(or Ctrl + *)
    To move lines of code to the right(Indent): Tab
    To move lines of code to the left(Outdent): Shift + Tab
    Delete a Line: Ctrl + Y(note: this clears the clipboard)
    Table of Contents:
    00:00 - Introduction
    01:11 - Code - return all the data
    05:05 - Using Dir to get the files
    06:12 - Reading the workbook data
    08:18 - Writing the data to the worksheet
    12:07 - IndividualColumns
    14:20 - Totalling Values
  • НаукаНаука

Комментарии • 60

  • @Excelmacromastery
    @Excelmacromastery  Год назад

    Let me know, in the comments below, which method you found most useful. Make sure to download the source code from the description below the video.

    • @karl-heinzlutzel9585
      @karl-heinzlutzel9585 Год назад

      Paul, as always a great application. You explain this really super. I think it's great that you show the way over the individual functions or subs. Simply how it should be done professionally.

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      @@karl-heinzlutzel9585 Thanks. Glad you like it.

    • @yashchawla8360
      @yashchawla8360 Год назад

      Any way to write dictionaries with classes in one go?

    • @miless2111sutube
      @miless2111sutube Год назад

      Given you had to select something to make the dictionary work does any user need to do the same to be able to run the code?

    • @Excelmacromastery
      @Excelmacromastery  Год назад +1

      @@yashchawla8360 No. The reason you can do with basic data items is because they are stored as an array.

  • @budiyanto1531
    @budiyanto1531 Год назад +1

    Paul always shows me A lot little things with the New and simpliest way which is the Best thing to write codes. Thank you Paul.
    The next thing I would like you to teach me how to make an application complete with its relational databases connected each other. And offcourse, like always, the simpliest way and the fastest aplications.

  • @alexrosen8762
    @alexrosen8762 Год назад

    Super useful tutorial Helps to improve and streamline automation of work processes.

  • @mtotowamungu8259
    @mtotowamungu8259 Год назад +2

    I like your new Camtasia video style, you can see that you put a lot of effort into it. I also like that your videos are more relaxed again (easier to understand for non-native English speakers).
    Thanks a lot Paul

  • @joaocustodio2094
    @joaocustodio2094 Год назад

    Paul, congratulations. Another great video.

  • @henrycullen950
    @henrycullen950 Год назад

    This is exactly what I have been searching for :)

  • @grzegorz2852
    @grzegorz2852 Год назад

    man, u are a hero! Thank you very much for this super useful tutorial. i learn a lot from you

  • @maciejdolinski2603
    @maciejdolinski2603 Год назад

    Hi Paul. It's great video. As every that you create. Thank you.
    Anyway, why do you use intermediate table to temporarily keep data from source worksheets instead of copying directly from source sheet to destination sheet using e.g. Advanced Filter? Is it faster or is it to make the code ore readable?

  • @sedataksakal414
    @sedataksakal414 Год назад

    Süper çok güzel bir uygulama. Teşekkür ederim.

  • @inigosanchez-ostizchivite5441
    @inigosanchez-ostizchivite5441 Год назад +1

    I know almost every object you use but the very reason I watch your videos is because I learn a lot on how to create clean and comprehensive code.
    I appreciate the work you do.

  • @HachikoLostdog
    @HachikoLostdog Год назад

    Very useful and precise as always. Paul could you expand this a little bit further say i have a huge range of data set and i want to get the uniquue names and ids per employee and get the total data they have on the table

  • @bondniko
    @bondniko Год назад

    Very useful.

  • @tomharrington1453
    @tomharrington1453 Год назад

    Dude, there is a LOT in this video. Excellent job.

  • @SyedMuzammilMahasanShahi
    @SyedMuzammilMahasanShahi Год назад

    Thanks for this video.

  • @dangreen2501
    @dangreen2501 Год назад

    I went from not knowing anything about VBA coding to being able to understand what you are saying in this video the first time through. The W.W.W is amazing and people like you make it easy to learn new and amazing things. I started out just wanting to create a program that would automate some B.I. Reports I used daily and it has turned into a full blown application that does it all! I advise anyone with the desire to learn VBA to learn from folks like Paul. Thanks dude, you’re awesome!

  • @hammeedabdo.82
    @hammeedabdo.82 Год назад

    Hi Paul,
    Thank you for this video.
    I want to make a dictionary, so that it contains huge data, so that when I add new sentences to this dictionary, this data must be stored in one of the databases such as Mysql.
    My question: Is it possible to use Excel as a front-end in order to display this data from the Mysql database, and when we add new sentences it will be stored in the Mysql database?

  • @teddyted04
    @teddyted04 Год назад

    Very neat. At the moment, I would say all methods described are useful.
    Can you clarify one? From WriteData, shAll it gives an error on compilation: "Variable not defined". Would you kind enough to explain?
    How about the Reference > Microsoft Scripting Runtime. Where is that coming from?
    Thank you kindly.

  • @rockyrkt6293
    @rockyrkt6293 Год назад

    I want create a VBA tool for collecting data from different Excel to one like same, but for flexible for all types of data like may be sometimes raw and column are changed

  • @ziadsemaan5669
    @ziadsemaan5669 Год назад

    Hello.
    New to the channel here.
    Quick question: if the data is jagged what should we use instead of .CurrentRegion

  • @maddinenirajeshbabu3143
    @maddinenirajeshbabu3143 Год назад

    Thanks very much paul,
    Actually i am having one query when we are running the macro we can't work another excel work how to over come this issue even macro is running we have to work parallel another work also is there any way to over come this problem?
    Thanks in advance Paul.

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      I'm not really clear on your question. Are you referring to multi threading? If so, it's not possible in VBA.

    • @VipulKarkar
      @VipulKarkar Год назад

      As Paul mentioned multi threading is not possible in excel.
      The very first thing, you should look into, is optimising the macro so it doesn't run for hours.
      I follow a convention where
      If any macro is running more than 3 minutes, I try to re-write, refactor and optimise the code in more efficient way. I hope that helps.

  • @gunasekaran4288
    @gunasekaran4288 Год назад

    You Re one of the best developers in this filed sir. Also kindly share work book along with code for my testing. Unable to download this code in browser

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      Make sure you're not using any popup blockers. Code should download fine.

    • @gunasekaran4288
      @gunasekaran4288 Год назад

      @@Excelmacromastery ok sir. Thanks do you have any online training available. I would like to learn from you. But cost if affordable for me...plz.let me know your thoughts sir

    • @gunasekaran4288
      @gunasekaran4288 Год назад

      Any update

  • @Thegingeranator
    @Thegingeranator Год назад

    I'm curious how reliable these vba codes over the course of time, do they break A lot with updates? is it smart to combine excel formulas with VBA?

  • @Tom-kd3xc
    @Tom-kd3xc Год назад

    Hi! Thanks for the video.
    What about when only the names of the columns are known?

    • @Tom-kd3xc
      @Tom-kd3xc Год назад

      I mean, what if we don't know the order of the columns, but only know their names?

    • @pezad4187
      @pezad4187 Год назад +1

      Use Worksheet.Match function to determine the index

  • @sangramkeshary5850
    @sangramkeshary5850 Год назад

    Hi
    I'm getting error in WriteData() on newRow declaration that "Variable not defined"
    Could anyone please help me on this?

  • @francsreal7437
    @francsreal7437 Год назад

    I have been following your steps..yet it does not locate the xlsm file i am looking in a folder..

  • @vishalmastud9256
    @vishalmastud9256 Год назад

    GOOD LUCK

  • @nkememes1637
    @nkememes1637 Год назад

    Hello sir,
    How can i Split a ( 1 Million of rows) large file into 10 small files using VBA macro without filterring dara
    please help me to code for this problem

  • @meniporat3527
    @meniporat3527 Год назад

    Hi Paul,
    Thank you for an excellent explanation.
    Unfortunately, the source code file cannot be downloaded 😞

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      What issue are you having with the download? Make sure to turn off any popup blockers.

  • @thofiktufel
    @thofiktufel Год назад

    I think Power Query would be better to use here. Can you please explain why choose VBA over PQ for this task ?

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      See the Power Query version of this task here: ruclips.net/video/hsBKyM4HMyA/видео.html

  • @JD-kp4dp
    @JD-kp4dp Год назад

    How about the opposite, one master file sending data to hundreds of separate files?

  • @anhnhatnguyet4628
    @anhnhatnguyet4628 Год назад

    The files in the folder have the same structure, file A has 1 sheet, file B has 2 sheets, file C has 3 sheets. Need to create a file D with only 1 sheet with all data of 6 sheets, use VBA, how to do it?

  • @Ghulammuhammad360
    @Ghulammuhammad360 Год назад

    soft source?

  • @alexeiofp
    @alexeiofp Год назад

    I am light years away from understanding this level of code. What book do you recommend to start with?

    • @Excelmacromastery
      @Excelmacromastery  Год назад

      Hi Alexis, I would recommend starting with this tutorial (excelmacromastery.com/vba-tutorial-1/)

  • @hammeedabdo.82
    @hammeedabdo.82 Год назад

    The other question: How can we divide an excel file into several files?
    We need another video to reverse this process: How can we divide this excel file in this video again into several files?