首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >range.formula问题

range.formula问题
EN

Stack Overflow用户
提问于 2020-05-24 18:29:35
回答 1查看 44关注 0票数 1

你好,我有下一个问题,我有这样的代码:

代码语言:javascript
复制
Public Function AsentamientosCA(celda As String, cotaInst As Single, Zona As String, DensidadZona As Single, _
                                alturaLlenobajocelda As Single, PB As Boolean)

set ws= ThisWorkbook.Worksheets("hojaDestino")
RangoFechaAs = "A7:A" & DatosFechaL.Rows.Count + 6
ws.Range(Replace(RangoFechaAs, "A", "F")).Formula = "=C7 -" & cotaInst & "-(D7/100)"

End Function

Sub test()

dim celda As String, cotaInst As Single, Zona As String, DensidadZona As Single
dim alturaLlenobajocelda As Single, PB As Boolean

cotaInst = ThisWorkbook.Worksheets("a").Range("A2").Value
''CotaInst = 240.2 in my pc
'' in other computers CotaInst = 240,2

call AsentamientosCA(400, cotaInst, "2A", 21, 90, True)
End Sub

在我的pc机中工作很好,但是当我在其他pc上共享这段代码时,它就会失败,而这恰恰是因为我的pc中的cotaInst被认为是240.2,而在其他pc中,是否有办法改变这个变量,假设我的代码中只有一个外部变量?

因为我希望这个公式能在任何有宏的pc上运行。我很感激你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-24 18:48:57

这是由于不同的地区设置而发生的。在您的pc中,十进制分隔符是.,而在另一个pc中,是,。尝试以下操作(未测试的)

在这里,我将cotaInst As Single更改为cotaInst As String,并添加了几行来检查十进制分隔符。

代码语言:javascript
复制
Sub test()
    Dim celda As String, cotaInst As String, Zona As String, DensidadZona As Single
    Dim alturaLlenobajocelda As Single, PB As Boolean
    Dim decSep As String

    decSep = Application.DecimalSeparator

    cotaInst = ThisWorkbook.Worksheets("a").Range("A2").Value

    If decSep = "." Then cotaInst = Replace(cotaInst, ",", ".")

    Call AsentamientosCA(400, cotaInst, "2A", 21, 90, True)
End Sub


Public Function AsentamientosCA(celda As String, _
                                cotaInst As String, _
                                Zona As String, DensidadZona As Single, _
                                alturaLlenobajocelda As Single, PB As Boolean)

    RangoFechaAs = "A7:A" & DatosFechaL.Rows.Count + 6
    ws.Range(Replace(RangoFechaAs, "A", "F")).Formula = "=C7 -" & cotaInst & "-(D7/100)"
End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61990518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档