Board logo

標題: 找出row和col問題 [打印本頁]

作者: basarasy    時間: 2010-10-29 13:41     標題: 找出row和col問題

請問大大如何 找出 A1:C5,E6:G10,A11:C15 只有1個儲存格的值是1的就找出它的row和col.
i1=row
j1=col
作者: Hsieh    時間: 2010-10-29 13:51

回復 1# basarasy
  1. Sub nn()
  2. For Each a In Range("A1:C5,E6:G10,A11:C15 ")
  3.   If a = 1 Then i1 = a.Row: j1 = a.Column: Exit For
  4. Next
  5. MsgBox i1 & "    " & j1
  6. End Sub
複製代碼

作者: basarasy    時間: 2010-10-29 17:10

回復 2# Hsieh

謝謝大大.
但我是想要這個.
請問大大這個可以化簡嗎?
  1. Sub nn()
  2. b = 0
  3. For Each a In Range("A1:C5,E6:G10,A11:C15 ")
  4. b = b + WorksheetFunction.CountIf(a, 1)
  5. Next

  6. If b = 1 Then
  7. For Each a In Range("A1:C5,E6:G10,A11:C15 ")
  8.   If a = 1 Then i1 = a.Row: j1 = a.Column: Exit For
  9. Next
  10. End If

  11. MsgBox i1 & "    " & j1

  12. End Sub
複製代碼

作者: Hsieh    時間: 2010-10-29 17:50

本帖最後由 Hsieh 於 2010-10-29 19:43 編輯
  1. Sub nn()
  2. If WorksheetFunction.CountIf( Range("A1:C5,E6:G10,A11:C15 "), 1) = 1 Then
  3. For Each a In Range("A1:C5,E6:G10,A11:C15 ")
  4.   If a = 1 Then i1 = a.Row: j1 = a.Column: Exit For
  5. Next
  6. End If

  7. MsgBox i1 & "    " & j1

  8. End Sub
複製代碼

作者: GBKEE    時間: 2010-10-29 18:01

Sub Ex()
    Dim Rng As Range
    Set Rng = Range("A1:C5,E6:G10,A11:C15").Find(1)
    If Not Rng Is Nothing Then MsgBox "Row " & Rng.Row & " , Column " & Rng.Column
End Sub
作者: Hsieh    時間: 2010-10-29 18:08

回復 5# GBKEE


    加入參數會好一點
    Set Rng = Range("A1:C5,E6:G10,A11:C15").Find(1, lookat:=xlWhole)
作者: basarasy    時間: 2010-10-29 19:26

先謝謝2位大大.
但我想找的是,在A1:C5,E6:G10,A11:C15 只有1個儲存格的值是1的數,多過1個儲存格的值是1的就
不出MSGBOX.
數值1是變數.
作者: GBKEE    時間: 2010-10-29 19:54

回復 7# basarasy
是這樣嗎?
  1. Sub Ex()
  2.     Dim X, E As Range, i%, Rng As Range
  3.     X = 1  'X-> 數值的變數
  4.     For Each E In Range("A1:C5,E6:G10,A11:C15")
  5.         If E = X Then
  6.             i = i + 1
  7.             Set Rng = E
  8.             If i >= 2 Then Exit For
  9.         End If
  10.     Next
  11.     If i = 1 Then MsgBox "Row " & Rng.Row & " , Column " & Rng.Column
  12. End Sub
複製代碼

作者: basarasy    時間: 2010-10-29 20:06

回復 8# GBKEE
是這個了.
非常感謝GBKEE大大.
還有個小問題是如何1次過把所有的 變數=Nothing?
作者: GBKEE    時間: 2010-10-29 20:11

回復 9# basarasy
如何1次過把所有的 變數=Nothing?
可以再說明白些嗎?
作者: basarasy    時間: 2010-10-29 20:15

回復 10# GBKEE

如果有變數A-Z
A=Nothing
B=Nothing
C=Nothing............
可以  ALL=Nothing嗎?
作者: GBKEE    時間: 2010-10-29 20:30

本帖最後由 GBKEE 於 2010-10-29 20:31 編輯

回復 11# basarasy
好像沒有! 如有請各位先建提供.
但程式碼中用 End 以結束程式,也是一種方式.
作者: basarasy    時間: 2010-10-29 20:50

回復 12# GBKEE


    哦.謝謝大大.
原來用 End 結束程式可以做到.又學會了一樣東西><




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)