[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

Excel VBA Using a function in a cell to pull in data from different sheets

Posted on 2013-11-19
4
Medium Priority
?
405 Views
Last Modified: 2013-11-24
Hi

I have several workbooks with data in a similar format.
I know that you can call a VBA function in a cell.
Does anyone have an example where this technique is used to pull
data from several sheets into one?
0
Comment
Question by:Murray Brown
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 33

Expert Comment

by:Rob Henson
ID: 39660741
You need to be more specific about what you are trying to achieve.

Sample data is always good but must be non-confidential as it is viewable to public.

Thanks
Rob H
0
 
LVL 8

Assisted Solution

by:stevepcguy
stevepcguy earned 1000 total points
ID: 39660743
I'm not great at pounding out code, but I can copy existing code and tweak it to suit my situation.
Here is an example of copying from another worksheet. It's not what you asked for, but simplifies the process:
http://www.ehow.com/how_7361777_copy-paste-another-using-vba.html

Once you wrap your head around that, check out how to copy from another workbook:
http://www.ozgrid.com/forum/showthread.php?t=69320
0
 
LVL 12

Accepted Solution

by:
Harry Lee earned 1000 total points
ID: 39667294
To be able to use VBA in spreadsheet cells, you have to create the function in VBA so that it will work like other formulas.

Open up VBA Editor but pressing Alt-F11. Open Project Explorer by pressing Ctrl-R.

In the Project Explorer, look for the current file you are working on. Right click and choose Insert -> Module.

In the module, type in some like the bellow.

Function GetQuarterEnd(Rngdate As Range) As Date
Dim myDateVariable As Date
Dim Year1, Month1, Day1, ResultMth, ResultDate As Integer

Year1 = Year(Rngdate.Value)
Month1 = Month(Rngdate.Value)
Day1 = Day(Rngdate.Value)

Select Case Month1
    Case 1 To 3
        ResultMth = 3
    Case 4 To 6
        ResultMth = 6
    Case 7 To 9
        ResultMth = 9
    Case 10 To 12
        ResultMth = 12
End Select

Select Case ResultMth
    Case 3, 12
        ResultDate = 31
    Case 6, 9
        ResultDate = 30
End Select
myDateVariable = DateSerial(Year1, ResultMth, ResultDate)
GetQuarterEnd = myDateVariable
End Function

Open in new window


After that, you can start using formula like =GetQuarterEnd(A1) in spreadsheet cells.

In you question, you said you want to put data from multiple sheet into one. That doesn't sound like it has anything to do with calling VBA function from spreadsheet cells.
0
 

Author Closing Comment

by:Murray Brown
ID: 39672314
Thanks
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
If you need to forecast numbers -- typically for finance -- the Windows and Mac versions of Excel 2016 have a basket of tools to get the job done.
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question