Tag: 复制粘贴

VBA如果找不到文件创build和粘贴数据

我希望你能帮上忙。 我有一段代码,看代码1(我的代码完整),本质上是它允许用户浏览文件夹,select一个文件。 一旦选定,它将基于A列中的标准(国家)的工作簿分成新的工作表,在国家之后重新命名新的工作表并添加一些文本。 所有这一切正常。 我面临的问题是,当工作簿被拆分成不同的工作表。 请参阅图1,然后我需要将特定的国家/地区表复制并粘贴到已存储在其他文件夹中的工作簿中。 请参阅图2.如果工作簿已经存在于文件夹中(在我的德国例子中),但是如果工作簿不存在(比利时),我的代码工作正常,我需要代码为该国家创build一个新的工作簿,然后粘贴数据导入新的工作簿。 因此,在图2中,您可以看到德国文件夹H:\TOV Storage Folder ,复制和粘贴代码见代码2工作正常 代码2 If s.Name = "DE_ITOV_MTNG_ATNDEE.xlsx" Then s.Activate ActiveSheet.Range("A1", ActiveCell.SpecialCells(xlLastCell)).Copy Set y = Workbooks.Open("H:\TOV Storage Folder\Germany.xlsx") y.Sheets(2).Name = "DE_ITOV_MTNG_ATNDEE" y.Sheets("DE_ITOV_MTNG_ATNDEE").Range("A1").PasteSpecial Paste:=xlPasteFormulas y.SaveAs "H:\TOV Storage Folder\Germany.xlsx" y.Close 但比利时不存在于文件夹H:\TOV Storage Folder所以代码3抛出一个错误说,在H:\TOV Storage Folder找不到比利时,macros停止 代码3 ElseIf s.Name = "BE_ITOV_MTNG_ATNDEE.xlsx" Then s.Activate ActiveSheet.Range("A1", ActiveCell.SpecialCells(xlLastCell)).Copy Set y_1 = Workbooks.Open("H:\TOV Storage […]

如果满足If条件,则从行复制粘贴特定列

我试图build立一个macros来复制粘贴特定列从行,当满足条件。 If条件的一部分被testing和工作,正如我在另一个macros中使用的那样。 在我的情况下,问题是我不知道如何select一个循环内的行的特定列。 我只知道如何select整行(在这种情况下,如果我没有弄错的话,它会是行(i).EntireRow.Copy)。 我在下面提供我的代码。 需要编辑的部分是 .Rows(i).Columns(1, 4, 6, 8).Copy Sheets("WFRandVFR_REPORT").range("W2").Paste 整个代码是这一个 (更新后的版本) 我也提供了截图 Dim lr As Long Dim rng As range Dim mDiff1 As Double mDiff1 = 0.01 With Worksheets("WFRandVFR_REPORT") lr = range("L" & Rows.Count).End(xlUp).Row For i = 2 To lr If Cells(i, "U").Value – Cells(i, "V").Value > mDiff1 Then If rng Is Nothing […]

Excel VBA用户select工作簿,然后复制数据

我有一个macros将复制CSV文件中的数据到我的Excel文件,并且如果文件名每次都是相同的,那么这个macros很好用。 这就是问题所在:每次都是不一样的名字。 我需要脚本来允许用户selectcsv文件。 然后,允许它复制的代码。 这是我的: Sub importmix() Worksheets("mixdata").Range("A1:P300").Clear '## Open workbooks first: Set X = Workbooks.Open("C:\test\mix.csv") '## Set values between workbooks Workbooks("2.xlsm").Worksheets("mixdata").Range("A1:K300").Value = _ Workbooks("mix.csv").Worksheets("mix").Range("C1:M300").Value '##Close x: X.Close False End Sub

Slickgrid,如何复制粘贴单元格到excel?

题: 我正在使用jqGrid来显示一个表。 但是,Internet Explorer 9和8的性能不佳,如果它必须显示超过20行… 我试过SlickGrid,它在Internet Explorer中的performance似乎对我来说好多了。 我唯一的问题,阻止我切换到SlickGrid的权利 – 现在是,与SlickGrid,你不能只复制粘贴一系列单元格从SlickGrid到正确的出色。 复制粘贴转换的单元格,所以列是行,行的列(好吧,我知道你可以转置回excel,但我不是平均最终用户。此外,必须这样做是烦人)… 用jqGrid,这个工作完美无瑕。 请注意,我明确不希望将数据输出为CSV / XLS / XLSX文件。 任何人都知道我可以如何使SlickGrid复制粘贴到Excel正确(非转置)的单元格?

在.PasteSpecial上保留上标格式

我正在复制从一个工作簿到另一个工作簿的范围。 由于源范围中的大部分数据是我需要按值粘贴的公式: With TargetRange .PasteSpecial Paste:=xlPasteAll .PasteSpecial Paste:=xlPasteColumnWidths .PasteSpecial Paste:=xlPasteValues End With 问题是xlPasteValue破坏(静态)单元格中的上标格式。 我怎样才能保留上标格式的值来粘贴? 我可以通过xlPasteAll来重新粘贴那些带有上标格式的静态单元格,但是这有点混乱,并且不可维护。

Excel.Range.Copy()粘贴Clipboard.GetText()

我有一小段C#代码,我试图通过 Excel文件中的工作表循环 , 将UsedRange复制到剪贴板 并将其粘贴到文本文件中 。 我到目前为止的代码似乎工作没有任何错误,但由于某种原因,一点都没有写入我的文本文件。 我错过了什么吗? 如果我包含System.Reflection.Missing.Value作为Copy方法的参数,仍然没有任何反应。 这是我的代码: using (StreamWriter sw = File.CreateText("ExtractedText.txt")) { foreach (Excel.Worksheet sheet in thisWkBook.Worksheets) { sheet.UsedRange.Copy(); sw.Write(Clipboard.GetText()); } } 编辑#1:我怀疑某种参考必须打破我的小应用程序,因为如果我创build一个新的C#项目Haxxbuild议的代码段工作。 但是,如果我使用Haxx中的相同代码并作为新的方法插入到我的小应用程序中,即使它与完全相同的“使用”库被调用完全相同的代码,也是行不通的。重做整个应用程序,复制/粘贴代码的最重要的部分,并报告,如果这可以解决问题。 编辑#2:我相信我认为是什么问题。 我忘了提到我正在使用BackgroundWorker( System.ComponentModel.BackgroundWorker ),以便在运行这个小程序时可以显示进度条。 我刚刚看到,显然你只能从STAThread( Clipboard.GetText返回null(空string) )访问剪贴板。 所以我继续创build一个单独的方法,不使用BackgroundWorkers,因此它运行在STAThread,瞧! 该代码是正确和function,但试图访问剪贴板将无法工作,如果从BackgroundWorker线程调用asynchronous。

一次复印多张(保留相关公式)

我一直在努力寻找一种方法来一次复制多张使用VBA。 问题是我需要他们保持彼此的相对参照。 例如: I have 3 sheets: 1. Print (formulas point to TV – Input) 2. Print – Input 3. Print – plan (formulas point to TV – Input) I need to copy them so that all formulas point to their new respective sheets. 1. Print (2) (formulas point to Print – Input (2)) 2. […]

使用VBA将一行从一张纸复制到另一张

我有两张包含员工logging的表格。 Sheet1包含事件date,卡号,员工姓名,部门标识,员工编号,进入和退出时间,总工作时间,状态,ConcatinatedColumn和备注(通过从表单2查看) Sheet2包含ConcatinatedColumn,事件date,员工编号,姓名,备注。 如果sheet2的备注栏中的数据是“Sick Off”,那么该行应插入Sheet1而不影响以前的logging。 我已经为它编写了代码,但不起作用。 如果有人能帮助我,我会很感激! 提前致谢 ! 我的代码: Sub SickOff() Dim objWorksheet As Sheet2 Dim rngBurnDown As Range Dim rngCell As Range Dim strPasteToSheet As String 'Used for the new worksheet we are pasting into Dim objNewSheet As Sheet1 Dim rngNextAvailbleRow As Range 'Define the worksheet with our data Set objWorksheet = ThisWorkbook.Worksheets("Sheet2") […]

将数据从一个工作簿粘贴到另一个工作簿时,数据或数据不会全部显示。

我是VBA的新手,所以不太确定这一切是如何运作的,但我已经有了jist。 我正在尝试从多个工作簿导入数据到由该程序创build的一个工作簿中。 我已经正确地完成了主要的导入(尽pipe不是很有效),但是发生了三件事情之一:数据被导入到正确的位置并且很好,数据在第一组之后重叠,或者只有第一组数据被传送。 我只是不能解决为什么! Do Filename = InputBox("What is the full path and name of the file?") Workbooks.Open (Filename) data_range = InputBox("What is the cell range of the wanted data in the original file? If this is the first set of data, include the titles for reference") ActiveSheet.Range(data_range).Select Selection.Copy ActiveWorkbook.Close If first = True Then […]

Excel-在Excel中复制数据的更清晰的方法是什么?

我正在尝试进行数据的项目数量将每天更改,我将只需要运行macros将数据复制到工作簿。 我目前的工作。 我只相信这不是最有效的方法。 我希望能够在复制新数据之前清除表单。 Sub Data() Application.ScreenUpdating = False 'Disables "Screen flashing" between 2 workbooks Dim colA As Integer, colAA As Integer Dim colB As Integer, colBB As Integer Dim colC As Integer, colCC As Integer Dim colD As Integer, colDD As Integer Dim colE As Integer, colEE As Integer Dim colF As Integer, colFF […]