ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copying a formatted "template" sheet and naming new sheet via user form (https://www.excelbanter.com/excel-programming/390421-copying-formatted-template-sheet-naming-new-sheet-via-user-form.html)

Neale[_2_]

Copying a formatted "template" sheet and naming new sheet via user form
 
Hi. I've done some hunting around and reading and came up with the
following code that creates a new blank sheet and names it via a user
form, but I can't work out how to do the same thing if I want to use a
formatted template worksheet. Please help!

Sample code I've come up with so far:

'Create a new blank worksheet
'Name the worksheet by entering the employee name and number
'in the appropriate boxes
'Clicking OK will transfer the name to the worksheet tab
Private Sub cbNewEmpSheetNameFormOK_Click()
Dim NewSheet As Worksheet
On Error Resume Next
Set NewSheet = Worksheets(tbxNewEmpSheetNameFormName.Text & "-" _
& tbxNewEmpSheetNameFormNo.Text)
If Err 0 Or NewSheet Is Nothing Then
Worksheets.Add befo=Worksheets(Worksheets.Count)
ActiveSheet.Name = tbxNewEmpSheetNameFormName.Text & "-" _
& tbxNewEmpSheetNameFormNo.Text
Worksheets(2).Select
'The sheet is checked to ensure that it's not a duplicate of an
already existing sheet
Else
Beep
MsgBox "Sheet already exists!"
End If
Unload Me
End Sub


FSt1

Copying a formatted "template" sheet and naming new sheet via user
 
hi,
understand. VB is not psychic. you have to tell it everything.
in the code you posted, VB is getting the naming criterial from 2 text boxes
on the form. the information got into the text box somehow....how?.....??
so if you are not using a form, you can put the information in cells. say A1
and A2'
replace
ActiveSheet.Name = tbxNewEmpSheetNameFormName.Text & "-" _
& tbxNewEmpSheetNameFormNo.Text
with
Dim one As Range
Dim two As Range
Set one = Sheet1.Range("A1")
Set two = Sheet1.Range("A2")
Sheets.Add
ActiveSheet.Name = one.Value & "-" & two.Value

worked in xl3k
regards
FSt1

"Neale" wrote:

Hi. I've done some hunting around and reading and came up with the
following code that creates a new blank sheet and names it via a user
form, but I can't work out how to do the same thing if I want to use a
formatted template worksheet. Please help!

Sample code I've come up with so far:

'Create a new blank worksheet
'Name the worksheet by entering the employee name and number
'in the appropriate boxes
'Clicking OK will transfer the name to the worksheet tab
Private Sub cbNewEmpSheetNameFormOK_Click()
Dim NewSheet As Worksheet
On Error Resume Next
Set NewSheet = Worksheets(tbxNewEmpSheetNameFormName.Text & "-" _
& tbxNewEmpSheetNameFormNo.Text)
If Err 0 Or NewSheet Is Nothing Then
Worksheets.Add befo=Worksheets(Worksheets.Count)
ActiveSheet.Name = tbxNewEmpSheetNameFormName.Text & "-" _
& tbxNewEmpSheetNameFormNo.Text
Worksheets(2).Select
'The sheet is checked to ensure that it's not a duplicate of an
already existing sheet
Else
Beep
MsgBox "Sheet already exists!"
End If
Unload Me
End Sub




All times are GMT +1. The time now is 12:15 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com