Tag: 复制粘贴

问题与复制数据从一张表到另一张

我通过循环方法开发了一个脚本,将数据从一个表格复制到另一个表格,然后刷新第一个字段。 除了一个问题,脚本运行良好。 在第二个表格中,它应该find列A中的最后一个非空白单元格(即“x”),并从下一行中读取数据。 问题是它正在粘贴“x + 11”行中的数据。 我需要帮助确定这是为什么发生。 请注意,这里i = 11是因为第10行中的数据是标题,所需数据从第11行开始。 这是我做的macros: Option Explicit Sub CopyPaste() Dim i As Integer Dim x As Long Dim y As Long Dim c As Range i = 11 Do While Cells(i, 1).Value <> "" 'ActiveSheet.CopyPast x = i y = 0 For Each c In Worksheets("CDS").Range(Cells(x, 1), Cells(x, 11)) […]

Excelmacros复制包含当前数组值的所有单元格并将其粘贴到新的工作簿

我已经收到了一个电子表格,其中包含C列中的家具供应商列表。其他列包含有关他们所存储的不同家具产品的信息。 我的任务是复制包含每个供应商家具产品信息的所有单元格,并将其粘贴到新的工作簿中。 有大约66个不同的供应商,所以显然我并不喜欢手动做这个。 我以为这里的某个人不得不做了类似的工作,并且可能知道如何去写一个macros来解决这个问题。 到目前为止,我已经设法写下面的代码。 它基本上是用户select,循环select中的所有单元格。 采取独特的价值观(每个新的家具供应商),并将其添加到只包含唯一值的数组中。 我遇到的问题是下一步做什么。 Sub addItemsToArray() Dim varIn As Variant 'User Selection Dim varUnique As Variant 'Array containing Unique Values Dim iInRow As Long 'Variable storing current row number Dim iUnique As Long 'Variable storing current unqiue array value Dim nUnique As Long 'Variable storing number of unique values in User […]

与运行macros复制/粘贴不一致

当我专门运行子“EmailAbertura”(下面),我得到了预期的结果。 但是,当我在其他潜艇的列表中运行它时,它会复制并粘贴一张甚至不在纸上的数字。 为什么会发生? 谢谢! Sub EmailAbertura() Dim Email As Workbook Dim Sheet As Worksheet Dim LCA As Workbook Dim Lastro As Worksheet Set Email = Workbooks("Email") Set Sheet = Email.Sheets("Sheet1") Set LCA = Workbooks("Controle de Lastro LCA_FEC – Test") Set Lastro = LCA.Sheets("Controle Lastro") Lastro.Range("B7").Copy Sheet.Range("F2").PasteSpecial End Sub 但是,当我把它包含在这个macros中时,它不起作用。 Sub DoLCA() 'fazer todos de LCA […]

从文本框中复制非常多的数字时保留数字格式

我在文本框中有一个很长的数字: 032010203010301030103010300103010301032010101030103007 当我想将这个数字(Ctrl + c)复制到一个单元格中时,数字将是: 3.2010203010301E+52 我希望目标单元格具有原始数字格式。 我该怎么办?

从HRESULTexception:0x800A03EC错误粘贴特殊的datagridview-excel

我试图导出一个excel的datagridview。 我发现了一个非常好的解决scheme, 复制粘贴解决scheme ,但是这个exception出现了。 这是我的代码,与我find的解决scheme相同的代码。 void botonCP_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application xlexcel; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlexcel = new Microsoft.Office.Interop.Excel.Application(); xlexcel.Visible = true; xlWorkBook = xlexcel.Workbooks.Add(misValue); xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); Microsoft.Office.Interop.Excel.Range CR = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[1, 1]; CR.Select(); xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true); }

win32com模拟执行在Excel中select所有两次

在win32com中, cells = worksheet.UsedRange 类似于在Excel中单击一次cntl-a。 什么是win32com等同于做cntl-a两次? 用例是当你使用格式画家后按cntl-a两次,它将粘贴所有的格式,包括列的宽度。

粘贴来自“较新”工作簿的数据后,受保护的Excel工作簿中断

在受保护的工作表中给定一个带有未locking单元格的Excel工作簿。 如果我从目标工作簿之后打开的另一个工作簿中复制单元格 ,并将其粘贴到未locking的单元格中,它将变为locking状态,除了取消粘贴操作之外,我无法执行任何操作。 另一方面,如果源工作簿在目标之前打开,则复制粘贴按预期工作 – 目标单元保持可编辑状态 。 我已经在Excel 2007和2010中转载了这个。 我问什么是重现问题,并build议如何处理与VBA这个问题,以避免用户locking单元格。

从多个工作簿传输数据

目标 – 从多个工作簿中提取数据(共5个); 将数据粘贴到新的工作簿中。 问题/问题: 1)运行下面的VBA代码后,它可以从所有5个工作簿中复制数据,但粘贴时仅粘贴其中一个数据。 2)剪贴板的popup窗口已满。 我已经写了一个代码来清除剪贴板,但它似乎不起作用,因为我仍然popup窗口。 VBA代码: Sub LoopThroughDirectory() Dim MyFile As String Dim erow Dim MyPath As String MyPath = "Directory path" MyFile = Dir(MyPath) Do While Len(MyFile) > 0 If MyFile = "filename.xlsb" Then End If Workbooks.Open (MyPath & MyFile) Range("A3:CP10000").Copy ActiveWorkbook.Close 'calculating the empty row erow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row a […]

从Excel中的一个工作簿复制到另一个工作簿

我最终要做更复杂的事情,但我甚至无法得到这个简单的版本。 它会打开其他文件,但它只是留下第二个工作簿(与macros应该被复制到)的空白。 我已经尝试了其他“在工作簿之间复制/粘贴”线程的一些build议,没有任何工作。 大多数给我一个“工作表类错误的粘贴方法”错误,我不知道如何解决,即使PasteSpecial不解决它? 我对VBA来说比较陌生,需要为我的工作做些事情。 提前感谢任何帮助! 在我下面的示例代码中,我试图从CPWholeDocTest1.xlsx复制到CPWholeDocTest2.xlsm。 Sub CopyPasteRawData() Dim x As Workbook Dim y As Workbook '## Open both workbooks first: Set x = Workbooks.Open("C:\Users\rnewma\Documents\Excel Projects\Test\CPWholeDocTest1.xlsx") Set y = Workbooks.Open("C:\Users\rnewma\Documents\Excel Projects\Test\CPWholeDocTest2.xlsm") 'Now, transfer values from x to y: y.Sheets("Test").Range("A1:B5").Value = x.Sheets("Sheet1").Range("A1:B5") 'Close x: 'x.Close End Sub

如何使用VBA在列中的每个单元格中比较数据,复制下一列中的单元格的值并粘贴到不同的电子表格中?

我有两张工作表的Excel工作簿。 每列的格式都完全相同。 列是ColA – ID ColB – 说明/部门ColC – 名称 Sheet2包含所有列中的所有信息。 Sheet1只在ColC中有信息。 我想编写VBA代码来比较列C中的值,如果它们匹配(因为它们可能不是相同的顺序或甚至相同数量的logging),则代码从列A中复制ID和描述和Sheet2( forId )的B转换为sheet1( 1099(2) )的A列和B列。 我写了以下,但它只是运行和Excel点击它后停止响应。 当我select重新启动Excel时,没有任何改变。 谢谢你的帮助。 Sub insertId() Dim Rng As Range Dim compRngI As Range, compRngO As Range Dim wsI As Worksheet, wsO As Worksheet Dim x As Variant, y As Variant With Application CalcMode = .Calculation .Calculation = xlCalculationManual […]