How to Combine Multiple Excel Files using VBA

Поділитися
Вставка
  • Опубліковано 24 лип 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...
    UA-cam 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

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

    This is exactly what I have been searching for :)

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

    Paul, congratulations. Another great video.

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

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

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

    Very useful.

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

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

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

    Thanks for this video.

  • @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

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

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

  • @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?

  • @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.

  • @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

  • @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!

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

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

  • @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

  • @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.

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

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

  • @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

  • @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.

  • @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

  • @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?

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

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

  • @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: ua-cam.com/video/hsBKyM4HMyA/v-deo.html

  • @JD-kp4dp
    @JD-kp4dp Рік тому

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

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

    soft source?

  • @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?

  • @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?