|
本帖最后由 lkk0063 于 2022-9-13 14:08 编辑
依照现行的程式码修改执行动作如下 : 按下 add data to out 按钮, 若想要将表(In)资料复制到表(Out)但是需要跳过F8:J8与F12:J12请问如何修改程式?
- Private Sub CommandButton2_Click()
- Dim Arr, Brr, i&, j%, xE As Range
- Arr = [A3:J17]
- ReDim Brr(1 To 2, 1 To [A:bx].Columns.Count)
- Brr(1, 1) = Split([G1], "-")(0) & "-FQC"
- Brr(1, 2) = Year([C1])
- Brr(1, 3) = [C1]
- Brr(1, 4) = [E1]
- For i = 0 To UBound(Arr) - 1
- If i >= UBound(Arr) - 1 Then
- For j = 5 To 6: Brr(1, i * 5 + j) = Arr(i + 1, j + 1): Next j
- Else
- For j = 5 To 9: Brr(1, i * 5 + j) = Arr(i + 1, j + 1): Next j
-
- End If
- Next i
- Dim xN$, xB As Workbook, xS As Worksheet, xF As Range
- xN = "Out.xlsm"
- On Error Resume Next
- Set xB = Workbooks(xN)
- If xB Is Nothing Then Set xB = Workbooks.Open(ThisWorkbook.Path & "" & xN)
- On Error GoTo 0
- If xB Is Nothing Then MsgBox "can't find〔" & xN & "〕file": Exit Sub
- Set xS = xB.Sheets("BB")
- Set xF = xS.[A:A].Find(Split(Brr(1, 1), "-")(0), Lookat:=xlPart)
- If Not xF Is Nothing Then MsgBox "Two lots": xB.Close 0: Exit Sub
- Set xE = xS.[A65536].End(xlUp)(2)
- If xE.Row < 6 Then Set xE = xE(2)
- xE.Resize(2, UBound(Brr, 2)) = Brr
- xB.Close 1
- End Sub
复制代码
Private Sub CommandButton2_Click()
Dim Arr, Brr, i&, j%, xE As Range
Arr = [A3:J17]
ReDim Brr(1 To 2, 1 To [A:bx].Columns.Count)
Brr(1, 1) = Split([G1], "-")(0) & "-FQC"
Brr(1, 2) = Year([C1])
Brr(1, 3) = [C1]
Brr(1, 4) = [E1]
For i = 0 To UBound(Arr) - 1
If i = 5 Or i = 9 Then GoTo 10
If i >= UBound(Arr) - 1 Then
For j = 5 To 6: Brr(1, i * 5 + j) = Arr(i + 1, j + 1): Next j
Else
For j = 5 To 9: Brr(1, i * 5 + j) = Arr(i + 1, j + 1): Next j
End If
10 Next i
Dim xN$, xB As Workbook, xS As Worksheet, xF As Range
xN = "Out.xlsm"
On Error Resume Next
Set xB = Workbooks(xN)
If xB Is Nothing Then Set xB = Workbooks.Open(ThisWorkbook.Path & "\" & xN)
On Error GoTo 0
If xB Is Nothing Then MsgBox "can't find〔" & xN & "〕file": Exit Sub
Set xS = xB.Sheets("BB")
Set xF = xS.[A:A].Find(Split(Brr(1, 1), "-")(0), Lookat:=xlPart)
If Not xF Is Nothing Then MsgBox "Two lots": xB.Close 0: Exit Sub
Set xE = xS.[A65536].End(xlUp)(2)
If xE.Row < 6 Then Set xE = xE(2)
xE.Resize(2, UBound(Brr, 2)) = Brr
xB.Close 1
End Sub
|
|