如何在我的代码中将数值转换为字符串?

时间:2018-12-20 09:29:38

标签: excel vba

下面的代码为列表中的每个单元格(称为“ Splitcode”)制作了一个主表的副本,然后过滤了数据中的第一列(名为“ MasterData”)并删除了所有不包含“里面没有那个细胞。并循环直到为每个单元格创建一张图纸。

该代码可完美地用于column1和列表上的文本值。 但不适用于数值(例如帐号)。

有人告诉我应该添加一个CStr()函数,但是我以前从未使用过它,所以我不知道在哪里精确添加它。

Sub SplitandFilterSheet()    
  Dim Splitcode As Range    

Sheets("Master").Select    
Set Splitcode = Range("Splitcode")    
For Each Cell In Splitcode    
    Sheets("Master").Copy After:=Worksheets(Sheets.Count)    
    ActiveSheet.Name = Cell.Value    

    With ActiveWorkbook.Sheets(Cell.Value).Range("MasterData")    
        .AutoFilter Field:=1, Criteria1:="<>" & Cell.Value,Operator:=xlFilterValues    
        .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete    
    End With    

    ActiveSheet.AutoFilter.ShowAllData    
Next Cell    
End Sub    

1 个答案:

答案 0 :(得分:0)

考虑一下:CStr( expression )

Dim LValue As String
LValue = CStr(8)

LValue变量现在将包含字符串值“ 8”

我看到您在3个地方有Cell.Value。另外,请查看此链接。

https://www.excel-easy.com/examples/number-text-filters.html

最后,您可能需要简化一些事情。如果您不想删除范围内的标题行,请在该范围内添加一个偏移量以排除该行:

ActiveSheet.Range("$A$1:$I$" & lines).Offset(1, 0).SpecialCells _
    (xlCellTypeVisible).EntireRow.Delete