选择具有复杂返回值的案例(VBA 2007)

时间:2019-12-11 22:44:31

标签: excel vba select-case

使用Excel 2007,并且对VBA没有经验。

我正在尝试创建一个文本生成器,在该文本生成器中,给定特定的输入类型,它将返回文本字符串和许多相应的单元格。

我有很多数据要组合,并且文本语句有些复杂。我这里的数据是样本数据。最终文件将结合多个文本字符串(“一个”和“两个”等)以及需要根据其中输入的特定数据输入的多个单元格(某些情况下需要8个不同的单元格)。

我能够弄清楚Select Case的操作方式,它可以查找所需的条目类型,并返回特定的文本字符串。大!我也知道我可以结合“一个”和“两个”之类的东西。但是,如何合并该行的相应文本?

如果条目是“ ID”,我可以返回类似于“ One 1”的内容,但是将“ One”和K2组合为.Value以返回?

图像显示了样本数据

enter image description here

图像显示了I,J和K列的数据。 第I列存储条目类型,J是返回数据的位置,K是包含要引用的数据的列。同样,这里是简化的参考数据。

我知道这行是错误的。但是我不确定要为K2放置什么,以便它可以正确引用单元格,然后正确循环300次。

Case Is = "ID": .Value = "One" & (K2)

我接近可行的东西了吗?你有什么建议? Select Case是处理此问题的错误方法吗?

我尝试了许多选择,但是我对VBA没有经验。我认为我为解决该问题而实施的任何措施都可能做错了。

下面显示的完整代码。

Private Sub CommandButton1_Click()

Dim logtype As Range

For Each logtype In Range("I2:I302")
    With logtype.Offset(0, 1)

        Select Case logtype.Value
            Case Is = "ID": .Value = "One" & K2
            Case Is = "Phase": .Value = "Two"
            Case Is = "Install New": .Value = "Three"
            Case Is = "Install OH": .Value = "Four"
           Case Is = "Install AR": .Value = "Five"
            Case Is = "Insp": .Value = "Six"
            Case Is = "LUI": .Value = "Seven"
            Case Is = "": .Value = ""
            Case Else: .Value = "Not Recognized"
        End Select
    End With
Next logtype

End Sub

编辑:

我在下面的评论中添加了一些内容,格式更加清晰。

我想创建一个宏,该宏根据工作单中完成的工作种类输出正确的条目语言。

例如,使用ID或Install New,然后返回该条目的正确语言和参考数据:

I2:ID

K2:数字(我要输入实际的数字)

返回:

“符合ID号[K2]。未发现缺陷。”

I4:安装新的

L4:实际零件号

M4:等等...

N4:...

O4:...

返回:

“已删除P / N [L4],S / N [M4]。已安装P / N [N4],S / N [O4]。操作检查良好。”

这有意义吗?谢谢!

1 个答案:

答案 0 :(得分:0)

For each cell in Range("I2:I302")
   cell.offset(0,1).value=cell.offset(0,1).text & cell.offset(0,2).text
next
相关问题