PC Review


Reply
Thread Tools Rate Thread

Copy and Save in specific way

 
 
K
Guest
Posts: n/a
 
      26th Oct 2009
A B C D E….col
Chrg App Total Amt Name…..headings
LA1 F01 7780 2190 DAVID
LA1 F21 7781 2191 DAVID
LA1 G61 7782 2192 DAVID
D35 G83 7783 2193 JOHN
D35 G87 7784 2194 JOHN
D35 G87 7785 2195 JOHN
D31 G87 7786 2196 ALI
D31 LC1 7787 2197 ALI
D31 LE1 7788 2198 ALI
G68 G68 7789 2199 STEVE
G68 G70 7790 2200 STEVE
G68 NA1 7791 2201 ROB
G68 PA1 7792 2202 ROB


I have three sheets in workbook with the names "MAIN" , "DATA" and
"TEMPLATE". In sheet "DATA" I have above data. In column A of sheet
"MAIN" I have data (see below)

A….col
Chrg….heading
LA1
D31
MC3
G68
F23

I want macro something like (see below)

1 - check column A values of sheet "MAIN" in column A of sheet "DATA"
2 - if values exist in sheet "DATA" then copy sheet "TEMPLATE" into
new workbook
3 - name new workbook with the unique value in column E of sheet
"DATA" which will be in same row of existing values
4 - create tabs in new workbook and give them name of column B values
of sheet "DATA" which will also in same row of existing values
5 - put column C and D figures of sheet "DATA" in cells A1 and B1 of
new created tabs
6 - save new create workbook on path "C:\Records"
7 - next until there is no value left in column A of sheet "MAIN"

(bit more detail given below for more understading)

1 - check cell A1 value of sheet "MAIN" (which is "LA1") in column A
of sheet "DATA"
2 - if "LA1" exists in column A of sheet "DATA" then copy sheet
"TEMPLATE" into new workbook
3 - name new workbook with the unique value in column E of sheet
"DATA" coming in same row of value "LA1" (which is "DAVID")
4 - create tabs in new workbook and give them name of column B value
of sheet "DATA" which will also in same row of value "LA1" (which will
be "F01" , "F21 and "G61")
5 - put column C and D figures of sheet "DATA" which are in same row
of values "F01" , "F21" and "G61" in cells A1 and B1 of new created
tabs.
6 - save new create workbook on path "C:\Records"
7 - next until there is no value left in column A of sheet "MAIN"

I'll be very thankful to the friend who can help on this
 
Reply With Quote
 
 
 
 
Patrick Molloy
Guest
Posts: n/a
 
      26th Oct 2009
This isn't greatly elegent, but should get you started ok...paste the code
into a new module

ALT+F11 opens the VBA editor, the INSERT/MODULE from the menu

Option Explicit

Dim wb As Workbook
Dim ws As Worksheet

Dim source As Range
Const TARGETFOLDER As String = "C:\Records\"
Sub Main()
Dim rw As Long
Set source = ThisWorkbook.Worksheets("data").Range("A:A")
rw = 2


With ThisWorkbook.Worksheets("Main")
Do Until .Cells(rw, 1) = ""

If MatchedItem(.Cells(rw, 1)) Then

Set wb = GetWB(.Cells(rw, "E").Value)
Set ws = GetWS(.Cells(rw, "B").Value)

ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(1).Resize(1,
5).Value = _
.Cells(rw, 1).Resize(, 5).Value

wb.Close True
End If

rw = rw + 1
Loop
End With
End Sub

Function MatchedItem(Chrg As String) As Boolean
Dim rec As Long
On Error Resume Next
rec = WorksheetFunction.Match(Chrg, source, False)
MatchedItem = (rec <> 0)
On Error GoTo 0
End Function
Function GetWB(wbName As String) As Workbook
On Error Resume Next
Set wb = Workbooks.Open(TARGETFOLDER & wbName & ".xls")
If Err.Number <> 0 Then
Err.Clear
Set wb = Workbooks.Add(1)
wb.SaveAs TARGETFOLDER & wbName
'ThisWorkbook.Worksheets("Template").Copy wb.Worksheets(1)

End If
Set GetWB = wb

End Function
Function GetWS(wsName As String) As Worksheet
On Error Resume Next
Set ws = wb.Worksheets(wsName)
If Err.Number <> 0 Then
Err.Clear
On Error GoTo 0
ThisWorkbook.Worksheets("Template").Copy wb.Worksheets(1)
wb.Worksheets(1).Name = wsName
Set ws = wb.Worksheets(wsName)
End If
Set GetWS = ws
End Function







"K" wrote:

> A B C D E….col
> Chrg App Total Amt Name…..headings
> LA1 F01 7780 2190 DAVID
> LA1 F21 7781 2191 DAVID
> LA1 G61 7782 2192 DAVID
> D35 G83 7783 2193 JOHN
> D35 G87 7784 2194 JOHN
> D35 G87 7785 2195 JOHN
> D31 G87 7786 2196 ALI
> D31 LC1 7787 2197 ALI
> D31 LE1 7788 2198 ALI
> G68 G68 7789 2199 STEVE
> G68 G70 7790 2200 STEVE
> G68 NA1 7791 2201 ROB
> G68 PA1 7792 2202 ROB
>
>
> I have three sheets in workbook with the names "MAIN" , "DATA" and
> "TEMPLATE". In sheet "DATA" I have above data. In column A of sheet
> "MAIN" I have data (see below)
>
> A….col
> Chrg….heading
> LA1
> D31
> MC3
> G68
> F23
>
> I want macro something like (see below)
>
> 1 - check column A values of sheet "MAIN" in column A of sheet "DATA"
> 2 - if values exist in sheet "DATA" then copy sheet "TEMPLATE" into
> new workbook
> 3 - name new workbook with the unique value in column E of sheet
> "DATA" which will be in same row of existing values
> 4 - create tabs in new workbook and give them name of column B values
> of sheet "DATA" which will also in same row of existing values
> 5 - put column C and D figures of sheet "DATA" in cells A1 and B1 of
> new created tabs
> 6 - save new create workbook on path "C:\Records"
> 7 - next until there is no value left in column A of sheet "MAIN"
>
> (bit more detail given below for more understading)
>
> 1 - check cell A1 value of sheet "MAIN" (which is "LA1") in column A
> of sheet "DATA"
> 2 - if "LA1" exists in column A of sheet "DATA" then copy sheet
> "TEMPLATE" into new workbook
> 3 - name new workbook with the unique value in column E of sheet
> "DATA" coming in same row of value "LA1" (which is "DAVID")
> 4 - create tabs in new workbook and give them name of column B value
> of sheet "DATA" which will also in same row of value "LA1" (which will
> be "F01" , "F21 and "G61")
> 5 - put column C and D figures of sheet "DATA" which are in same row
> of values "F01" , "F21" and "G61" in cells A1 and B1 of new created
> tabs.
> 6 - save new create workbook on path "C:\Records"
> 7 - next until there is no value left in column A of sheet "MAIN"
>
> I'll be very thankful to the friend who can help on this
> .
>

 
Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Modify Ron de Bruin Code; Save Specific Files to Specific Folders ryguy7272 Microsoft Excel Programming 1 24th Aug 2010 05:21 PM
Save specific images to specific records Gertous Microsoft Access VBA Modules 1 18th Mar 2008 01:54 PM
Save and Save as replaced by Update and Save Copy As =?Utf-8?B?bW9jY28wMg==?= Microsoft Word Document Management 2 19th Sep 2007 11:38 PM
Copy specific Sheets and save them as a workbook =?Utf-8?B?Um9jayo=?= Microsoft Excel Programming 2 13th Mar 2006 08:28 PM
Save selected attachment to specific folder with specific file name transferxxx@gmail.com Microsoft Outlook VBA Programming 1 14th Oct 2005 01:18 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 05:11 AM.