請選擇 進入手機版 | 繼續訪問電腦版

COCO研究院

 找回密碼
 註冊
搜索
查看: 509|回復: 0

[EXCEL] 請教VBA語法內若使用EXCEL的計算公式,如何使其只丟回值?

[複製鏈接]
發表於 18-11-28 21:15|載入全部圖片 | 顯示全部樓層 |閱讀模式
請教大大們,假設我將
A 欄為公司名

C 欄訂定公式名為 營收
D 欄訂定公式名為 成本
E 欄=> 毛利
但若不再EXCEL下直接在E欄裡輸入 =營收-成本  時
而是想借用VBA的方法,讓VBA在試算後再丟回值至相關的毛利欄的儲存格.
要怎麼寫呢?
另前提是D欄成本有時抓到的數據會是 -- (非0值)
所以原先我在試算表裡是直接將E欄的公式改寫成
=if(成本="",營收,營收-成本)

然後我在VBA裡兩個寫法如下:
1、
i = Cells(Rows.Count, "A").End(xlUp).Row '計算A欄裡公司名共有幾列
For i = 2 To x
      Cells(i, "E") = "=IF(成本=""--"",毛利,毛利-成本)"   '此後半段主要是從試算表裡直接copy過來
Next
'PS:可是這個程序跑完後,發現他只是將=IF(成本=""--"",毛利,毛利-成本) 這個公式再次套回到毛利的個別儲存格了= ="

------------------------------------------
2、利用錄製的填滿控點

'判定列數後自動將 E2 格之公式(毛利欄的部份)填滿控點
'將E2的公式填滿控點到尾端
  Range("E2").Select
    ActiveCell.FormulaR1C1 = "=IF(成本=""--"",毛利,毛利-成本)"

'判定列數後自動將V2格之公式(本季權益淨額)填滿控點
    i = Cells(Rows.Count, "A").End(xlUp).Row '計算A欄公司代號共有幾列
'將E2的公式填滿控點到尾端
    Range("E2").AutoFill Destination:=Range("V2:V" & i), Type:=xlFillCopy

'結果執行後也是一樣只是把公式丟回EXCEL的儲存格而已..
我想知道要怎麼寫回圈,才能把算完的值丟回去就好..
另外要怎麼在VBA裡直接取用EXCEL的函數呢?可以簡單舉個例子嗎?
例如EXCEL裡有個Sum函數或Count函數,假設在VBA裡正好也要計算這種情況時,如何直接用EXCEL已編好的函數來使用??
謝謝



上一篇︰經濟動能減弱 全球央行緊縮放緩
下一篇︰VBA裡要怎麼直接抓特定名稱的欄位呢?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院  |網站地圖

GMT+8, 18-12-14 13:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
理財討論網站 | 優質玻尿酸隆鼻 專業皮膚科診所 推薦電波拉皮效果 優質淨膚雷射效果 推薦微晶瓷隆鼻 | 徵信社精選| SEO優化|