註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 無條件捨去問題
返回列表
下一主題
上一主題
發帖
無條件捨去問題
warhead
發短消息
加為好友
warhead
當前離線
UID
5110
帖子
33
主題
10
精華
0
積分
74
金錢
74
點名
0
作業系統
win7
軟體版本
2007
閱讀權限
20
性別
男
在線時間
60 小時
註冊時間
2011-6-9
最後登錄
2024-7-8
中學生
帖子
33
主題
10
精華
0
積分
74
點名
0
作業系統
win7
軟體版本
2007
閱讀權限
20
性別
男
註冊時間
2011-6-9
最後登錄
2024-7-8
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-7-8 15:49
|
只看該作者
無條件捨去問題
請問我要將整頁的數值無條件捨去到小數兩位
With Temp.Range("C2")
.Value = Format(.Value, "0.00")
End With
可以執行,但是寫成以下就為失敗
With Temp.Range("C2:C10")
.Value = Format(.Value, "0.00")
End With
原因是出在哪邊呢?
樓主熱帖
vba 讀取 ftp 裡面的檔案清單
樞紐群組問題
請問樞紐分析表可以做日期的減法嗎
VBA 複製檔案到另一台電腦
Excel 讀取 Word 表格問題
進階篩選日期的問題
excel 撈word裡面的資料
摽註特別日期
陣列回傳
收藏
分享
jackyq
發短消息
加為好友
jackyq
當前離線
UID
21301
帖子
323
主題
6
精華
0
積分
313
金錢
313
點名
0
作業系統
xp
軟體版本
2k
閱讀權限
20
性別
男
在線時間
93 小時
註冊時間
2015-6-24
最後登錄
2026-1-5
中學生
帖子
323
主題
6
精華
0
積分
313
點名
0
作業系統
xp
軟體版本
2k
閱讀權限
20
性別
男
註冊時間
2015-6-24
最後登錄
2026-1-5
2
#
發表於 2016-7-8 18:35
|
只看該作者
Format 參數不能是陣列
TOP
Scott090
發短消息
加為好友
Scott090
當前離線
UID
13127
帖子
533
主題
58
精華
0
積分
613
金錢
613
點名
234
作業系統
win 10
軟體版本
[]
閱讀權限
50
性別
男
在線時間
942 小時
註冊時間
2013-3-19
最後登錄
2026-9-25
高中生
帖子
533
主題
58
精華
0
積分
613
點名
234
作業系統
win 10
軟體版本
[]
閱讀權限
50
性別
男
註冊時間
2013-3-19
最後登錄
2026-9-25
3
#
發表於 2016-7-9 07:25
|
只看該作者
回復
1#
warhead
format(.value,"0.00") 會四捨五入,不會無條件捨去
下列會得到 Range 區域 的 數值 格式 小數點以下2位
With Temp.Range("C2:C10")
. .NumberFormatLocal = "0.00"
End With
TOP
warhead
發短消息
加為好友
warhead
當前離線
UID
5110
帖子
33
主題
10
精華
0
積分
74
金錢
74
點名
0
作業系統
win7
軟體版本
2007
閱讀權限
20
性別
男
在線時間
60 小時
註冊時間
2011-6-9
最後登錄
2024-7-8
中學生
帖子
33
主題
10
精華
0
積分
74
點名
0
作業系統
win7
軟體版本
2007
閱讀權限
20
性別
男
註冊時間
2011-6-9
最後登錄
2024-7-8
4
#
發表於 2016-7-10 08:36
|
只看該作者
我將他跟VLOOKUP一起使用就可以得到我要的結果了
With Temp.Range("C2:C10")
.Value = "=ROUNDDOWN(VLOOKUP(A3,Temp!A:T,3,0),2)
.NumberFormatLocal = "0.00"
End With
只是我單獨使用ROUNDDOWN 跟 FORMAT一樣不能使用在陣列,
但是ROUNDDOWN跟VLOOKUP一起使用卻可以?
TOP
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
5
#
發表於 2016-7-10 12:09
|
只看該作者
回復
4#
warhead
資料量不大,或是不考慮執行速度可以用下列
Sub TEST()
For Each E In Range("A1:A2")
E.Value = Application.WorksheetFunction.Round(E.Value, 2)
Next
End Sub
複製代碼
考量速度,建議用陣列處理完畢之後再一次性輸出
PKKO
TOP
Scott090
發短消息
加為好友
Scott090
當前離線
UID
13127
帖子
533
主題
58
精華
0
積分
613
金錢
613
點名
234
作業系統
win 10
軟體版本
[]
閱讀權限
50
性別
男
在線時間
942 小時
註冊時間
2013-3-19
最後登錄
2026-9-25
高中生
帖子
533
主題
58
精華
0
積分
613
點名
234
作業系統
win 10
軟體版本
[]
閱讀權限
50
性別
男
註冊時間
2013-3-19
最後登錄
2026-9-25
6
#
發表於 2016-7-11 07:45
|
只看該作者
回復
4#
warhead
這是不是你要的?
Dim c
For Each c In Temp.UsedRange
c.Value = IIf(c <> 0, Application.RoundDown(c, 2), "")
Next
TOP
ikboy
發短消息
加為好友
ikboy
當前離線
UID
21753
帖子
262
主題
8
精華
0
積分
280
金錢
280
點名
0
作業系統
xp
軟體版本
Office 2007
閱讀權限
20
性別
男
來自
HK
在線時間
576 小時
註冊時間
2015-8-11
最後登錄
2025-3-24
中學生
帖子
262
主題
8
精華
0
積分
280
點名
0
作業系統
xp
軟體版本
Office 2007
閱讀權限
20
性別
男
來自
HK
註冊時間
2015-8-11
最後登錄
2025-3-24
7
#
發表於 2016-7-11 15:42
|
只看該作者
如確實按無條件捨去處理, 不能用 round
Sub zz()
Dim a, c
a = [a1].CurrentRegion
For Each c In a
Debug.Print Int(c * 100) / 100
Next
End Sub
複製代碼
TOP
靜思自在 :
要用心,不要操心、煩心。
返回列表
下一主題
上一主題
新手測試
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲