Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:将字符串数组复制到范围-字符串包含双引号_Excel_Vba - Fatal编程技术网

Excel VBA:将字符串数组复制到范围-字符串包含双引号

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

arr是一个字符串数组

使用此代码将数组复制到列可以正常工作,直到到达包含双引号(“)字符的字符串,从而导致错误

arr中的字符串是从文本文件读入的,并且包含双引号

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