excel - Excel VBA为指定单元格提供数字,避免选择
问题描述
我在 Excel 中有以下 VBA 代码。它是非常长的 VBA 的一部分,负责许多进程。如何摆脱 Select 命令?我尝试了几件事都没有成功。
ActiveWorkbook.Sheets("Installation").Select
For Each Cl14 In ThisWorkbook.Sheets("Installation").Range("G2", Range("G" & Rows.Count).End(xlUp))
Select Case LCase(Cl14.Value)
Case "main"
m14 = m14 + 1: s14 = 0: ss14 = 0
Cl14.Offset(, -6).Value = m14
Case "sub"
s14 = s14 + 1: ss14 = 0
Cl14.Offset(, -6) = m14 & "." & s14
Case "sub-sub"
ss14 = ss14 + 1
Cl14.Offset(, -6) = m14 & "." & s14 & "." & ss14
End Select
Next Cl14
解决方案
可以做一个强制循环来防止选择案例。但我个人更喜欢使用选择案例。
For i = 2 To .Range("G" & .Rows.Count).End(xlUp).Row
If .Range("G" & i).Value = "main" Then
'code here
ElseIf .Range("G" & i).Value = "sub" Then
'code here
ElseIf .Range("G" & i).Value = "sub-sub" Then
'code here
End If
Next i
推荐阅读
- swift - 不带括号的可解码 swift 值
- json - 将“{}”主体解码为结构时,Golang 不会产生错误
- python - twitter api.statuses.lookup() 的 list 参数可以有多大?
- log4j - 无法读取 log4j.properties
- ssis - ADO.NET 源无法获取到 mysql 数据库的连接
- javascript - 调用外部文件中声明的函数
- java - 在 Citrus Simulator 中使用 HTTPS
- python - 如何使用 lambda/maps 从 dict 获取列表?
- server - 无法在 debian 上启动 apache2
- python - 与 django 查询集注释中的先前对象的区别