根据E:G的数字(个位数0-9),对比H1:M1的数字,如果H1:M1的数字在E:G里面包含了2个,那么就在H9:M9开始对应的位置返回2,如是包含其它的数量就不管''''''''''''''''如果E:G为空,则为空''''''''''''''''''这是1张工作表的情况,工作表一共有"开始"和"1","2"…….一直到"20",共21个,都是一样的位置和格式''''''''''''''''''''请问这个用字典的方法怎么写啊?
å¯ä»¥H1:M1çå 容å®ä¹6个åå ¸ï¼å 对ä¸ä¸ªå·¥ä½è¡¨ç¼ç¨ï¼è°è¯å®æ¯åæ·»å ä¸å±å¾ªç¯å¨æ¯ä¸ªè¡¨ä¸æ§è¡ã
è°è¯éè¿çç¨åºä»£ç 为ï¼
æ§è¡ç¤ºä¾ç»æï¼
ç¨åºä»£ç ææ¬ï¼
Option Explicit
Sub å®1()
Dim a(), d(8 To 13) As Object, i&, j&, t, st As Worksheet
For Each st In Sheets '对ææå·¥ä½è¡¨
'åæ¢è¡¨ï¼å¹¶è·åå 容å°æ°ç»ä¸
st.Activate
If Range("a1") = "" Then Range("a1") = " "
a = st.UsedRange
For i = 1 To UBound(a)
For j = 1 To UBound(a, 2)
a(i, j) = Trim(a(i, j))
Next j
Next i
'建ç«åå ¸ï¼8-13表示H-Mçåå·
For i = 8 To 13
If Not d(i) Is Nothing Then
d(i).RemoveAll
Else
Set d(i) = CreateObject("Scripting.Dictionary")
End If
a(1, i) = Trim(a(1, i))
For j = 1 To Len(a(1, i))
d(i)(Mid(a(1, i), j, 1)) = 1
Next j
Next i
'循ç¯å¤æ
For i = 2 To UBound(a)
If a(i, 5) <> "" And a(i, 6) <> "" And a(i, 7) <> "" Then
For j = 8 To 13
If d(j)(a(i, 5)) + d(j)(a(i, 6)) + d(j)(a(i, 7)) >= 2 Then
a(i, j) = 2
Else
a(i, j) = Empty
End If
Next j
End If
Next i
'æ°ç»åå表
st.UsedRange = a
Next st
End Sub
追é®è¾è¦èå¸äº.
æ个æ
åµ,å°±æ¯1:8è¡,è¿æ第A:Gåæå
¬å¼,ä¸å¯ä»¥æä»ä»¬é½è½¬åææ°å¼.è¿éº»ç¦ä½ åä¿®æ¹ä¸ä¸.a1没å
¬å¼,æ¯ç©ºç.
è¿åçä½ç½®åªæ¯ä»H9å¼å§
ç²è´´ä¸ä¸ä¿®æ¹åçç¨åºä»£ç ï¼åªæä¸å¾ï¼ææ è®°åºäºä¿®æ¹ç两å¤å°æ¹ï¼åå¤æ¯ä¸¤ä¸ªå°æ¹ça(i,j)ä¿®æ¹ä¸ºCells(i,j)ï¼åä¸å¤æ¯å é¤äºä¸¤è¡ï¼ååæ¯ä¸æ¯é常å°ï¼å¼ºç建议楼主é
读ç解代ç ï¼è¾¾å°ä¸¾ä¸åä¸çææï¼
è¾è¦èå¸äº,æ¯ä¸ªä»£ç æé½ç¨F8å»ä½ä¼ç,ä½æ¯æ¯è¾ç¹æç代ç æå°±æä¼æ··ä¹±äº.
è¿æ¬¡å¥½ååªæä¸ä¸ªè¡¨å¯ä»¥å¡«å
¥,å
¶å®ç表é½ä¸å¡«å
¥äº.
请再丰富一下内容重新提交
不敢回答你的问题, 兜兜都要封我的号。追问
为什么会封号?