返回列表 上一主題 發帖

[發問] 請問如何將偶數列的文字轉成數值(已有基本語法 但不會組合)

[發問] 請問如何將偶數列的文字轉成數值(已有基本語法 但不會組合)

各位大大好

小弟近期開始使用VB程式

因為是以需求導向為主 現在多用錄製巨集在去修改

現在希望能將偶數列的文字(是數字)轉成數值(可以加總的類型)

目前是用土法煉鋼法選取偶數列  Range(" 2:2,4:4,6:6 ").select

爬文了解使用函數 =mod(row(),2)=0 可以一次選取偶數列

轉換數值的語法   Range("2:2,4:4,6:6').NumberFormatLocal = "G/通用格式"

到這邊小弟就卡關了 不知道是否有解決方法

謝謝

先謝謝各位大大的回覆

Baracuda及owen06大大的方法好像是類似的

我會盡快試試看

tpwhdavid大感謝您不吝將程式碼直接寫出來給我

我會去試試看的

如果有問題會在詢問各位

謝謝大家

TOP

回復 4# tpwhdavid

tpwhdavid大大您好

我執行您提供的語法

出現"溢位"的問題提示框

不知道出了什麼問題

我想我還是把檔案上傳請大大看一下好了

TOP

各位大大好

我將檔案上傳了

先解釋一下碰到的問題

D2:J2,D4:J4..............D52:J52

這些儲存格的數字皆無法計算(已使用儲存格格式→數字→數值,依然沒用)

必須使用NumberFormatLocal = "G/通用格式" 的語法才能轉成可計算的數值

先前已有先用mod(row(),2)=0 的語法選取偶數列去做文字轉述值的變換

但碰到D2:J2.....D52:J52的儲存格沒有數字時,會將A2,A4.....A52的值帶入空缺的儲存格

現在想改成直接選取D2:J2,D4:J4,........D52:J52

並作文字轉述值的動作

想請問各位大大該如何執行

謝謝各位的幫忙

感激不盡

偶數列特定儲存格.zip (3.41 KB)

TOP

本帖最後由 HCG10G8bear 於 2013-11-5 08:59 編輯
回復  HCG10G8bear

改這樣子就行了
Sub TEST()
For I = 2 To UsedRange.Rows.Count Step 2
Cells(I, ...
owen06 發表於 2013-11-4 13:31


owen06大大 謝謝您的回覆

按照您的程式確實可以執行

但您的程式我有點不懂 希望您釋疑

For Next 是執行迴圈的函數

Sub TEST()
For I = 2 To UsedRange.Rows.Count Step 2                     
Cells(I, 4).Resize(1, 7).NumberFormatLocal = "G/通用格式"   
Cells(I, 4).Resize(1, 7) = Cells(I, 4).Resize(1, 7).Value        
Next
End Sub

'從第二列開始的偶數列 延伸到有使用的儲存格到最後一列  count step 2 不懂是什麼
'Cells(I,4)是儲存格D2 Resize不知道為何 將(1,7)改為(1,20)即可將數值化D2往右延伸
'轉換文字的數字成數值化的數字

請問我這樣解釋哪裡有問題?不懂的地方還請大大指導

謝謝大大不吝教導

真的非常感謝您 省了我好多的時間

TOP

回復 8# owen06

owen06大大

我使用工具→巨集→VB編輯器     檢視→程式碼

貼上大大您提供的程式碼 在到Excel sheet執行巨集 可以執行成功

但是只要將巨集儲存

在執行TEST巨集 會出現   執行階段錯誤'424': 此處需要物件

請問是發生什麼問題了呢

謝謝

TOP

回復 12# owen06


OWEN06大大

謝謝您的解釋 我學到很多喔

副檔我之前有上傳了

偶數列特定儲存格.zip

再麻煩你幫我CHECK一下

謝謝您不厭其煩的幫忙

謝謝

TOP

本帖最後由 HCG10G8bear 於 2013-11-7 10:59 編輯

回復 15# ML089

謝謝兩位大大幫我測試

我想我找到問題了

我只要將程式放到 專案→偶數列特定儲存格→sheet1 可以執行沒問題


但是只要把程式放到 PERSONAL→模組→Module1    就會發生執行階段錯誤


如果不能存到PERSONAL 就沒辦法後續的程式應用了

請問這是發生什麼問題了呢

TOP

回復 16# HCG10G8bear

這樣可以執行成功

這樣就失敗了

TOP

回復 18# owen06

owen06大大

這樣子執行就不會發生執行階段錯誤了

但是

它的值不會變成數字耶

就是執行後沒有任何變化

我看了好久 好像也沒有地方少sheet1

是還要改語法嗎?

TOP

        靜思自在 : 修行要繫緣修心,藉事練心,隨處養心。
返回列表 上一主題