返回列表 上一主題 發帖

請幫忙翻譯一下程式

回復 1# 198188
  1. Option Explicit
  2. Sub Ex()
  3.     Dim fs As String, xi As Integer
  4.     fs = "c:\user\destop\b.xlsx"
  5.     'fs = ThisWorkbook.Path & "\b.xlsx"
  6.     'Set wb = Workbooks.Open(fs)
  7.     'With Wb.Sheets("sheet1")
  8.     With Workbooks.Open("d:\book1.xls").Sheets("sheet1")
  9.       For xi = .UsedRange.Cells(.UsedRange.Count).Row To 1 Step -1
  10.              '由小到大:不必 Step  但如要間隔執行如:  Step 5
  11.             MsgBox .UsedRange.Cells(xi, "A").Address  'A欄
  12.       Next
  13.     End With
  14. End Sub
複製代碼

TOP

回復 3# 198188
是文法不是文化.
當日的日期: today()這是工作表函數 ,VBA ->  Date
  1. Option Explicit
  2. Sub ex()
  3.     Dim FRng As Range, Wb As Workbook
  4.     Dim A As Range, Rng As Range
  5.     Dim fs As String, xi As Integer
  6.     fs = "C:\Documents and Settings\USER\桌面\b.xlsx"
  7.     Set Wb = Workbooks.Open(fs)
  8.     Set FRng = Wb.Sheets("sheet1").Range("k:k").Find(Date, lookat:=xlWhole, SearchDirection:=xlPrevious) '在b.xlsx 的K欄尋找等當日的日期的一列
  9.     If Not FRng Is Nothing Then                 '假如找到
  10.         If FRng.Offset(, -3).Value >= 0.95 Then '假如b.xlsx 這列的H欄的值大過或等於0.95
  11.             '*** Workbooks(A)-> A這變數字串沒有見到  ****
  12.             Set Rng = Workbooks(A).Range("a:a").Find(FRng.Offset(, -9), lookat:=xlWhole, SearchDirection:=xlPrevious)   ' 在a.xlsx 的A欄尋找b.xlsx 這列的B欄的值是否存在
  13.             If FRng Is Nothing Then             '假如找不到
  14.                 With Workbooks.Open("a.xlsm").Sheets("outstanding payments")  '   在a.xlsx 的A欄最後一列加上b.xlsx 這列的B欄的值,及   在a.xlsx 的F欄最後一列加上b.xlsx 這列的K欄的值
  15.                     xi = .UsedRange.Cells(.UsedRange.Count).Row
  16.                     .UsedRange.Cells(xi, "A") = FRng.Offset(, -9).Value
  17.                     .UsedRange.Cells(xi, "F") = FRng.Value
  18.                 End With
  19.             End If
  20.         End If
  21.     End If
  22. End Sub
複製代碼
ps: 回覆時 按下[代碼] 將程式碼內容貼上,提交,即可便於查看者,複製程式碼.

TOP

回復 5# 198188
執行上: 有錯誤嗎? 沒有得到你的期望嗎?
沒錯誤,有得到你的期望,那還有什麼??

TOP

回復 21# 198188
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer, j As Integer, fs As String
  4.     Dim Sh(1 To 2) As Worksheet
  5.     Set Sh(1) = Workbooks("A.xlsx").Worksheets("Sheet1")
  6.     i = Sh(1).Range("A1").End(xlDown).Row
  7.     Debug.Print i '印列在 即時運算視窗
  8.     fs = "Y:\2012\shipment 2012\B.xlsx"
  9.     Set Sh(2) = Workbooks.Open(fs).Worksheets("Sheet1")
  10.     j = Sh(2).Range("A1").End(xlDown).Row
  11.     Debug.Print j     '印列在 即時運算視窗
  12. End Sub
複製代碼
EX1.GIF
2012-12-12 11:07

TOP

回復 31# 198188
Cells(列數, 欄數)
   
With Worksheets("customer").Range(Cells(1, 11), Cells( e,12))
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 33# 198188
你須學會程式碼的偵錯.
VBA視窗中,滑鼠移到有錯誤的程序,按F8逐行執行來看將,是那一行程式碼的發生錯誤.

EX1.GIF
2013-4-17 16:58
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 35# 198188
Worksheets("customer") 這工作表找不到???
你程式碼所在的的專案(活頁簿)是與 Worksheets("customer")同一個活頁簿嗎???
如不是須指明(活頁簿)->   Workbooks ("???.XLS").Worksheets("customer").............
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-4-17 17:42 編輯

回復 37# 198188

參考這裡
可能發生這個問題,如果有一個或多個儲存格 (儲存格範圍) 的陣列中包含設定為包含超過 911 個字元的字元字串。
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 40# 198188
試試看
  1. With Worksheets(customer)
  2.     With .Range(.Cells(11, 1), .Cells(e, 12))
  3.         .Borders.LineStyle = 1
  4.         .Borders.LineStyle = 1
  5.         .Borders.ColorIndex = 0
  6.         .BorderAround , 2, 0
  7.     End With
  8. End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 42# 198188
不好意思:2003開啟此2010活頁簿因有太多格式,導致不能正常開啟此活頁簿
可否另存2003版加上問題的說明上傳
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題