返回列表 上一主題 發帖

[發問] 不同工作表間,如何設條件,複製資料到指定儲存格

回復 1# simplehope
試試看
Moisture test result(2)  模組上的程式碼
Range("d7") 有變動時會自動執行
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Dim A, I As Integer, ii As Integer, Ar As Variant, E As Range, LotNo As Integer
  4.     Dim Rng   As Range
  5.     If Target.Address <> Range("d7").Address Then Exit Sub
  6.     Application.EnableEvents = False
  7.     Application.ScreenUpdating = False
  8.     A = Split(Range("d7").Validation.Formula1, ",")
  9.     LotNo = 20                               'LotNo有變動時修改這理                      '
  10.     For I = 0 To UBound(A)
  11.         If Val(A(I)) = [D7].Value Then
  12.             For ii = 0 To I
  13.                 If ii = 0 Then
  14.                     Set Rng = [L16]
  15.                 Else
  16.                   Set Rng = Union(Rng, [L16].Offset((LotNo * 2 + 1) * ii - 1)) '41
  17.                 End If
  18.             Next
  19.             Range(Rng, Cells(Rows.Count, "L").End(xlUp)) = ""
  20.             Exit For
  21.         End If
  22.     Next
  23.     If Not Rng Is Nothing Then
  24.         '******** W 檔案已開啟 ***
  25.         Ar = Workbooks("檔案名稱.xls").Sheets(1).[AU16].Resize(LotNo).Value
  26.         '******** W 檔案未開啟 ****
  27.         'With Workbooks.Open("檔案的路路徑&檔案名稱.xls")
  28.         '   Ar = .Sheets(1).[AU16].Resize(LotNo).Value
  29.         '   .Close False
  30.         'End With
  31.         '*************************************
  32.         Ar = Application.Transpose(Ar)
  33.         For Each E In Rng.Cells
  34.             For I = 1 To 20
  35.                 E.Cells(I * 2 - 1) = Ar(I)
  36.             Next
  37.         Next
  38.     End If
  39.     Application.ScreenUpdating = True
  40.     Application.EnableEvents = True
  41. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題