使用输入框值执行附近列

时间:2018-06-11 18:37:26

标签: excel vba excel-vba

我是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列(将在所有工作表中保持相同的列)成为新工作表中的第一列。

谢谢大家!

0 个答案:

没有答案