返回列表 上一主題 發帖

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

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

各位大大好

小弟近期開始使用VB程式

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

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

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

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

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

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

謝謝

本帖最後由 GBKEE 於 2013-11-8 15:48 編輯

回復 26# owen06
直接寫sheet1,就不能在其他檔案底下執行,因sheet1指這檔案的工作表模組名稱,雖然其他檔案也有sheet1的工作表模組名稱,
這檔案的程式碼中無法引用其他檔案的物件,
須如此
  1. ActiveWorkbook.Sheets ("sheet1") '名稱
  2.     ActiveWorkbook.Sheets (1)        '索引值
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 24# GBKEE


   順便藉這個問題請教一下版主,為什麼這個case,
   我直接寫sheet1,就不能在其他檔案底下執行,
   但如果改成都sheets("sheet1"),就可以通用了,
   請問這是什麼原因呢?煩請賜教,謝謝~

TOP

回復 22# HCG10G8bear


在看了你之前附的圖之後,我想應該找出原因了,
你似乎是有另外用有一個叫personal的excel檔來儲存模組,
然後再開其他excel檔來執行personal裡模組的程式,
而我寫的時候單純的是以在同一個檔案底下的方式來寫的,
並沒有注意到這個狀況,所以才會造成這些問題。

TOP

本帖最後由 GBKEE 於 2013-11-8 13:59 編輯

回復 1# HCG10G8bear
這語法錯誤 Range("2:2,4:4,6:6').NumberFormatLocal = "G/通用格式"
  1. Range("2:2,4:4,6:6").NumberFormatLocal = "G/通用格式"
複製代碼
回復 17# HCG10G8bear
UsedRange是工作表的物件(工作表中已使用的範圍)
工作表模組中使用UsedRange就是指這工作表的UsedRange (但可如:Sheet1模組中輸寫, Sheet2.UsedRange)
在一般模組中(非工作表模組)沒有指明UsedRange的父層(工作表),電腦很笨不會看穿使用者的心思,就說找不到物件
回復 22# HCG10G8bear
PERSONAL模組中程式碼可修改如下
  1. For I = 2 To ActiveWorkbook.ActiveSheet.UsedRange.Rows.Count Step 2
複製代碼
回復 23# HCG10G8bear

SpecialCells方法 本討論區有多篇的討論,也可詳看VBA說明
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 21# Hsieh


超級版主您好

您的程式碼有用 可以正常執行

不過我看不太懂這個地方

Columns("B:B").SpecialCells(xlCellTypeConstants, 1)

可否麻煩您釋疑解惑

謝謝您

TOP

本帖最後由 HCG10G8bear 於 2013-11-8 13:37 編輯

回復 20# owen06

範例檔.zip (14.19 KB)
owen06大

附檔都是公司所查詢的庫存

由公司系統轉成Excel時 各尺寸的數字為文字檔 無法加總

所以發帖詢問要如何將特定的偶數列儲存格轉換成數值

目前執行狀況是不會出現執行階段錯誤

但是執行後也沒有將各尺寸的數字(文字)轉成可計算的數值







不好意思 一直麻煩您

謝謝您

[attach]16637[/attach]

TOP

回復 19# HCG10G8bear
以你的資料特性用特殊儲存格可避免迴圈
  1. Sub ex()
  2. With Sheets("Sheet1")
  3. .Columns("B:B").SpecialCells(xlCellTypeConstants, 1).EntireRow.NumberFormat = "#"  '改變儲存格格式
  4.    With .UsedRange
  5.    .Value = .Value  '重新填入資料
  6.    End With
  7. End With
  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 19# HCG10G8bear


你要不要把你自己使用,有問題的那個檔案放上來讓我們幫你檢查一下?
因為你說的問題我在執行上都沒發生,這樣要隔空把脈是有點困難的。

TOP

回復 18# owen06

owen06大大

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

但是

它的值不會變成數字耶

就是執行後沒有任何變化

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

是還要改語法嗎?

TOP

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