0

我有一个 Excel“应用程序”,它在保存时从我的“表单”工作表中获取值并将其保存到我的“数据表”工作表中。

我注意到当“Form”.Range(“I17:K17”).Value =“22/50”的原始记录值时,我下面的保存过程在我的数据表的单元格中显示“0”,实际值为 0.44单击单元格并查看功能栏时显示。(22 / 50 = 0.44)。

有没有办法阻止 Excel 尝试“帮助”我并将值完全保存为“22/50”?这也伴随着我遇到的一个问题,即 Excel 会在某些 ID 字段中截断前面的零。

此时两个表单上的所有字段都将保存为文本,无论类型如何。

任何帮助表示赞赏!

Worksheets("FeedSamples").Range("V1").End(xlDown).Offset(1, 0).value = Range("I17:K17").value
4

3 回答 3

1

这应该可以工作,因为您的所有字段都是文本格式:

Worksheets("FeedSamples").Range("V1").End(xlDown).Offset(1, 0).value = "'" & Range("I17:K17").value
于 2013-06-06T16:34:00.647 回答
1

问题是由于单元格没有直接格式化为“文本”。完成此操作后,所有内容都将完全按照键入的方式保存。

于 2013-06-06T20:26:40.543 回答
0

您可以将单元格设置为在用户输入数据后自动更改。设置他们可以编辑和使用的单元格范围,如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xlEditingRange As Range
    Dim isect As Range

    Set xlEditingRange = Range("a1:a5")
    Set isect = Application.Intersect(xlEditingRange, Target)

    If Not isect Is Nothing Then
        Target.End(xlDown).Offset(1, 0).Value = "'" & Range("I17:K17").Value
    End If
End Sub

其中 Target 是正在更改的范围对象。有关详细信息,请参阅此 MSDN 页面

于 2013-06-06T20:07:18.307 回答