arrays - 操作数组内的(TRUE、FALSE)值

标签 arrays excel vba

我有一个范围,其中包含作为字符串的值“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/

相关文章:

c# - 一维数组中第二组方括号的作用是什么?

excel - 使用 VBA 输入单元格公式

excel - excel中的条码扫描器

java - 数组未捕获第一个用户条目

c++ - 具有虚拟子方法的二维对象数组 -> "vtable referenced from"错误

将数组转换为 int

vba - 为什么贴不上去?使用变量和偏移单元格引用

vba - 如果第一列中的值相同,则 Excel VBA 连接另一列中的值

excel - 根据单元格值隐藏 Excel 中的行

excel - 转置列