简体   繁体   English

Excel VBA宏复制单元格并粘贴到另一个

[英]Excel vba macro to copy cells and paste in another

I apologize upfront... 我向您道歉...

I am an avid Excel user, but not skilled with VBA. 我是一个狂热的Excel用户,但不熟悉VBA。 Any help is appreciated. 任何帮助表示赞赏。

  1. I need the user to input a date in ddmmyyyy format. 我需要用户以ddmmyyyy格式输入日期。
  2. Open a workbook based on that ddmmyyyy information (concatenate it with a file name). 打开基于该ddmmyyyy信息的工作簿(将其与文件名连接)。
  3. Copy cells from the specific range in that workbook (AN1:AS1). 复制该工作簿(AN1:AS1)中特定范围的单元格。
  4. Paste the copied cells into another workbook. 将复制的单元格粘贴到另一个工作簿中。 It should be pasted next to the date entered by the user. 它应该粘贴在用户输入的日期旁边。

Here is the code I tried so far: 这是我到目前为止尝试过的代码:

dim input as string
input = inputbox("Insert date in format ddmmyyyy")
Workbooks.open (""\\vmp-avayaacc\reports\servicedesk\Josh\Agent By Skillset Performance" & input & "1155.csv"")
Workbooks("(""\\vmp-avayaacc\reports\servicedesk\Josh\Agent By Skillset Performance" & input & "1155.csv"")).Worksheets("Sheet1").Range("AN1:AS1").Copy _
    Workbooks("http://sharepoint.coh.org/SiteDirectory/ITS/BO/Dashboard.xls").Worksheets("Sheet1").Range("A1")

Can somebody help me make this work? 有人可以帮我做这个工作吗? Thank you. 谢谢。

You can change the last line to Range("A2") : 您可以将最后一行更改为Range("A2")

Workbooks(""\\vmp-avayaacc\reports\servicedesk\Josh\Agent By Skillset Performance" & input & "1155.csv"").Worksheets("Sheet1").Range("AN1:AS1").Copy _
Workbooks("http://sharepoint.coh.org/SiteDirectory/ITS/BO/Dashboard.xls").Worksheets("Sheet1").Range("A2")

And then add the date in front of it to cell A1: 然后将其前面的日期添加到单元格A1中:

Workbooks("http://sharepoint.coh.org/SiteDirectory/ITS/BO/Dashboard.xls").Worksheets("Sheet1").Range("A1").Value=input

Hope this helps. 希望这可以帮助。

Copy this code into the VBA window of a macro-enabled worksheet and either F5 execute or assign it as a macro to a button or other control object: 将此代码复制到已启用宏的工作表的VBA窗口中,然后F5执行该代码或将其作为宏分配给按钮或其他控件对象:

  Public Sub CopyCells()
      Dim wkb         As Excel.Workbook
      Dim wks         As Excel.Worksheet
      Dim wkb2        As Excel.Workbook
      Dim wks2        As Excel.Worksheet
      Dim strMSG      As String

      strMSG = InputBox("Insert date in format ddmmyyyy")

      Set wkb = Excel.Workbooks.Open("\\vmp-avayaacc\reports\servicedesk\Josh\Agent By Skillset Performance" & strMSG & "1155.csv")

      Set wkb2 = Excel.Workbooks.Open("http://sharepoint.coh.org/SiteDirectory/ITS/BO/Dashboard.xls")

      Set wks = wkb.Worksheets("Sheet1"): wks.Activate

      wks.Range("AN1:AS1").Copy

      Set wks2 = wkb2.Worksheets("Sheet1")

      wks2.Range("A1").PasteSpecial xlPasteAll

      Set wks = Nothing: Set wkb = Nothing

      set wks2 = nothing: set wkb2 = nothing
  End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM