【问题标题】:Consider only part of what is written in a cell Excel-VBA只考虑单元格 Excel-VBA 中写入的部分内容
【发布时间】:2016-06-04 00:59:43
【问题描述】:

所以在单元格中假设“b1”我有一个数据验证,其中包含以下内容(日期之后写的内容,空格是项目名称):

05/01/2016 我喜欢冰淇淋
05/01/2016 项目 B:随便
12/01/2016 计划我!
18/01/2016 你好世界
01/02/2016 我喜欢巧克力
27/02/2016 真正的生意

我创建了一个宏来检查“b1”名称,如果它相等,它会做一些事情。我的问题是我最近在数据验证中添加了日期,因为我需要减轻知道项目何时开始的负担。

在我的宏中,例如我有这个变量:
projectname = Sheet1.Range("b1").Value

此变量不再获得肯定结果,因为日期也在数据验证中。我需要一些东西,比如只考虑“b1”中写的 11 个字符之后的正确部分。
如何更改 Excel-VBA 中的变量设置方式?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    如果日期总是 dd/mm/yyyy 的 11 个字符加上空格,那么变量赋值将为:

    Dim strCellValue As String
    Dim strProjectName As String
    
    strCellValue = Sheet1.Range("b1").Value
    strProjectName = Right$(strCellValue, Len(strCellValue) - 11)
    

    【讨论】:

    • 谢谢你,它有效;)你可以用任何方式只用 1 个变量吗?
    • 当然你可以把这两行合二为一,得到strProjectName = Right$(Sheet1.Range("b1").Value, Len(Sheet1.Range("b1").Value) - 11)。我将它分成两行以使其更具可读性。
    • 我会选择更快的。你知道哪个更快吗?
    • 我猜两行版本会快一点,因为它只计算一次b1
    猜你喜欢
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多