iT邦幫忙

0

EXCEL的問題3

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20190108/20114436y4mOvs8dNm.png
Excel的問題2解決了
再來新的問題又來了
Dim i as Integer
i = 0
For C0 = 12 To 50
Range("K" & C0) = Range("C" & C0 * 1).Value 這個是我想把C欄位的文字的123轉換成數字的123
If (IsNumeric(Range("K" & C0).Value)) Then 判斷K欄位的值是不是數字 是的話
Range("A12").Offset(i).Value = Range("A1").Value 把A1的欄位的值把它放到A12並下一格
i = i + 1
elseIf (Range("C" & C0) = "") Then 不是數字且是C欄位空白就顯示false
Range("A" & C0) = false
End If
Next
這樣寫法卻把空白當成數字0並把文字變成阿斯扣的數字 請問大家如何改才會是B攔位那種排法
PS
VBA的語法跟EXCEL函式不一樣
若是EXCEL可以弄成B攔那樣
就是IF(ISNUMBER(VALUE(C14)),IF(C14<>"",B$1,FALSE),FALSE) 這樣寫法
再去複製貼上
但我想要vba的語法
等於我a攔位沒問題時 我再去改b攔位
希望高手們多多指導

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
paicheng0111
iT邦大師 5 級 ‧ 2019-01-08 18:21:46
最佳解答

幾乎所有常用的EXCEL函式都被包在EXCEL VBA 的WorksheetFunction類別之下。
在VBE中按F2打開瀏覽物件視窗,搜尋isnumber即可看見。

因此,EXCEL中的

=IF(isnumber(c14), "number", "character")

改成VBA大概會是

IF WorksheetFunction.IsNumber(Range("C14").Value) then
    msgbox "number"
else
    msgbox "character"
end if

多謝告知 這資訊真有用

我要發表回答

立即登入回答