返回列表 上一主題 發帖

[發問] 菜鳥請問~

[發問] 菜鳥請問~

小弟有個問題,看了1個晚上的網路資料,還是想不到要怎麼簡化~
想請問各位老師:
我的想法是在excel第cells(i,1)中比對特定字串(大約1組有5~10字串,大約有5組),
例如A組(有TA11,TA16,TA18~)
B組有(TA12,TA13,TA19,TA58~)
C組~
n組。
=>字串中,數字及英文字無規律及規則性。
找到那一組中的字串後在cells(i,3)代入該組的"特定字串",
我試寫巨集如下:
(我是要看有辨法簡化if 條件式中的比對字串)
Ps:我還未把所有要比對的字串放上來,放上去會蠻多的:L 。

Sub AAA()
Dim i As Integer
For i = 1 To 10000
If Cells(i, 1) = "TA11" Or Cells(i, 1) = "TA16" Or Cells(i, 1) = "TA18" Then
Cells(i, 3) = "YES"
ElseIf Cells(i, 1) = "TA12" Or Cells(i, 1) = "TA13" Or Cells(i, 1) = "TA19" Or Cells(i, 1) = "TA58" Then
Cells(i, 3) = "YES,sir"
ElseIf Cells(i, 1) = "CA11" Or Cells(i, 1) = "CA16" Or Cells(i, 1) = "CA18" Or Cells(i, 1) = "CA28" Then
Cells(i, 3) = "you right!!"
ElseIf Cells(i, 1) = "AA31" Or Cells(i, 1) = "AA56" Or Cells(i, 1) = "AA18" Or Cells(i, 1) = "AA68" Then
Cells(i, 3) = "HI"
Else
Cells(i, 3) = "NO"
End If
Next

End Sub
請教老師了~~感謝,感謝!!!

編個〔對照表〕,
使用 VLOOKUP 就簡單許多~~

TOP

http://blog.xuite.net/hcm19522/twblog/214357857
參考即可

TOP

版大~了解!
我用vlookup試寫了一下,我才發現跟用excel一點都不同。
不過終於試出來了~不知還有改進的空間嗎?

Sub vlookup()
Dim data As Range
Set data = ['對照表'!$A$1:B$100]
For i = 2 To 1000
Cells(i, 2) = Application.vlookup(Cells(i, 1), data, 2, 0)
Next
End Sub

TOP

回復 4# amd8000x

剛學過..現學現賣
vlookup沒找到會回傳錯誤所以要加個料
Dim  j As Variant
k=Cells(i, 1)
j=Application.vlookup(k, data, 2, 0)
If Not IsError(j) Then
Cells(i,2)=j
End If

TOP

回復 1# amd8000x
  1. Sub AAA()
  2.     Dim i As Long, arData
  3.     Const GROUP_A = Array("TA11", "TA16", "TA18")
  4.     Const GROUP_B = Array("TA12", "TA13", "TA19", "TA58")
  5.    
  6.    
  7.     arData = Range("A1").Resize(Cells(Rows.Count, 1).End(xlUp).Row, 3).Value
  8.     For i = 1 To UBound(arData)
  9.         If Not IsError(Application.Match(arData(i, 1), GROUP_A)) Then
  10.             arData(i, 3) = "YES"
  11.         ElseIf Not IsError(Application.Match(arData(i, 1), GROUP_B)) Then
  12.             arData(i, 3) = "YES,sir"
  13.         End If
  14.     Next
  15.     Range("A1").Resize(UBound(arData), 3).Value = arData
  16. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題