我有第一部分,但在挣扎第二部分:
Sub sbCopyRangeToAnotherSheet()
'Set range
Sheets("Sheet1").Range("A2:B10").Copy Destination:=Sheets("Sheet2").Range("A2")
'Copy the data
Sheets("Sheet1").Range("A2:B10").Copy
'Activate the destination worksheet
Sheets("Sheet2").Activate
'Select the target range
Range("A2").Select
'Paste in the target destination
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
这将在不使用active
和select
的情况下完成任务:
Option Explicit
Sub TestMe()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim source As Range
Dim target As Range
Dim lastColumn As Long
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
With ws2
lastColumn = .Cells(2, .Columns.Count).End(xlToLeft).Column
If WorksheetFunction.CountA(.Columns(1)) > 0 Then
lastColumn = lastColumn + 1
End If
End With
Set source = ws1.Range("A2:A10")
Set target = ws2.Cells(2, lastColumn)
source.Copy destination:=target
Application.CutCopyMode = False
End Sub
代码中最棘手的部分是在目标工作表上的正确列上开始写入。如果工作表为空,则正确的列是第一列。在其他情况下,正确的列是最后一列+1。
查找最后使用的列-range.end(xlToLeft).column
的标准方法总是将第一列作为最后使用的列返回,W/O注意它是否被使用。因此,您需要某种检查来知道它是否为空:worksheetfunction.counta(.columns(1))>0
我写了下面的代码,并不断地看到。我试图克服这个问题,但似乎没有任何效果。我正试图从一个工作簿复制整个工作表,并将其粘贴到另一个工作簿中:
我写了一个google脚本来创建和粘贴从一个单元格到另一个单元格的值(相同的电子表格)。该守则包括以下两个步骤: > (不工作):将相邻单元格的新值粘贴到第二张工作表中下一个空行(第1列)的单元格中。 下面的代码是我迄今为止尝试过的代码,但第二页上没有显示该值。有人知道我在下面的尝试中的问题在哪里吗? 谢谢你
试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误
我在表单模板中设置了一张表单,在a列中有数据提示,如姓名、ID#等,在B列中输入了实际数据。我创建了一个标记为“提交表单”的按钮,该按钮链接到脚本。我希望这个脚本实现的是只复制列B中特定范围的数据,然后将该数据粘贴到新工作表中的下一个空行中,以创建表单响应的某种数据库。它还将清除原始工作表B列中的数据范围。 我已经有一种方法可以清除原始工作表上的选定范围,也有一种方法可以将选定范围复制到新工作表,
我有以下脚本: 这是我找到脚本的原始帖子:https://support.google.com/docs/forum/AAAABuH1jm0hR40qh02UWE/?hl=en 我想对代码做一些小的调整,但不知道从哪里开始。 目前,当在G列中输入“Y”时,它复制整行,并将行内容放在ORDERS!的最后一行!。 我想让它做的是: 1) 仅复制订单最后一行上的B、C和E列!2) 在中删除E和F中的值!