-1
我對excel vba很新,我想問一下如何改變這個代碼來修改H3:H7單元格(1,2,3,4,5 )值設置爲(1F,2F,3F,4F,5F)以使宏工作?
如果我嘗試修改例如H3單元格的值爲「1F」,我得到「運行時錯誤'13':類型不匹配」,因爲我猜下面的第一個代碼不能處理文本字符串,但我該如何修改代碼?當CLng有文本字符串時,運行時錯誤13不匹配
returnedNumber = CLng(words(iWord, 2)) // How should I modify to handle number and text string too?
Option Explicit
Private Sub CommandButton3_Click()
Dim cell As Range
Dim words As Variant
Dim word As String, number As Long
words = Range("H3", Cells(Rows.Count, "G").End(xlUp)).Value
For Each cell In Range("J3", Cells(Rows.Count, "J").End(xlUp)).SpecialCells(xlCellTypeConstants, xlTextValues)
If FindWord(cell.Value, words, word, number) Then
cell.Offset(, 3).Resize(, 2).Value = Array(word, number)
End If
Next
End Sub
Function FindWord(sentence As String, words As Variant, returnedWord As String, returnedNumber As Long) As Boolean
Dim iWord As Long
Dim word As String
For iWord = LBound(words, 1) To UBound(words, 1)
word = CStr(words(iWord, 1))
If InStr(sentence, word) Then
FindWord = True
returnedWord = word
returnedNumber = CLng(words(iWord, 2))
Exit Function
End If
Next
End Function
非常感謝!這很有幫助,我已將「Dim number As Long」更改爲「Dim number As String」,現在它也可以使用!祝你今天愉快! –
@GálTamás - 發現 - 我忽略了那個。 – YowE3K