返回列表 上一主題 發帖

[發問] 指定D3儲存格,執行排序

回復 1# PJChen
試試看
  1. Sub sorting()
  2.       Workbooks(Workbooks("sorting.xlsm").Worksheets("排序").Range("D3").Value).Activate '先移到這活頁簿
  3.       ''''''    .Activate '要解碼的工作表改成在D3輸入
  4.     With ActiveSheet          ' With 改在這試試看
  5.         Set b = .Range("R4").CurrentRegion
  6.     '  其餘2007 屬性方法 2003 中無法使用
  7.     '
複製代碼

TOP

回復 6# PJChen
請詳看 註解
  1. Sub copy_signed()
  2.     Workbooks(Workbooks("貼簽名.xlsm").Worksheets("EX").Range("D3").Value).Activate '先移到這活頁簿
  3.     '***不用先移到這活頁簿:這程式是在Workbooks("貼簽名.xlsm").Worksheets("EX")中呼叫所以是多餘的程式碼.
  4.     Dim Rng(1 To 3) As Range, xi As Integer
  5.     Workbooks("貼簽名.xlsm").Sheets("Signed").Pictures("Picture 1").Copy
  6.     With ActiveSheet          '**可註解掉   '***  With 改在這試試看  <= 不是告訴你改一改  ****
  7.     .Activate                 '**可註解掉
  8.     With Workbooks("Shipping for ACE.xlsx")  '***改一改成這樣:前面的With ActiveSheet就沒作用
  9.                 '*** .Sheets("PKG") 這點在 With ActiveSheet 是錯誤的 一樣都是工作表
  10.         Set Rng(1) = .Sheets("PKG").[r:r].Find("B. C. MART COMPANY LTD.", LOOKAT:=xlPart).Offset(2, -2)
  11.                         '** 原是指定[S:S]會搜索不到的   **
  12.         Set Rng(2) = .Sheets("INV").[Q:Q].Find("B. C. MART COMPANY LTD.").Offset(2, -2)
  13.         Set Rng(3) = .Sheets("SCD").[B:B].Find("Signature:").Offset(1, 1)
  14.        End With
  15.         For xi = 1 To 3
  16.             Rng(xi).Parent.Activate
  17.             Rng(xi).Activate
  18.             ActiveSheet.Paste
  19.         Next
  20.     End With  '** 可註解掉
  21. End Sub
複製代碼

TOP

回復 8# PJChen
是這樣嗎?
  1. Sub copy_signed()
  2.     Dim Rng(1 To 3) As Range, xi As Integer
  3.     Workbooks("貼簽名.xlsm").Sheets("Signed").Pictures("Picture 1").Copy
  4.     With Workbooks(Workbooks("貼簽名.xlsm").Worksheets("EX").Range("D3").Value)  '改這裡...
  5.         Set Rng(1) = .Sheets("PKG").[r:r].Find("B. C. MART COMPANY LTD.", LOOKAT:=xlPart).Offset(2, -2)
  6.         Set Rng(2) = .Sheets("INV").[Q:Q].Find("B. C. MART COMPANY LTD.").Offset(2, -2)
  7.         Set Rng(3) = .Sheets("SCD").[B:B].Find("Signature:").Offset(1, 1)
  8.         For xi = 1 To 3
  9.             Rng(xi).Parent.Activate
  10.             Rng(xi).Activate
  11.             ActiveSheet.Paste
  12.         Next
  13.     End With
  14. End Sub
複製代碼

TOP

回復 10# c_c_lai
  1. Option Explicit
  2. Sub Ex()
  3.     With Sheet1.Pictures.Insert("D:\EX1.GIF")
  4.         .Height = 150
  5.         .Width = 150
  6.         .Cut
  7.     End With
  8.     Sheet2.Range("B10").PasteSpecial
  9.    ' Sheet3.Range("C10").PasteSpecial
  10.    ' Sheet4.Range("D10").PasteSpecial
  11. End Sub
複製代碼

TOP

回復 18# PJChen
16#  陣列索引超出範圍
  1. With Workbooks(Workbooks("貼簽名.xlsm").Worksheets("EX").Range("D3").Value)  '
  2.    .Activate  '  加這裡...
複製代碼
17# 整著工作表出現copy後的虛線閃動
  1. Application.CutCopyMode = False  '程式結束前加上
複製代碼
18# 每執行巨集一次,存成TXT的檔名Arctic_USA就會重複一次!
  1. Set Rng(2) = .Sheets("Booking").[A1] 'Rng(2) 存檔名稱的儲存格
  2. 'Rng(2) = Rng(2) & "_" & Rng(2).Offset(1) & "_" & Rng(2).Offset(2) 'Rng(2) 存檔檔名須多加[A2]的儲存格名稱
  3. Save_Name = Rng(2) & "_" & Rng(2).Offset(1) & "_" & Rng(2).Offset(2)'改這樣寫
  4. '
  5. '
  6. Set A = Fs.CreateTextFile("P:\TXT\" & Save_Name & ".txt", True) '建立文字檔案
  7. '
  8. '
  9. A.Close
  10. Shell "Cmd /c start P:\TXT\" & Save_Name & ".txt" '自動打開TXT檔
複製代碼

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題