Avatar of Chaitu235
Chaitu235
 asked on

Need vbcode to paste data from one worksheet

Need to copy data from one worksheet to another based on Particular value in the Cell.I am attaching the format and how the copy should work.

I have three worksheets named Report,Posted and Pending

On the Report work sheet i will have two cells with values (Posted and Pending respectively).

The data from Posted worksheet has to get copied below the Posted Cell and Pending has to be pasted below the Pending Cell

The Cell numbers of posted and pending is dynamic and will vary from report to report

I am attaching the format of the report .It would be great if someone can provide me a vb code which does this.

Thanks,
Chaitu235
TEST_FORMAT_REPORT.xlsx
Microsoft Excel

Avatar of undefined
Last Comment
Chaitu235

8/22/2022 - Mon
Saqib Husain

Try

Sub collectpostedpending()
    Dim typ As Variant
    For Each typ In Split("Posted,Pending", ",")
        Sheets(typ).Cells.Find("Name", , , xlPart).CurrentRegion.Copy
        ActiveSheet.Cells.Find(typ, , , xlPart).Offset(1).Insert Shift:=xlShiftDown
    Next typ
End Sub
Chaitu235

ASKER
Can you explain what is typ here?
Saqib Husain

Did it work?

typ is a variable to do the process
once with posted
and then with pending
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
Chaitu235

ASKER
It worked on the dummy sheet i sent....the requirements have changed

1) The requirement is Everytime data is copied the contents have to be cleared in the Report Sheet under Posted and pending cells Respectively.
2) The data has to get copied to Report worksheet only when Report sheet is active.

I am atatching an updated version of the spreadsheet I received from my user.can you please help me on this .

Thanks
TEST_FORMAT_REPORT.xlsx
Chaitu235

ASKER
Please take a look at the updated spreadsheet and let me know if you have any solution.
Saqib Husain

Try

Sub collectpostedpending()
Dim typ As Variant
For Each typ In Split("Posted,Pending", ",")
    Sheets(typ).Cells.Find("*", , , xlPart).CurrentRegion.Copy
    ActiveSheet.Cells.Find(typ, , , xlPart).Offset(1).Insert Shift:=xlShiftDown
Next typ
End Sub
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Chaitu235

ASKER
I want to clear the contents in the report tab everytime the data is pasted there can you please help on that..
ASKER CERTIFIED SOLUTION
Saqib Husain

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Chaitu235

ASKER
Excellent work .Thanks for the help
Saqib Husain

YW
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Chaitu235

ASKER
Syed, When the data is copied it has to get copied from 2nd row and not first row onwards.can you tell me what needs to be done to achieve this.
Saqib Husain

Try

currentregion.offset(1).copy

instead of

currentregion.copy
Chaitu235

ASKER
Hi Syed,

I have a question for you..if i have a formula on Column B on the starting cell i want that formula to apply for every cell in that column when data gets pasted .Can you tell me how can i achieve that.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Saqib Husain

Can you be a bit more specific.

Where is the formula
What is changed
Where to paste the formula
Chaitu235

ASKER
the formula will be there on the main tab where the data will get copied it will be there on say H  column.We are pasting data from A to G columns.The formula on H will do a vlookup based on value in A column.

Now if i have the formula on say H1 cell and paste the data in A to G columns on 20 cells .I want to know if the formula which i have on H1 can be automated to be executed till H20 .

Please let me know.

Thanks,
Chaitu235
Chaitu235

ASKER
Syed i have a question.I wrote the macro code you provided on Worksheet_activate.Can you please let me know how to activate the sheet by default in the code so that the user need not click the Report sheet for the copy to happen
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck