Excel VBA:将字符串数组复制到范围-字符串包含双引号
arr是一个字符串数组 使用此代码将数组复制到列可以正常工作,直到到达包含双引号(“)字符的字符串,从而导致错误 arr中的字符串是从文本文件读入的,并且包含双引号Excel VBA:将字符串数组复制到范围-字符串包含双引号,excel,vba,Excel,Vba,arr是一个字符串数组 使用此代码将数组复制到列可以正常工作,直到到达包含双引号(“)字符的字符串,从而导致错误 arr中的字符串是从文本文件读入的,并且包含双引号 Application.Worksheets("Sheet1").Columns(1) = arr 解决这个问题的最佳方法是什么 编辑: 导致问题的arr()项示例: “2016-08-30 11:12:07.9120759§3§§0§§§§§0§CompositeIodBuilder.Build()-用于数字X射线图像存储的Di
Application.Worksheets("Sheet1").Columns(1) = arr
解决这个问题的最佳方法是什么
编辑:
导致问题的arr()项示例:
“2016-08-30 11:12:07.9120759§3§§0§§§§§0§CompositeIodBuilder.Build()-用于数字X射线图像存储的Dicom标签列表-用于演示:
患者姓名标签=“(00100010)”VR=“PN”VM=“1”Value=“xx xxxx^xxxx^xxx”
患者ID标签=“(00100020)”VR=”
我刚刚在复制到这篇文章时注意到字符串包含CR和LF字符。我可能错误地认为是引号导致了问题,而不是CR和LF。在不查看数据的情况下很难回答这个问题,但是,理论上,如果值可以写入
字符串
变量,那么它也应该被写入可写入工作表
如果你举这个例子,没有什么困难:
Dim arr(1 To 2, 1 To 1) As String
arr(1, 1) = """a"""
arr(2, 1) = Chr(34) & Chr(34) & "b" & Chr(34) & Chr(34)
Sheet1.Cells(1, 1).Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
但是,将数组写入列的代码看起来有点可疑。理想情况下,您应该根据数组的维度调整写入范围的大小。在我的示例中,以下代码编写了一个#NA
列表
Dim arr(1 To 2, 1 To 1) As String
arr(1, 1) = """a"""
arr(2, 1) = Chr(34) & Chr(34) & "b" & Chr(34) & Chr(34)
Sheet1.Columns(1).Value = arr
我想知道您是否可以a)修改代码以将数组写入适当大小的范围,b)如果问题仍然存在,请提供麻烦字符串的示例。问题是Excel 2003存在字符串长度超过911个字符的问题 如果数组中的一个或多个单元格(范围为 单元格)包含设置为包含多个字符的字符串 人物
谢谢。我们刚刚在帖子中添加了额外的信息。
Dim arr(1 To 2, 1 To 1) As String
arr(1, 1) = """a"""
arr(2, 1) = Chr(34) & Chr(34) & "b" & Chr(34) & Chr(34)
Sheet1.Columns(1).Value = arr