首页 > 解决方案 > Excel VBA:在开关情况下使用字符+整数

问题描述

这是我在以下位置的帖子的后续内容:Excel VBA:切换大小写以从列中读取值

我目前有一个工作 switch 语句,它从 I 列中查找一个案例,例如 (493),如果找到 493,它会在 G 列中返回“Robotics”。

现在我需要创建第二个 switch 语句,从 AN 列中查找案例,例如 (EPA0012),如果找到 EPA0012,它将在 AO 列中显示“Accounting”。我遇到的问题是,当我运行与第一个 switch 语句相同的代码时,它不是用“会计”填充相邻的列,而是填充列中的每个单元格,除了与 EPA0012 相邻的列(应该在哪里填充)。

问题是因为“EPA”,因为当我删除它并使用 0012 时它工作得很好,所以我假设我需要调整一个变量或其他东西。

代码如下:

Public Sub Switch_Statement_EPA()

Dim wsSort As Worksheet
Set wsSort = Workbooks("Test.xlsm").Worksheets(2)
With wsSort
    Dim lastRow As Long
    lastRow = .Range("AN" & .Rows.Count).End(xlUp).Row
  
    Dim rng As Range
    Set rng = .Range("AN2:AN" & lastRow)
    Dim cell As Range
    
    For Each cell In rng '<--- the loop
        Select Case cell.Value
            Case EPA0012
                cell.Offset(, 1).Value = "Accounting"
        End Select
    Next
End With
MsgBox ("Done")
End Sub

标签: excelvba

解决方案


推荐阅读