Sub assign_sr_no()
For Each sh In ThisWorkbook.Sheets
If sh.Name = "master" Then GoTo gogo
If sh.ProtectContents = False Then GoTo gogo
Dim srno As String
Dim temp As Integer
temp = CInt(Right(Sheets("master").Range("A65536").End(xlUp).Text, 4))
srno = "VE17" & "_" & Format(temp + 1, "0000")
sh.Unprotect "VALUE"
sh.Cells.Validation.Delete
sh.Range("L1").Value = srno
sh.Hyperlinks.Add Anchor:=sh.Range("A1"), SubAddress:="master!A1", Address:="", TextToDisplay:="Faridabad Plant"
Call copy_from_ve(srno)
gogo:
Next
End Sub
这段代码用于为工作表分配序列号,然后有另一个代码将数据从工作表复制到主工作表。 临时线显示
错误13,即类型不匹配错误。
答案 0 :(得分:1)
整个Excel表格为空 我有25列[...]
您无法使用Integer
功能将空字符串转换为CInt
。此代码重现错误:
Debug.Print CInt("")
您可以使用Val
功能为Double
提供一个Integer
,如果您绝对确定自己永远不需要,我可以将其转换为Long
值大于32,767。否则,请使用temp = Val(Right(Sheets("master").Range("A65536").End(xlUp).Text, 4))
。
.Range("A" & [ActiveSheet.]Rows.Count)
你应该真的打破这个陈述,如果它在每次迭代时保持不变,就把它拉出循环体。
此外,Excel> 2003在工作表上的方式超过65K可能的行;考虑使用Sheets("master")
(或将With
拉入自己的CodeName
块变量,或者更好,请使用表单With MasterSheet ' assuming (Name) property was set to "MasterSheet"
Dim lastValue As String
lastValue = .Range("A" & .Rows.Count).End(xlUp).Text
Dim temp As Long
temp = Val(Right(lastValue, 4)
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> .Name Then ' no need for GoTo jumping here
'...
End If
Next
End With
:
<script type="text/javascript" src="../js/tester/moment.min.js"></script>