Board logo

標題: 執行階段錯誤'13' [打印本頁]

作者: ddhh4053    時間: 2012-11-1 22:09     標題: 判斷式

請問判斷某儲存格(工作表1)的值不等於工作表2某欄[A1:A20]的值,程式應該如何寫?
                                                                        謝謝
作者: GBKEE    時間: 2012-11-2 17:17

回復 1# ddhh4053
工作表函數COUNTIF 試試
作者: ddhh4053    時間: 2012-11-2 21:50

已解決 謝謝GBK大大
作者: ddhh4053    時間: 2012-11-3 13:28     標題: 執行階段錯誤'13'

各位麻辣高手:
   小弟是初學者寫了一段程式,用來判斷輸入的數字是否出現在欄位[A1:A100],執行時出現 執行階段錯誤'13' 型態不符
有大大能為我解迷ㄇ 謝謝
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [b2] Then

With Sheets("sheet1")
    Cells(2, 1) = WorksheetFunction.CountIf(Sheets("sheet2").Range("A1:A100"), Cells(2, 2))
     If Cells(2, 1) = 1 Then
Cells(1, 2).Value = Cells(2, 2).Value
  Else
Range("A2").Select
      ActiveCell.FormulaR1C1 = ""
End If
Range("A2").Select
      ActiveCell.FormulaR1C1 = ""
End With
End If


End Sub
作者: kimbal    時間: 2012-11-3 15:08

本帖最後由 kimbal 於 2012-11-3 15:10 編輯
各位麻辣高手:
   小弟是初學者寫了一段程式,用來判斷輸入的數字是否出現在欄位[A1:A100],執行時出現 執行 ...
ddhh4053 發表於 2012-11-3 13:28


Worksheet_Change是放在SHEET1 對吧?
下面簡化了小許, 以代碼上的理解 , 如果SHEET2的A1:A100 有 SHEET1 B2 的值, 就把B2的值寫上B1
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Application.EnableEvents = False
  3.     If Target.Address = [B2].Address Then
  4.         With Sheets("sheet1")
  5.             If WorksheetFunction.CountIf(Sheets("sheet2").Range("A1:A100"), .[B2]) = 1 Then
  6.                .[B1].Value = .[B2].Value
  7.             End If
  8.         End With
  9.     End If
  10.     Application.EnableEvents = true
  11. End Sub
複製代碼

作者: ddhh4053    時間: 2012-11-3 23:00

謝謝kimbal大大
    已解決我的問題 謝謝




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