问题:
在程序外部从Excel复制单元格时,会自动添加双引号.
详细信息:
我在Windows 7计算机上使用Excel 2007.如果我有一个包含以下公式的单元格:
="1"&CHAR(9)&"SOME NOTES FOR LINE 1."&CHAR(9)&"2"&CHAR(9)&"SOME NOTES FOR LINE 2."
Run Code Online (Sandbox Code Playgroud)
单元格中的输出(格式为数字)在Excel中如下所示:
1SOME NOTES FOR LINE 1.2SOME NOTES FOR LINE 2.
Run Code Online (Sandbox Code Playgroud)
好,好.但是,如果我将单元格复制到另一个程序,例如记事本,我会在开头和结尾都会出现烦人的双引号.请注意保留由"CHAR(9)"创建的选项卡,这很好.
"1 SOME NOTES FOR LINE 1. 2 SOME NOTES FOR LINE 2."
Run Code Online (Sandbox Code Playgroud)
当我复制到另一个程序时,如何防止这些双引号出现?换句话说,当将单元格复制到剪贴板时,是否可以防止这些自动添加?
我正在尝试将sheetA中的整个列复制到Sheet B. sheetA列具有使用formuls形成的值.我只使用xlPasteValues复制SheetA列值.但它不会将值粘贴到另一个sheetB.sheetB中的列为空.我的VBA代码
Public Sub CopyrangeA()
Dim firstrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
firstrowDB = 1
arr1 = Array("BJ", "BK")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
With Sheets("SheetA")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
Run Code Online (Sandbox Code Playgroud) 我是VB编码的新手,我正在尝试将多个excel文件工作表保存到csv,我不知道为多个工作表执行此操作,但我找到了一种方法来处理单个文件.我在这个网站上找到了对我正在尝试的内容非常有用的代码,唯一的问题是文件是用工作表名称保存的,但我试图用原始文件和工作表名称保存它们filename_worksheet name
,我试图自己这样做,但不断收到错误,你能告诉我我做错了什么吗?
我使用的代码如下:
Public Sub SaveWorksheetsAsCsv()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SaveToDirectory = "H:\test\"
For Each WS In ThisWorkbook.Worksheets
WS.SaveAs SaveToDirectory & WS.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
' about overwriting the original file.
End Sub
Run Code Online (Sandbox Code Playgroud)