Re: $$Excel-Macros$$ VBA to copy data to a template file then save it as a new file

2013-09-15 Thread Chih Hung Choo
Thanks ITWare for replying.  Your answer works too.

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups MS 
EXCEL AND VBA MACROS group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at http://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/groups/opt_out.


$$Excel-Macros$$ Re: VBA to copy data to a template file then save it as a new file

2013-09-12 Thread Chih Hung Choo
Someone has helped me figure out the code.  I just want to share it here, 
so hopefully someone else may find it useful.

Sub CreateBooks()
Dim xlBook As Workbook
Dim xlNewBook As Workbook
Dim xlSheet As Worksheet
Dim LastRow As Long
Dim i As Long
Const strPath As String = *C:\Path to Save Files\*
Const strFileB As String = *C:\Path\FileB name.xlsx*
Set xlBook = ActiveWorkbook
Set xlSheet = xlBook.Sheets(1)
LastRow = xlSheet.Range(A  xlSheet.Rows.Count).End(-4162).Row
For i = 2 To LastRow
Set xlNewBook = Workbooks.Add(Template:=strFileB)
With xlNewBook.Sheets(1)
.Range(B  *i*) = xlSheet.Range(B  i)
.Range(C  *i*) = xlSheet.Range(B  i)
.Range(F  *i*) = xlSheet.Range(B  i)
End With
xlNewBook.SaveAs strPath  CStr(xlSheet.Range(B  i))  .xlsx
xlNewBook.Close 0
Set xlNewBook = Nothing
Next i
Set xlBook = Nothing
Set xlSheet = Nothing
End Sub

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups MS 
EXCEL AND VBA MACROS group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at http://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/groups/opt_out.


$$Excel-Macros$$ VBA to copy data to a template file then save it as a new file

2013-09-09 Thread Chih Hung Choo


Hi, I'm hoping to get some help here to automate the work that I have to do 
every 2 weeks.  The work is repetitive and hopefully a VBA script will help 
shorten sometimes a day's work to minutes.

I'm using Excel 2007. There are 2 files. 

File A: This file is generated every 2 weeks. The data I want from this 
file is in Col B. Number of rows depending on transaction volume of that 
week. So minimum row could be 1, but so far never exceed 300 rows. It could 
be more in the future.

File B: It's a template file, many fixed data in this file. Only 3 cells 
need changes. The 3 cells are Row 2 of Col B, C and F. All 3 cells will 
have the same data/value I copy from File A.

This is what I want to do:

1. Open File A, copy data/value in Col B, Row 2.
2. Open File B (template), paste the data to Row 2 of Col B, C and F.
3. Save File B as new file, in a designated folder e.g. Books. New 
filename to use the exact value I copy from File A. E.g., if the value is 
Books - ANA, then the filename will be Books - ANA.xls.
4. Repeat step 1. Copy data in Col B, Row 3 in File A. 
5. Repeat step 2.
6. Repeat step 3. 
7. Repeat step 1. If there's no data in Col B, Row 4 in File A, stop the 
process.

Thank you.

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups MS 
EXCEL AND VBA MACROS group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at http://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/groups/opt_out.