Tag: 复制

将工作表复制到多个工作簿 – 公式引用

我已经使用了下面的macros,我发现在另一个论坛上复制一个工作表到其他工作表: Option Explicit Public Sub CopySheetToAllWorkbooksInFolder() Dim sourceSheet As Worksheet Dim folder As String, filename As String Dim destinationWorkbook As Workbook 'Worksheet in active workbook to be copied as a new sheet to the destination woorkbook Set sourceSheet = ActiveWorkbook.Worksheets("Sheet1") 'Folder containing the destination workbooks folder = "F:\temp\excel\" filename = Dir(folder & "*.xls", vbNormal) While […]

使用OpenXlsx和.xlsm文件复制工作表

我正在使用openxlsx包的基本function在excel文件上写入数据。 当我使用.xlsx文件写入数据时,没有任何问题。 当我尝试使用.xlsm (具有macros的文件)写入数据时,在保存.xlsm文件后,Vba项目中出现重复的表单,这些新表单为空。 我的代码如下: OutputBook = loadWorkbook("DataImportOutput.xlsm") writeData(OutputBook, "Database", MyData, rowNames = TRUE, startCol=1, startRow=1) saveWorkbook(OutputBook, "DataImportOutput.xlsm", overwrite = TRUE) 在R代码的末尾,“DataImportOutput.xlsm”在Vba项目中有一个重复表单。 使用相同的文件,但没有macros(.xlsx),没有重复。 为什么这个工作表的重复发生? 有一种方法可以避免与.xlsm文件重复工作表?

如果date等于月份,则使用VBA复制列

如果数据匹配,我想有一个macros来复制数据列。 每个月报表都会吐出当前的月份数据,而且我必须将B列数据复制并粘贴到与当月相同date的列中。 在单元格A2中inputdate。 月份的第一天总是表示简单的月份。 例如: 7/1/17 B列有所有需要复制的date。 B4:B660 在H3到S3的列是一年的月份。 (H3) 7/1/2017 (I3) 8/1/2017 (J3) 9/1/2017 (K3) 10/1/2017 …(S3) 6/1/2018 所以,如果我在A2中input一个date,如果它等于H3到S3中的一个单元格中的同一date,则在H4到S4中复制该date下的列B.

VBA – 添加重复表单并将输出转换为行

我有以下数据集,其中包含重复项。 values: 2880CR-20.36KX53305DECOAK2015 F05572-CN48517OCTOAK2016 F05572-CN48517DECOAK2016 F05572-CN48517NOVOAK2015 F05572-CN48517NOVOAK2015(duplicate) F05572-CN48517DECOAK2015 F05573-CN48517JANOAK2016 F05573-CN48517FEBOAK2016 F05573-CN48517JANOAK2015 F05573-CN48517FEBOAK2015 F05573-CN48517MAROAK2015 F05573-CN48517APROAK2015 F05573-CN48517APROAK2015(duplicate) 我正在尝试创build一个macros,它将查看A2:A(列中的行数)列A中的值,并返回声明为“strMyDupList”的string中包含的重复值列表。 基本上,如果有至less1个重复,msgbox会popup,并与列的地址和值创build新的工作表,我试图列出所有的价值分隔我的逗号VERTICALLY,而不是水平横跨工作表。 如此: Address value $A$5 F05572-CN48517NOVOAK2015 $A$13 F05573-CN48517APROAK2015 我的代码是: If strMyDupList <> "" Then MsgBox "The following entries have been used more than once:" & vbNewLine & strMyDupList Worksheets.Add.name = name Worksheets(name).Range("A1").Value = "Location" Worksheets(name).Range("B1").Value = "Value" ' Worksheets(name).Range("A2:C2").Value […]

Excel VBA应用程序来电者复制2个范围

朋友,我在编程上很穷,但也许有人愿意帮忙。 我的电子表格包含18个范围和2个不同的保护区标题。 我需要将1个标题和1个范围复制并合并到另一个不受保护的区域。 用户应该按下一个button,macros将数据带到可以粘贴的新位置。 对于button操作,我有一个application.caller隐藏和显示行。 我认为这是一个好的开始。 我也有一组范围的复制macros。 我想把这两个结合到一个新的macros。 Sub Macro_copy_RIVA1() Range("RHEAD").Copy Range("RIVA1").Copy Application.Goto Reference:="R1120C2" Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Selection.Cut End Sub 我的隐藏/显示行的应用程序调用者是(感谢Stackoverflow) Sub ShowHideRows() Dim arr 'split the calling button name into an array ' (array will be zero-based) arr = Split(Application.Caller, "_") '**EDIT** check array is expected size… […]

查找重复消息框VBAmacros

我现在有下面的代码是快速和有效的find列“A”重复。 我正在处理一个40-50,000行的非常大的数据集。 虽然这个代码是好的,但如果没有find重复的代码,它会抛出一个错误代码。 我可以通过删除“On error go to 0”行来绕过这个问题,但是它会复制粘贴整个数据集。 有没有办法修改这个代码来显示一个信息框,如果没有重复被发现? 如果不是一个单独的子将调用这个子如果重复被发现,如果不显示一个消息框? 虽然很多数据集不够高效。 Sub filtersort() Dim wsData As Worksheet, wsOutput As Worksheet Dim Rng As Range Dim LastRow As Long, LastCol As Long, i As Long, j As Long, n As Long Dim arr(), x, dict, arrOut() With Application .Calculation = xlCalculationManual .EnableEvents = False .ScreenUpdating = […]

如何使用VBA在Excel中复制连续的工作表

我search了关于如何将工作表复制到另一个工作簿的多篇文章。 在所有情况下,表单名称是已知的。 如果我在当前工作表中,如何创build一个将当前工作表和下两个连续工作表复制到新工作簿的vba。 工作表的名字每周都会更改,所以程序只需要select当前的工作表和下两页。 感谢您的帮助。

C#Excel生成 – 范围复制(不需要的行为)使用最后一个单元格作为正确数据的第一个单元格

List<someClass> aList = new List<someClass>(); … XLWorkbook workbook = new XLWorkbook(); IXLWorksheet worksheet = workbook.AddWorksheet("Data"); worksheet.Hide(); workbook.CalculateMode = XLCalculateMode.Manual; var data = aList.ToArray(); var firstCell = worksheet.Cell(1, 1); var lastCell = worksheet.Cell(numRows, numColumns); // numRows = 150, numColumns = 8 var writeRange = worksheet.Range(firstCell, lastCell); //firstCell = A1, LastCell = H150 writeRange.Value = data; workbook.SaveAs(mySavePath); […]

将基于多个条件的select复制粘贴到VBA中的另一个工作表中

我对VBA很新,并且使用macros录制器来创buildmacros。 macroslogging器只能带我到目前为止,我能够完成我所需要做的2/3。 我试图创build一个macros,我需要在三列中满足条件,复制满足条件的行,并将其粘贴到工作簿上。 标准是“公开”“关键”和“date”。 这是棘手的部分,date或者需要大于特定的date,通过用户input或在第三个工作表中引用单元格。 有几千行,大约19列,所有的代码,我试图导致崩溃的Excel。 获取前两个标准的代码示例: Sheets("Sheet1").Select ActiveSheet.ListObjects("Table_owssvr").Range.AutoFilter Field:=12, _ Criteria1:="Open" ActiveSheet.ListObjects("Table_owssvr").Range.AutoFilter Field:=16, _ Criteria1:="Critical" Range("Table_owssvr").Select Range("Q83").Activate Selection.Copy Sheets("Sheet2").Select Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select ActiveSheet.Paste 一个 – – – – – – – – – – – – – – – – – – – – – – – – – —————-乙——————————— ————————– C打开———————- – […]

Excel复制工作表

在Excel VBA中(或者如果您可以在C#中使用.NET的Excels对象库),如何将工作表从一个工作簿复制到另一个工作簿中的另一个工作表。 基本上,我正在做的是将我的每一张表复制到另一个工作簿中的中央工作表中,然后在那里做所有我需要做的事情。 我尝试使用Range.Copy方法,我给目标参数作为其他工作簿的范围。 它工作完美,但有一个问题,那就是每次我复制它replace该工作表中的旧数据。 我怎么做这样的事情,当我把它粘贴到工作表的最后。 编辑:我search,并find了一种方式,但现在当我复制单元格时,我得到一个COMexception与消息“要将Excel工作表中的所有单元格粘贴到当前的工作表中,您必须粘贴到第一个单元格(A1或R1C1) “。 以下是代码,它是在C# logWorksheet = logWorkbook.ActiveSheet as Excel.Worksheet; Excel.Range tempRange = logWorksheet.Cells[logWorksheet.Rows.Count, "A"] as Excel.Range; tempRange = tempRange.get_End(Excel.XlDirection.xlUp); int emptyRow; if (tempRange.Row > 1) emptyRow = tempRange.Row + 1; else emptyRow = tempRange.Row; string copyLocationAddress = Convert.ToString(emptyRow); Excel.Range copyLocation = logWorksheet.get_Range( "A" + copyLocationAddress, Type.Missing) as Excel.Range; // copy […]