如何对我的Excel宏代码进行一些改进?

时间:2017-06-09 14:03:15

标签: excel vba excel-vba

我是excel宏的新手。一周前开始学习它。我有一个要求,我使用谷歌从少数程序复制代码。但现在我收到了错误。不知道如何解决它。

我所要做的就是:

  1. 将第1项(单元格:A1)从sheet2'partslist'复制到sheet1'表单'到单元格G2
  2. 仅将sheet1'表单'保存为特定文件夹中的单独文件(我可以提及路径)

    如果可能,请告诉我是否可以使用部件号搜索文件夹结构,如果该文件夹存在,则将其保存在名称为XXX.part number.xls的该文件夹下。否则,将其保存在我使用名称XXX.part number.xls

  3. 指定的默认路径下
  4. 跳转到sheet2'partslist'中的下一个部件号,然后继续步骤1和2,直到所有部件号都完成。
  5. Sub test code ()
        Dim i As Long, lastRow As Long
        Dim FName As String
        Dim FPath As String
    
        Set form = Sheets("form")
        Set partslist = Sheets("partslist")
    
        lastRow = partslist.Cells(Rows.Count, "A").End(xlUp).Row
    
        For i = 2 To lastRow
    
            If partslist.Range("A" & i).Value <> "" Then
               form.Range("G11").Value = partslist.Range("A" & i).Value
    
            End If
    
            Set FPath = "C:\"
            Set FName = Sheets("partslist").Range("A" & i).Text
    
                ThisWorkbook.Sheets("SIR").SaveAs Filename:=FPath & "\" & FName
    
    Next i
    
    End Sub
    

1 个答案:

答案 0 :(得分:0)

可能修复的一些错误是:

  1. 使用合适的类型声明所有变量。 例如,

    Set form = Sheets("form")
    

    应该在

    之前(同样适用于partslist
    Dim form as Worksheet
    
  2. 请勿将Set与字符串一起使用。