转换来自' cm'的列中的值到了' m'使用VBA?

时间:2014-04-09 11:59:40

标签: excel excel-vba vba

我有一个包含值为543678的列(B)。我写了一个公式:

=Convert(543678,"cm","m")

这为我转换了值,但是我有1000行的任意数字,我怎么能用宏来做?

有多个列,如位置/高度/长度/宽度。

如果问题重复,我很抱歉。

3 个答案:

答案 0 :(得分:1)

相当于使用CONVERT公式的是这样的(填充A2:Ax右侧的所有单元格,其中 x 是最后使用的小区)

Sub QuickConvert()
Dim rng1 As Range
Set rng1 = Range([a2], Cells(Rows.Count, "A").End(xlUp))
rng1.Offset(0, 1).FormulaR1C1 = "=CONVERT(RC[-1],""cm"",""m"")"
End Sub

答案 1 :(得分:0)

您可以将公式输入单元格,然后只需从单元格的右下角向下拖动,它就会将公式应用于列:

DragDown

答案 2 :(得分:0)

如果您希望转换值"就位",然后选择单元格并运行此宏:

Sub ChangeInPlace()
    For Each r In Intersect(Selection, ActiveSheet.UsedRange)
        v = r.Value
        If v <> "" Then
            If IsNumeric(v) Then
                r.Value = v / 100
            End If
        End If
    Next r
End Sub