Vba 在打印中包含两个单元格值

Vba 在打印中包含两个单元格值,vba,excel,Vba,Excel,我正在创建一个文本文件,其中包含使用宏的SQL insert语句 我现在正在努力解决的一点是,我需要将A和B的值合并到输出文件中的一行中,但它们会转到两个单独的行中 我不能将所有数据放在一个单元格中,因为当它打印的数据超过255个字符并被截断时 我的问题在于- Set rng_Data = Range("Output!Output") 其中输出是工作表,输出是一个命名的数据范围 然后再往下走- For Each cell In rng_Data 'Print the data stri

我正在创建一个文本文件,其中包含使用宏的SQL insert语句

我现在正在努力解决的一点是,我需要将A和B的值合并到输出文件中的一行中,但它们会转到两个单独的行中

我不能将所有数据放在一个单元格中,因为当它打印的数据超过255个字符并被截断时

我的问题在于-

Set rng_Data = Range("Output!Output")
其中
输出
是工作表,
输出
是一个命名的数据范围

然后再往下走-

For Each cell In rng_Data
    'Print the data string to the txt file
    Print #int_FreeFile01, Format(cell.Value)
Next
理想情况下,我认为应该这样写-

Set rng_Data = Range("Output!A1&B1:A116&B116")

但我就是不能让它工作。有人能帮忙吗?

假设您的范围是A1:B116

Set rng_Data = Range(Sheets("Output").Cells(1, 1), Sheets("Output").Cells(116, 2))

Open "C:\myfile.txt" For Output As #1

For Each cell In rng_Data
    'Print new line if the cell is in column 1
    If cell.Column = 1 Then Print #1, ""
    'Print the cell value without new line ending
    Print #1, cell.Value;

Next

Close #1

此代码假定您将始终有116行:

Sub PrintToNote()

Dim CurRow As Long
Dim CelCon As String

For CurRow = 1 To 116
    CelCon = Sheets("Output").Cells(CurRow, 1).Value & Sheets("Output").Cells(CurRow, 2).Value
    Print #int_FreeFile01, CelCon
    Next CurRow

End Sub

只需要对print命令进行一些操作…

Set rng_Data=Sheets(“Output!”)。范围(Define Range)可能是一个很好的起点。此外,您应该发布整个代码,以便于提供帮助。我尝试了您的建议-设置rng_数据=工作表(“输出!”).Range(“A1&B1:A116&B116”),但我遇到了“下标超出范围”错误。您是在寻找数据字符串还是选择范围?选择范围的正确语法是:Set rng_Data=Sheets(“Output!”)。范围(A1:B116)请澄清您试图获取的范围。您的工作表名称实际上是“Output!”?你在实际姓名中使用感叹号吗?只能在公式中使用感叹号,而不能在VBA中使用感叹号。因此,也许您应该编写rng_Data=Sheets(“Output”).Range(A1:B116)我想要这个范围,我有116行,但是我想要将范围中每行的两个单元格连接起来。