Vba 在打印中包含两个单元格值
我正在创建一个文本文件,其中包含使用宏的SQL insert语句 我现在正在努力解决的一点是,我需要将A和B的值合并到输出文件中的一行中,但它们会转到两个单独的行中 我不能将所有数据放在一个单元格中,因为当它打印的数据超过255个字符并被截断时 我的问题在于-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
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行,但是我想要将范围中每行的两个单元格连接起来。