我有一个范围,其中包含作为字符串的值“TRUE”
和“FALSE”
(不是公式的输出)。
当我操作数组内的范围时,我注意到值(TRUE,FALSE)的单元格没有改变。
我已经知道 (TRUE , FALSE) 是保留字,但在我的情况下如何操纵它?
Sub True_False()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim rng As Range, arr, lastRow As Long, i As Long, c As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set rng = ws.Range("A2:E" & lastRow)
arr = rng.Value2
For i = 1 To UBound(arr, 1)
For c = 1 To UBound(arr, 2)
arr(i, c) = LCase(CStr(arr(i, c)))
Next c
Next i
rng.Value = arr
End Sub
最佳答案
在值前面加上撇号会强制 Excel 将其视为字符串。
Sub True_False()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim rng As Range, arr, lastRow As Long, i As Long, c As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set rng = ws.Range("A2:E" & lastRow)
arr = rng.Value2
For i = 1 To UBound(arr, 1)
For c = 1 To UBound(arr, 2)
arr(i, c) = "'" & LCase(CStr(arr(i, c)))
Next c
Next i
rng.Value = arr
End Sub
关于arrays - 操作数组内的(TRUE、FALSE)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77528006/