返回列表 上一主題 發帖

[發問] 如何依出貨單的出貨單號,叫出之前存在在清單中的資料??

回復 9# 妤璇
2# Hsieh 有說
  1. 回復 1# 妤璇
  2. 出貨單模組
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 12# yen956
  1. 因為 sub xxxx(ByVal Target As Range) 有參數是無法指定巨集的,
複製代碼
這不對的

試試看 sheet1的
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     MsgBox Target.Address
  3. End Sub
複製代碼
其他模組中
  1. Sub Ex()
  2.     Run "sheet1.Worksheet_SelectionChange", Range("A15")
  3. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 14# 妤璇
是要改成如此嗎?
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim AR(), s%, T As Integer
  3.     Application.EnableEvents = False
  4.     If Target.Address = "$H$5" Then
  5.         T = 6        '設定欄數  *********
  6.         With Sheets("出貨清單")
  7.             For Each a In .Range(.[L3], .[L3].End(xlDown))
  8.                 If a = Target Then
  9.                     m = a.Offset(, -2).Value
  10.                     ReDim Preserve AR(s)
  11.                     AR(s) = Application.Transpose(Application.Transpose(a.Offset(, -11).Resize(, T).Value))
  12.                     'Ar(s) = Application.Transpose(Application.Transpose(a.Offset(, -11).Resize(, 8).Value))
  13.                     s = s + 1
  14.                 End If
  15.             Next
  16.         End With
  17.         Range([A9].Resize(, T), [A9].Resize(, T).End(xlDown)).ClearContents
  18.         'Range([A9].Resize(, 8), [A9].Resize(, 8).End(xlDown)).ClearContents
  19.         [C3] = m
  20.         [A9].Resize(s, T) = Application.Transpose(Application.Transpose(AR))
  21.         '[A9].Resize(s, 8) = Application.Transpose(Application.Transpose(Ar))
  22.     End If
  23.     Application.EnableEvents = True
  24. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 17# yen956
轉個彎也可以
  1. Sub Test()
  2.     Test1 Range("H5")
  3. End Sub
  4. Sub Test1(ByVal Target As Range)
  5.     MsgBox Target.Address
  6. End Sub
複製代碼
回復 18# 妤璇
修改一下,試試看
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim Ar(), s%
  3.     Application.EnableEvents = False
  4.     If Target.Address = "$H$5" Then
  5.         With Sheets("出貨清單")
  6.             For Each a In .Range(.[L3], .[L3].End(xlDown))
  7.                 If a = Target Then
  8.                     m = a.Offset(, -2).Value
  9.                     ReDim Preserve Ar(s)
  10.                     Ar(s) = Application.Transpose(Application.Transpose(a.Offset(, -11).Resize(, 8).Value))
  11.                     s = s + 1
  12.                 End If
  13.             Next
  14.         End With
  15.         If s > 0 Then
  16.             [C3] = m
  17.             With [A9:H24]
  18.                 .Cells = ""
  19.                 .Cells(1).Resize(s, 8) = Application.Transpose(Application.Transpose(Ar))
  20.             End With
  21.         Else
  22.             MsgBox "出貨清單 中沒有 " & Target
  23.         End If
  24.     End If
  25.     Application.EnableEvents = True
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表 上一主題