我是VBA的新手,我试图编写一个宏来帮助我复制和粘贴输入值附近的列。 Example Report
我一直在阅读不同的代码和方法,但我目前仍然坚持让宏跳转到输入框的值。宏是一项正在进行的工作。
Sub copyandpaste()
Dim inputmonth As String, newSht As Worksheet, ws As Worksheet, findStr As String, rnCol As Range
On Error Resume Next
inputmonth = Application.InputBox("Enter the latest month of data", Type:=2)
findStr = ActiveSheet.Cells.EntireRow.Find(What:=inputmonth, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False).Column
Set rnCol = Range(findStr)
For Each ws In Worksheets
If findStr = True Then
Application.Goto rnCol
' WIP offset copy and paste for the columns nearby the input value
End If
Next
' Set newSht = Sheets.Add(After:=Sheets(Sheets.Count))
' newSht.Name = "testname"
' inputmonth.Copy Destination:=newSht.Range("A1")
End Sub
输入值将是基于文本的月份(即1月,2月,3月)。我希望每月进入输入框并且匹配,宏将跳转到匹配的单元格,然后将附近的列复制并粘贴到新的表格中。我正在考虑使用偏移来帮助执行不同列的复制和粘贴。起始单元格,因为报告格式非常复杂。唯一重要的列是PN(始终在同一列中),POS库存和月销售列。有很多表可以循环使用。这些工作表名称是不同的客户。如果在复制列时尽可能,有没有办法省略" Totals"和没有部件号(PN)的行?
在新工作表中,我如何为副本添加一些预定的列标题(PN,POS库存和月销售额)?此外,复制PN列(将在所有工作表中保持相同的列)成为新工作表中的第一列。
谢谢大家!