I need a macro that can extract data
Closed
excelmwangi
Posts
16
Registration date
Friday February 6, 2015
Status
Member
Last seen
June 5, 2015
-
Feb 7, 2015 at 06:47 PM
vcoolio Posts 1411 Registration date Thursday July 24, 2014 Status Moderator Last seen September 6, 2024 - Mar 26, 2015 at 09:46 PM
vcoolio Posts 1411 Registration date Thursday July 24, 2014 Status Moderator Last seen September 6, 2024 - Mar 26, 2015 at 09:46 PM
Related:
- How to write a macro in excel to extract data
- How to write & in laptop - Guide
- How to reset safe folder password without losing data ✓ - Android Forum
- How to copy data from one excel sheet to another - Guide
- Excel online macros - Guide
- How to calculate position in excel ✓ - Office Software Forum
4 responses
vcoolio
Posts
1411
Registration date
Thursday July 24, 2014
Status
Moderator
Last seen
September 6, 2024
262
Feb 8, 2015 at 06:26 AM
Feb 8, 2015 at 06:26 AM
Hello excelmwangi,
The easiest way to do this would be to add a selection criteria to your dataset. So, in the following code, I have added an asterisk "*" in Column A (for each sheet) as the criteria.
With this code, whichever row you place an asterisk by (ensure this is in Column A), in whichever sheet, the row of data will be copied to the "Master" sheet. The criteria is left behind.
You can have a look at my Test work book here:-
https://www.dropbox.com/s/dfy344w9u1w0509/Excelmwangi.xlsm?dl=0
to see if it works for you.
We can add an additional row of code if you want the transferred data cleared from the worksheets supplying the "Master" sheet. As the code is now, it clears the "Master" sheet prior to the data transfer to prevent duplicates while the data remains in each of the supplying sheets.
Kind regards,
vcoolio.
The easiest way to do this would be to add a selection criteria to your dataset. So, in the following code, I have added an asterisk "*" in Column A (for each sheet) as the criteria.
Sub CopyData()
Dim ws As Worksheet
Dim lRow As Long
Dim lCol As Integer
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name = "Master" Then GoTo NextSheet
ws.Select
lRow = Range("A" & Rows.Count).End(xlUp).Row
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
For Each cell In Range("A2:A" & lRow)
If cell.Value = "*" Then
Range(Cells(cell.Row, "A"), Cells(cell.Row, lCol)).Copy
Sheets("Master").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End If
Next cell
NextSheet:
Next ws
Sheets("Master").Range("A1:A" & Rows.Count).ClearContents
Sheets("Master").Select
Application.ScreenUpdating = True
Application.CutCopyMode = False
MsgBox "Data transfer complete", vbExclamation
End Sub
With this code, whichever row you place an asterisk by (ensure this is in Column A), in whichever sheet, the row of data will be copied to the "Master" sheet. The criteria is left behind.
You can have a look at my Test work book here:-
https://www.dropbox.com/s/dfy344w9u1w0509/Excelmwangi.xlsm?dl=0
to see if it works for you.
We can add an additional row of code if you want the transferred data cleared from the worksheets supplying the "Master" sheet. As the code is now, it clears the "Master" sheet prior to the data transfer to prevent duplicates while the data remains in each of the supplying sheets.
Kind regards,
vcoolio.
Feb 9, 2015 at 12:55 PM
Feb 9, 2015 at 01:03 PM
Feb 9, 2015 at 01:35 PM
https://www.dropbox.com/s/azbbvcnp4e8flsp/Planning%20Worksheet%20Western%20Vicariate%20-%20Copy.xlsm?dl=0