Board logo

標題: 如何在指定的定義名稱內指定範圍加總呢? [打印本頁]

作者: dechiuan999    時間: 2010-9-19 17:00     標題: 如何在指定的定義名稱內指定範圍加總呢?

各位大大好:
   在颱風期問,祝福大家都能平安順心。
   小弟有一問題想請問在一工作表內指定了定義名稱為: mySum
其定義名稱範圍: range("a1:b8")
設有
a1:a8內容為: 名稱,a,b,c,d,e,f,g
b1:b8內容為: 數量,10,20,30,40,50,60,70

現要在指定的b9欄位加總b2:b8

請問其二種語法為何呢?
  
語法如下:

Sub aa()
   
    Dim mSht As Worksheet
    Dim mRng As Range
    Dim mRng1 As Range
    Dim mRng2 As Range
   
    Set mSht = Worksheets(1)
   
    With mSht
        Set mRng = .Range("b9")
        Set mRng1 = Range("mysum").Cells(2, 2)
        'MsgBox mRng1.Address
        
        Set mRng2 = Range("mysum").Cells(8, 2)
        'MsgBox mRng2.Address
        
        
        'mRng.Formula = "=sum(mrng1 &":"& mrng2)"   '第一種語法
        'mRng.Formula= "sum(range("mysum").cells(2,2) &":"& range("mysum").cells(8,2))  '第二種語法        
    End With        
        
End Sub

感謝各位大大。
作者: oobird    時間: 2010-9-19 17:16

a = Range("mysum")(2, 2).Address
b = Range("mysum")(Range("mysum").Count).Address
[b9] = "=sum(" & a & ":" & b & ")"
作者: dechiuan999    時間: 2010-9-20 06:43

謝謝版主大大。

小弟引用大大的語法已達成須求。
目前尚在研究是否有其他語法可適用呢。

感恩版主大大!
作者: et5323    時間: 2010-9-20 08:44

With Range("mySum").Columns(2)
    [b9] = Application.Sum(.Value) - .Cells(1, 1)
End With
With Range("mySum").Columns(2)
    [b10] = Application.Sum(.Cells(2, 1).Resize(.Rows.Count - 1, 1))
End With
作者: GBKEE    時間: 2010-9-20 13:12

回復 3# dechiuan999
  1. Sub Ex()
  2.     Dim MySum As String
  3.     MySum = "a1:b8"
  4.     With Range(MySum).Columns(2)
  5.         .Cells(.Rows.Count + 1) = Application.Sum(.Offset(1).Resize(.Rows.Count - 1))
  6.     End With
  7. End Sub
複製代碼

作者: oobird    時間: 2010-9-20 15:30

再提供一個語法:
  [b9] = "=Sum(" & Application.Index([MySum], , 2).Address & ")"
作者: dechiuan999    時間: 2010-9-20 15:58

謝謝各位大大。

小弟會好好研究並加應用。
感恩各位大大!
作者: GBKEE    時間: 2010-9-21 17:36

再提供一個語法:
   = "=Sum(" & Application.Index([MySum], , 2).Address & ")"
oobird 發表於 2010-9-20 15:30

樓主說過: 小弟有一問題想請問在一工作表內指定了定義名稱為: mySum
可直接用工作表公式 [b9] = [Sum(Index(MySum, , 2))]
作者: oobird    時間: 2010-9-21 17:44

一開始也想這樣簡單些,不過樓主兩個語法都是在儲存格寫入公式,才改成公式。
作者: Hsieh    時間: 2010-9-21 18:22

SUM函數會避開文字
[B9] = "=SUM(mysum)"
作者: dechiuan999    時間: 2010-9-22 05:42

謝謝各位版主大大。

小弟真是受益良多。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)