2013-01-08 48 views
0

我想從一個文本框得到一個字符串,請使用字符串名稱的表,然後設置變量WS,並用它在第一個單元格把表的名稱。集變量()

Dim WS As Worksheet 
Dim nazov As String 

nazov = Me.NazovReceptu 
Sheets.Add.Name = nazov 

Set WS = Worksheets(nazov) 

With WS 
.Cells(lRow, 1).Value = nazov 
End With 

'find first empty row in database 
lRow = WS.Cells.Find(What:="*", SearchOrder:=xlRows, _ 
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 
... 

我設法從文本框中獲取字符串,使用字符串作爲名稱,但其餘不起作用。我知道Set WS = Worksheets("nazov")是壞的。我想用不同的名稱制作更多的工作表並使用變量WS。我怎樣才能做到這一點?

回答

4

嘗試是這樣的 - 定義當您添加紙張WS:

Dim ws As Worksheet 
Dim nazov As String 
Dim lRow as integer 

nazov = "testsheet" 
lRow = 1  
Set ws = Worksheets.Add 
ws.Name = nazov 
ws.Cells(lrow, 1).Value = nazov 

[...] 
+0

thaks,它的確定,直到 「ws.Cells(lrow,1).value的= nazov」 比它失敗了。它顯示我「應用程序定義的或對象定義的錯誤」。 – lielo

+0

這表明納佐夫沒有價值。我從上面複製了你的代碼,這給了nazov Me.NazovReceptu的價值。要測試它,請嘗試用'nazov =「testsheet」'替換'nazov = Me.NazovReceptu'行 - 這將創建一個名爲testsheet的表。 – MattCrum

+0

我試過了。它讓我把這張表命名爲「testsheet」,但它在這一行上再次失敗。 – lielo