Dim mm As String
Dim lstRow As Integer
Set ws1 = ast.Sheets("Exit")
lstRow = ws1.Range("S" & ws1.Rows.Count).End(xlUp).Row
Dim i As Integer
For i = 2 To lstRow
**If Len(ws1.Range("S" & i).Value) = 6 Then**
mm = Left(ws1.Range("s" & i).Value, 3)
ws1.Range("T" & i).Value = mm
ws1.Range("T" & i).Interior.Color = vbRed
End If
Next
我打算帶上3列字母的S列值,並將這些字母表帶出紅色的T列。但我在**行中遇到類型不匹配錯誤。 ast是文件名,ws1是工作表名稱。類型不匹配錯誤13在獲取值的長度時
如果您在問題行之前放置了'Debug.Print Len(ws1.Range(「S&i).Value),那麼在立即窗口上會出現什麼? – Smandoli
對我來說根本沒有意義...仍然嘗試將所有「整數」更改爲「長」[爲什麼使用整數而不是長](http://stackoverflow.com/questions/26409117/why- use-integer-instead-of-long/26409520#2640952)...可能有一個無聲的溢出...也嘗試在你的前面有一個Debug.Print ws1.Range(「S」&i).Value' error-line ...如果沒有錯誤,那麼'Len'不會出錯(理論上) –
@Smandoli只是一個提示:在直接窗口中,可以用'?'代替'Debug.Print' :) –