Need vbcode to paste data from one worksheet

Chaitu235
Chaitu235 used Ask the Experts™
on
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
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
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

Author

Commented:
Can you explain what is typ here?
Did it work?

typ is a variable to do the process
once with posted
and then with pending
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

Author

Commented:
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

Author

Commented:
Please take a look at the updated spreadsheet and let me know if you have any solution.
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

Author

Commented:
I want to clear the contents in the report tab everytime the data is pasted there can you please help on that..
Sub collectpostedpending()
Dim typ As Variant
Dim typpos As Range
For Each typ In Split("Posted,Pending", ",")
    Set typpos = ActiveSheet.Cells.Find(typ, , , xlPart)
    If typpos.Offset(1) <> "" Then
        typpos.Offset(1).EntireRow.Insert
        typpos.Offset(2).CurrentRegion.EntireRow.Delete
        typpos.Offset(1).EntireRow.Delete
    End If
    Sheets(typ).Cells.Find("*", , , xlPart).CurrentRegion.Copy
    typpos.Offset(1).Insert Shift:=xlShiftDown
Next typ
End Sub

Author

Commented:
Excellent work .Thanks for the help

Author

Commented:
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.
Try

currentregion.offset(1).copy

instead of

currentregion.copy

Author

Commented:
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.
Can you be a bit more specific.

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

Author

Commented:
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

Author

Commented:
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

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial