我有一段巧妙的代码,它根据指定单元格中的特定文本输入隐藏/隐藏表。在Book1中的Sheet1中(比方说),如果我改变单元格A1中的文本(比方说文本是苹果、橘子等),我会在同一本书中的sheet2上得到某些表格(让我们称之为答题卡)。
现在,在另一本书中,我有一个表,其中包含所有可能的文本值(Apple,oranges,等等)。我想写一个代码,首先通过这个表,使值在book1.sheet1(“sheet1”)。range(“a1”)一步一步,从book1复制“答卷”。这样,最终的结果将是我拥有与book2加Sheet1中的产品数量一样多的页数。
Sub_fruits()
Dim data_old as WorkBook
Dim data_new as Variant
Dim i As Long, LR As Long
Dim ws as Worksheet
ThisWorkbook.Sheets("Sheet1").Activate 'code is in book2
msgbox (______) 'to ask for file name 'to open book1
data_new = Application.GetOpenFIlename()
Set data_old = Workbooks.open(data_new)
Set ws = ThisWorkBook.ActiveSheet 'sheet1 in book2, the one with the table
LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
For i= 1 to LR
'go through each cell in the table in book2.sheet1,
'make a1 in book1 equal to cell value and keep generating data on sheet2.book1).
data_old.Sheets("sheet1").Range("a1").Value = _
ws.Sheets("Sheet1").Range("a" & i).Value
'select data sheet from book1
data_old.Sheets("Sheet2").Select
Selection.Copy
ws.sheets("Sheet2").select
Range("a1").select
'paste it onto sheet2 in book2
ActiveSheet.Paste ()
.
.
.
我不能通过表,即,如果我的表是苹果,橘子和香蕉,我希望代码拿苹果,把它放在书本1,生成输出,复制它并粘贴到书本2。其他水果在新的床单上以此类推。代码给出一个下标超出范围的消息。
data_old
这里是代码中的book1,表就在这里。您需要遍历数据以获取要复制的每个值。使用if
语句,可以设置要复制内容的目标范围,在本例中为target
。希望这能有所帮助。
Dim wb As Workbook
Set wb = Workbooks.Add
Dim target As Worksheet
Set target = wb.Worksheets(1)
target.Range("A1") = "Fruit"
Dim cell As Range
For Each cell In data_old.Range("A2", data_old.Range("A" & Rows.Count).End(xlUp))
If cell.Value = "apples" Then
target.Range("A" & Rows.Count).End(xlUp).Offset(1).Value = cell.Value
End If
Next cell
End Sub
我写了下面的代码,并不断地看到。我试图克服这个问题,但似乎没有任何效果。我正试图从一个工作簿复制整个工作表,并将其粘贴到另一个工作簿中:
作为预先警告,我是使用VBA的新手。 我已经拼凑了以下代码来执行以下操作:1。找到工作表“intrastat”2。复制此工作表3的使用范围。作为值粘贴到新工作簿4中。重新格式化B5栏中的日期。将工作簿保存在原始工作簿的位置。 然而,只有当我将宏保存在原始工作簿中时,这才起作用。我需要的是能够有宏保存在一个不同的工作簿和运行宏,我需要能够选择“原始”工作簿从一个文件位置在我的硬盘。 有什么想法吗?
> sheet1:用户单击运行VBA的按钮。 第2:VBA选择第D列上的第一个非空白单元格 Range(“d”&rows.count).end(xlUp).offsed(1).select 多谢!
标题或多或少概括了它。我试图使一个简单的宏打开,然后复制/粘贴数据从txt文件到一个新打开的工作簿。我有什么工作,但它粘贴到个人工作簿,在打开一个新的“book1”之前。我可以让它粘贴到Book1,但我只想让它粘贴到打开的第一个工作簿中,以防以后我想在同一个文件中添加更多数据。我对此相当陌生,所以任何帮助都将不胜感激!!
我需要从一个工作簿复制棕褐色单元格并粘贴到另一个工作簿中。并且只需要在Excel中获取特定的单元格值。我实现了这一点,但只能粘贴到同一工作簿中的另一个工作表中。你能帮助我在粘贴数据到另一个工作簿上的一个特定的工作表,也应该粘贴的值在第二行,(即从第二行开始),因为第一行有标题在它。 源表标题: 项目阶段状态st Dt结束Dt预资源备注备注 Dest表标题: 现有代码:
试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误