Excel VBA转换单元格范围的值
问题描述:
我在Sheet1中有两列从A1到B10。在这些列中的每个单元都具有字符串“一”或“b”或“c”Excel VBA转换单元格范围的值
A B
1 a a
2 a b
3 b c
4 b b
5 a a
6 c b
7 a a
8 a c
9 b a
10 a b
欲具有值“a”到整数“12”的每一个细胞转化中,“b”,以使用VBA将整数“14”和“c”变换为整数“16”。并在相应的单元格中显示Sheet2中的结果。
A B
1 12 12
2 12 14
3 14 16
4 14 14
5 12 12
6 16 14
7 12 12
8 12 16
9 14 12
10 12 14
我有这非常不完整代码:
Sub getConvert()
For Each original In Range("A1 , B10")
Select Case original
Case "a"
CorrectedText = Replace(original, "a", "12")
Case "b"
CorrectedText = Replace(original, "b", "14")
Case Else
CorrectedText = Replace(original, "c", "16")
End Select
Next
End Sub
答
你需要访问的每个细胞,然后读出它的值覆盖在你的循环:
Dim original As Range, destination As Worksheet
Set destination = Sheets("Sheet2")
For Each original In Range("A1:B10")
Select Case original.Value
Case "a": destination.Range(original.Address).Value = "12"
Case "b": destination.Range(original.Address).Value = "14"
Case "c": destination.Range(original.Address).Value = "16"
End Select
Next
您能得到什么?或什么不工作?我怀疑你应该使用'Select Case original.value'或'original.textValue'(因为'original'是一个范围对象,而不是文本。 – Tensibai 2015-02-06 11:17:52
,我不知道如何将结果粘贴到另一张表格的相应单元格中? – javad 2015-02-06 11:37:30
用'sheets(2)'预先加上原稿就足够了,但是你可能需要使用'sheets(2)。Original.range.value ='(未经测试并且从内存中不确定) – Tensibai 2015-02-06 11:42:20