我已經我想在(剩餘片材)所選擇的行 Excel工作表包含這些數據(附圖) 查找的特定範圍內最後一行的數據練成
所選行是最後一個數據(35,000IQD)在埃爾比勒市。
這意味着我想有最後一排(特定的)城市與特定的(卡式) (有帶卡類型35000埃爾比勒市的兩個數據行,我想給我的最後一個) 謝謝提前。
我已經我想在(剩餘片材)所選擇的行 Excel工作表包含這些數據(附圖) 查找的特定範圍內最後一行的數據練成
所選行是最後一個數據(35,000IQD)在埃爾比勒市。
這意味着我想有最後一排(特定的)城市與特定的(卡式) (有帶卡類型35000埃爾比勒市的兩個數據行,我想給我的最後一個) 謝謝提前。
如果我正確理解你的問題,那麼你就試試這個代碼:
Sub MatchingCityAndCardType1()
Dim City As String, i As Long, Last_Row As Long
Last_Row = Cells(Rows.Count, "E").End(xlUp).Row
For i = Last_Row To 2 Step -1
City = Cells(i, "C").Value
If City = "erbil" And Mid(Cells(i, "E"), 1, 6) = "35,000" Then
MsgBox "The card remaining of " & City & " city with card type " _
& Cells(i, "E").Value & " is " & Cells(i, "J").Value & "."
Exit For
End If
Next i
End Sub
這段代碼的輸出是
按pashew的要求在下面的評論,此代碼應該可以工作
Sub MatchingCityAndCardType2()
Dim City As String, i As Long, Last_Row As Long
Last_Row = Cells(Rows.Count, "E").End(xlUp).Row
For i = Last_Row To 2 Step -1
City = Cells(i, "C").Value
If City = "erbil" And Mid(Cells(i, "E"), 1, 6) = "35,000" Then
'Set the range destination, Range(「A2」), depending on which
'range you want in Sheets(「Remaining」)
Rows(i).EntireRow.Copy Destination:=Worksheets("Remaining").Range("A2")
Exit For
End If
Next i
End Sub
我把這段代碼放在工作表代碼模塊中:主要數據表。
親愛的主席先生,我想在一排 日期城市卡式卡NO將這些值(剩餘表)。免費存儲卡剩餘 27/09/2016埃爾比勒35000 27 1 3個 感謝您的支持 – pashew
@pashew看看我的編輯答案 –
親愛的@阿納斯塔西-諾娃我想這些值在一行中移動(剩餘片材) (27/09/2016/erbil/35,000/27/1/3) 我想將其他人移動到(erbil - 4,8000)(soran - 35,000)(soran-- 48,000) 等等 (最後輸入數據和城市和卡類型的過濾器)您可以選擇最後輸入的數據按日期 在圖片中有3列(erbil-35,000)我想移動最後一個 感謝您的支持 – pashew
有幾個方法,你可以接近這樣的:
這一個使用find
方法速度更快,然後循環。
我假設卡片類型是一個整數值而不是字符串,但是如果它是一個字符串,只是將CardType
更新爲字符串並將值包含在引號中。
Sub FindLastRow()
Dim city As String, FirstAddress As String
Dim CardType As Long
Dim rng As Range
Dim a
city = "erbil"
CardType = 35000
With ThisWorkbook.Sheets("Main Data Sheet")
Set rng = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 10))
End With
With rng
Set a = .Find(what:=city, SearchDirection:=xlPrevious)
If Not a Is Nothing Then
FirstAddress = a.Address
Do
If a.Offset(0, 2) = CardType Then
' Update this part with whatever you want to do to the last row
MsgBox a.Address
Exit Do
Else
Set a = .FindNext(a)
End If
Loop While Not a Is Nothing And a.Address <> FirstAddress
End If
End With
End Sub
親愛的@Tom 我想將這些數值移動到(剩餘紙張)(27/09/2016/erbil/35,000/27/1/3),我想(比爾 - 4,8000)(soran - 35,000)(soran-- 48,000)等等(最後輸入的數據用城市和卡類型的過濾器),您可以選擇圖片中最後輸入的數據有3列(erbil-35,000)我想移動最後一個謝謝你的支持 – pashew
讓我們瞭解您已經嘗試 – RGA
這不是一個免費的編碼服務 – RGA