我有一个宏,它通过用分号(";")分隔数据来将几列合并为一列。宏完成后,我不能将数据粘贴到新的工作簿properly.The唯一的解决方案是完全关闭所有工作簿。我试图清除copypaste模式,使用列到文本来撤消宏,但它不像关闭和打开工作簿那样正常工作。我想在不关闭excel的情况下恢复它的基本设置。
“”“
With wb.Sheets(1).Columns(1)
.Insert Shift:=xlToRight
For i = 1 To Range("B65000").End(xlUp).Row
TempString = "
我编写了一个脚本,将数据从另一个工作簿复制并粘贴到另一个工作簿上的列中。但是,我的代码是静态的,只运行一次。我要做的是将单元格复制并粘贴到新的工作簿上,然后下次代码运行时,它将检测到某个范围内已经有数据,并转移到正确的一个单元格。
我在玩下面的IF语句,然后撞到了墙上。我怀疑我必须将复制的数据放入某种形式的变量中,然后调用它?现在它只是把数字"1“移到.我确实理解为什么……我只是没有足够的知识来知道如何在我的剪贴板中插入已经被复制的内容。
Sub makepropercellselection()
Dim rng As Range
Dim cellval As Range
Set
当使用.xla()方法关闭“外接程序”工作簿(Workbook.Close)时,我会收到此错误:
error 1004:
"This workbook is currently referenced by another workbook and cannot be closed."
我关闭了从VBA编辑器中可见的所有其他工作簿。现在,“外接程序”工作簿是唯一打开的工作簿,但我仍然收到ThisWorkbook.Close()的错误。用“停止按钮”重置VBA编辑器中的项目没有帮助。
为什么Excel认为此工作簿当前由另一个工作簿引用?(编辑:没有其他工作簿,我全部关闭了。此时,只
我对VBA非常陌生,我想知道如何只复制工作表的白细胞,并将它们粘贴到相同的位置,但是粘贴到另一本工作簿上。
具体来说,我有两个带有多个工作表的工作簿,它们是相同的,但是源工作簿有一些空白单元格,而目标工作簿中这些单元格是空的。我希望将这些值从源白细胞传输到目标白细胞。如果可能的话,我想用"0“填充空白的白格。
我找到了一些代码,可以将所有颜色的单元格复制到另一个excel工作表中,但它们不会转移到另一个工作簿和确切的位置。
Sub CopyHighlightedTransactions()
Dim TransIDField As Range
Dim TransIDCell As Ra
谁能帮我找到正确的代码和路径,以便从另一个工作簿中获取我的用户表单的combobox.list列?
我说的是路径,因为我想在第二个工作簿关闭的情况下获取它:
第二个工作簿的路径是:C:\Users\rameur\Desktop
工作簿的名称:Test.xlsm
Private Sub UserForm_Initialize()
Me.ComboBox1.List = ?????.Sheets("Feuil1").Range("Tableau1[Zones]").Value
end sub
我有一个包含多个工作表的工作簿,我想将工作簿中的两个工作表保存到另一个新工作簿。
我尝试了下面的代码,但它只将一个工作表从我的工作簿复制到另一个工作簿。
有没有人能告诉我哪里出错了?
Sub save()
Dim myworksheets() As String
Dim newWB As Workbook
Dim CurrWB As Workbook
Dim i As Integer
Dim path1, Path2 As String
path1 = ThisWorkbook.Path
Path2 = path1 & "\Saved Files\SW\"
Set Cu
我试图将注释从一个Excel工作簿复制并粘贴到另一个Excel工作簿中,但是在从第一个工作簿中复制注释后不会粘贴注释。
这是我的代码:
Sub Comments()
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks.Open("C:\Exportbook.xlsx")
Set y = ActiveWorkbook
x.Sheets("Tablets").Range("E10:AQ2000").Copy
y.Sheets("Ta
我是VBA编程的新手,所以请原谅我的无知。如何从工作簿1中的一个工作表(DIC)复制,并从第一个空行开始将值粘贴到第二个工作簿中的工作表(存档)中?我不经常打开第二个工作表,所以如果它可以在不保持打开的情况下完成,那将是更好的选择。
我编译了一段代码,让它复制到同一个工作簿中的第二个工作表中,但是当我要将它复制到第二个工作簿中时,我被难住了。
以下是我到目前为止拥有的代码:
Sub copytoarchive()
'Copy From DIC
Sheets("DIC").Select
Range("A4:Q4").Select
我有两本工作簿,“旧的”和“新的”。两者都是相同的(都有相同的工作表集--工作表名称和所有--都有相同的公式)
我正试着把A页从“旧”导入到“新”。我这样做的方法是从“新”中删除工作表A,然后将整个工作表(即“旧”的工作表A)从“旧”复制到“新”
wkbOld.worksheets("Sheet A").Copy After:=wkbNew.Worksheets(nPos)
'nPos is the position of Sheet A in these workbooks
工作表A有引用工作表B中单元格的公式。我还有一个表Z,它有引用工作表A中单元格的公式。
导
当我使用下面的代码时,我需要将控制V更改为始终粘贴为值;
Public Sub PasteValue()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
这是可行的,除非我尝试从网页中使用它,否则它会返回一个400错误或1004错误。我已经找到了如何从网页或工作簿中粘贴值,而不是两者兼而有之。
任何帮助都将不胜感激。
谢了沙恩
使用Excel 2013宏,我希望在创建工作表( "+“标志或右键单击新工作表)时,能够复制隐藏的”模板“工作表,而不是创建新工作表,以用作此工作簿的模板。最初将创建许多工作表,随着时间的推移,此工作簿将被每天使用,同时还可能打开其他工作簿。
我已经拥有的代码要求用户在创建时输入工作表的名称,并调用对当前工作簿的工作表进行字母数字排序并重新构建TOC。是否有任何方法来更改当前代码以匹配它的新用途?注意:此代码在ThisWorkbook中。
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim sName As String
我的工作表中有一个查询。我需要将查询范围导出到一个新的.xlsx工作簿中的变量文件夹(另存为)。
如何将其另存为特定范围?
我尝试了Application.FileDialog(msoFileDialogSaveAs),它确实保存了整个工作簿,但我只想保存工作簿的特定范围。
Sub SaveAsDialog()
On Error Resume Next
With Application.FileDialog(msoFileDialogSaveAs)
If .Show = 0 Then
Exit Sub
End If
Application.Displ
我希望在打开的工作表中找到特定的单元格,并将右侧的数据3个单元格复制到主工作簿中(而不是刚刚打开的工作簿)。
下面的宏循环遍历txt文档中的所有文件,然后打开和关闭它们。在每个文件中都有一个名为ADA的单元格,我想将单元格3复制到右侧,但是ADA并不总是在同一个位置,所以我需要搜索它。例如,找到单元格ADA,并说它在该工作簿中的E6中,我需要将E6以及H6、I6和J6复制到运行宏的原始主工作簿中。
Sub GatherData()
Dim objFSO As Object
Dim objWB As Workbook
Dim strFN As String
Dim objTF As Object
我希望复制和粘贴特殊的(values & format ),从工作簿A到工作簿B。问题是:值是粘贴的,而不是格式的。
我试过所有的PasteSpecial,但都没有用.
Sub Macro_copy_paste_pivot()
Dim date_report As String
Dim appExcel As Excel.Application
Dim XLBook As Workbook
Set appExcel = CreateObject("Excel.Application")
Set XLBook = appExce
我有一个包含多个工作表的工作簿,每个工作表中有多行。
我需要新的工作簿,每个工作表中有相同数量的工作表和一行。
例:如果工作簿包含8个工作表,每个工作表中有200行,结果将是200个工作簿,其中包含8个一行工作表。
源工作簿
结果工作簿(200个工作簿)
Sub Method()
Dim i As Long
Dim TotalRows As Long
Application.ScreenUpdating = False
myPath = ActiveWorkbook.Path
If Right(myPath, 1) <> &
我正在尝试高效地将任意范围移动到MSAccess表中,令人惊讶的是,似乎并没有太多的工作要做。有问题的范围可能是连续的,也可能不是连续的,但我不能在移动数据之前明智地保存打开的工作簿,因此Create name --> save --> Select * Into tblTABLE from [Microsoft Excel;Data Source=<Path to file>].[<NamedRange>]不是一个直接选项。
相反,我将范围复制到一个新的工作簿中,然后在那里执行该操作。这效率非常低,但可能比在删除之前在temp目录中保存整个工作簿的新副本更