将单元格复制到另一个工作表

时间:2020-04-13 09:16:03

标签: excel vba

我是VBA编码的新手,我在设备ID方面遇到了一些麻烦,非常感谢您的帮助。

我的问题以下:

当我创建新设备时,我想手动添加设备ID,因为ID的字母取决于位置。例如,F002。设备ID及其所有信息将自动保存在设备清单(第2页)的第一行中。但是,每次我键入D100时,它都会使我在设备管理器上空白,并在设备库存上空白。

这是代码:

Sub Equip_SaveNew()
    Dim EquipRow As Long
    Dim EquipCol As Long

    With Sheet1
        If .Range("E5").Value = Empty Then
            MsgBox "Por favor introduza o Nome do Artigo"
            .Range("E5").Select
            Exit Sub
        End If

        EquipRow = Sheet2.Range("A99999").End(xlUp).Row + 1   'First Avail Row. 
        Sheet2.Range("A" & EquipRow).Value = Application.WorksheetFunction.Max(Sheet2.Range("EquipID"))

        For EquipCol = 2 To 11
            Sheet2.Cells(EquipRow, EquipCol).Value = .Range(Sheet2.Cells(1, EquipCol).Value).Value
        Next EquipCol

        .Range("E2").Value = .Range("E5").Value 'Add Equipment Name
        .Shapes("NewEquipGrp").Visible = msoFalse
        .Shapes("ExistEquipGrp").Visible = msoCTrue
        .Range("B1").Value = False 'Set Equipment Load To False
        .Range("B4").Value = False 'Set New Equipment To False
    End With

    'Sort Equipment List
     With Sheet2 
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=.Range("B2"), SortOn:=xlSortOnValues, Order:=xlAscending,                    DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A4:K" & EquipRow)
            .Apply
        End With
    End With
End Sub

0 个答案:

没有答案