如何可以讓不是"JPM"不顯示出來,也不會留一行空格?
- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 11# 198188 - Sub nn()
- Dim Ay(), Rng As Range, m$, A As Range, r&, Ar
- With Sheets("Sheet1") '改成正確工作表名稱
- If Application.CountIf(.Range("B:B"), "JPM") > 0 Then '判斷B欄是否有JPM
- .Range("B:B").Replace "JPM", "=1/0", xlWhole '將JPM以公式取代
- Set Rng = .Range("B:B").SpecialCells(xlCellTypeFormulas, 16) '將公式為錯誤值的儲存格設為變數
- Rng.Value = "JPM" '將公式還原成JPM
- For Each A In Rng
- r = A.Row
- m = .Cells(r, "U") & "、" & .Cells(r, "V") & "、" & .Cells(r, "W")
- Ar = Array(.Cells(r, "S").Value, .Cells(r, "T").Value, .Cells(r, "C").Value, .Cells(r, "AA").Value, .Cells(r, "D").Value, .Cells(r, "AB").Value, _
- .Cells(r, "AC").Value, .Cells(r, "AD").Value, .Cells(r, "AE").Value, .Cells(r, "AF").Value, .Cells(r, "F").Value, m, .Cells(r, "X").Value, .Cells(r, "Y").Value, .Cells(r, "Z").Value)
- ReDim Preserve Ay(s)
- Ay(s) = Ar
- s = s + 1
- Next
- Sheets("JPM").UsedRange.Offset(1).Clear '將JPM工作表內容清空
- If s > 0 Then Sheets("JPM").[A2].Resize(s, UBound(Ar) + 1) = Application.Transpose(Application.Transpose(Ay)) '將陣列寫到JPM工作表
- End If
- End With
- End Sub
複製代碼 Match函數如果找不到符合資料就會出錯 |
|
|
學海無涯_不恥下問
|
|
|
|
|
- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 18# 198188
提問時請描述你的需求
光從你的程式碼去猜你的需求會造成很大的差異
看看是否合乎你的需求- Sub sample()
- Dim FRng As Range
- Dim A As Range, Rng As Range
- fs = "C:\Documents and Settings\USER\桌面\HK ETA update.xlsx"
- 'fs = ThisWorkbook.Path & "\HK ETA update.xlsx"'同一目錄時使用
- Set wb = Workbooks.Open(fs)
- With ThisWorkbook.Worksheets("2012")
- For Each A In .Range(.[A2], .Range("A1").End(xlDown))
- Set FRng = wb.Sheets("香港&海防單").Range("A:A").Find(A, lookat:=xlWhole)
- If Not FRng Is Nothing Then
- If FRng.Offset(, 11) <> A.Offset(, 3) Then
- A.Offset(, 3) = FRng.Offset(, 11).Value '讓2012的D欄等於香港&海防單的L欄
- If Rng Is Nothing Then Set Rng = A.Offset(, 3) Else Set Rng = Union(Rng, A.Offset(, 3))
- End If
- End If
- Set FRng = Nothing
- Next
- If Not Rng Is Nothing Then Rng.Interior.Color = RGB(255, 200, 255)
- End With
- wb.Close 0
- End Sub
複製代碼 |
|
|
學海無涯_不恥下問
|
|
|
|
|