First I not see that you have Cells instead of Range in your code yesterday
I make the code a bit shorter
Try this with the value you want to copy on the activesheet
Sub Create()
Dim ws As Worksheet
Dim str As String
Dim Name As String
'no empty cell when generating ws
If Not IsEmpty(ActiveCell) Then
Name = ActiveCell.Value
str = ActiveSheet.Cells(ActiveCell.Row, 4).Value
Set ws = Worksheets.Add(After:=Sheets(Sheets.Count))
ws.Range("B5").Value = str
On Error Resume Next
ws.Name = Name
If Err.Number > 0 Then
MsgBox "Change the name of : " & ws.Name & " manually"
Err.Clear
End If
On Error GoTo 0
End If
End Sub
--
Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm
"raraschek" <(E-Mail Removed)> wrote in message news:B05BECDE-5015-473E-8A88-(E-Mail Removed)...
> ok, thank you
> ---------------------------------
> Sub Create()
> Dim ws As Worksheet
> Dim wsName As String, Name As String
> Dim MsgError As String
>
> MsgError = "Zadaný list už existuje! Vyberte bunku s iným listom. Potvrďte
> End."
>
> 'no empty cell when generating ws
> If Not IsEmpty(ActiveCell) Then
> Name = ActiveCell.Value
>
> Set ws = Worksheets.Add
> ws.Move After:=Sheets(Sheets.Count)
>
> 'not to have two equal ws
> Dim wks As Worksheet
> For Each wks In ActiveWorkbook.Worksheets
> If wks.Name = Name Then
> MsgBox (MsgError)
> End If
> Next wks
> ws.Name = Name
>
> 'new ws data and action
>
> Dim wsCopyFrom As Worksheet
> Set wsCopyFrom = Worksheets("mod")
> Dim wsAS As Worksheet
> Set wsAS = Worksheets("AS visit report")
> Dim Msg As String
> Dim datum As Range
> Dim datumenter As Range
>
> wsAS.Cells(ActiveCell.Row, 4).Copy
> ws.Range("B5").PasteSpecial (xlPasteAll)
>
> ws.Cells("B5").Value = wsAS.Cells(ActiveCell.Row, 4).Value
>
> 'end of creating ws
>
> Msg = "Vložte údaje"
> MsgBox (Msg)
>
> End If
> End Sub
>
> "Ron de Bruin" wrote:
>
>> Post your complete code so we can see what you are trying to do
>>
>> --
>>
>