所以我试图做一些不可思议的事情,实际上在一个单词表中做一些基本的计算,而不必诉诸于Excel。我已经建立了一段时间的发票生成器,这几乎是我离开的最后一件事。
问题很简单..如何将一个单元格中的数字乘以第二个单元格中的数字,以便在第三个单元格中得到结果?我无法弄明白,但听起来很简单。理想情况下,它会在从一个单元格重新聚焦到另一个单元格后执行。
有什么想法吗?
编辑:
嗯,真的很容易。我需要的只是Val功能。这是代码:
Dim qty1 As Integer
Dim qty2 As Integer
Dim qty3 As Integer
Dim price1 As Integer
Dim price2 As Integer
Dim price3 As Integer
qty1 = Val(ActiveDocument.Tables(5).Cell(2, 2).Range.Text)
qty2 = Val(ActiveDocument.Tables(5).Cell(3, 2).Range.Text)
qty3 = Val(ActiveDocument.Tables(5).Cell(4, 2).Range.Text)
price1 = Val(ActiveDocument.Tables(5).Cell(2, 3).Range.Text)
price2 = Val(ActiveDocument.Tables(5).Cell(3, 3).Range.Text)
price3 = Val(ActiveDocument.Tables(5).Cell(4, 3).Range.Text)
ActiveDocument.Tables(5).Cell(2, 4).Range.Text = qty1 * price1
ActiveDocument.Tables(5).Cell(3, 4).Range.Text = qty2 * price2
ActiveDocument.Tables(5).Cell(4, 4).Range.Text = qty3 * price3
答案 0 :(得分:0)
点击某个按钮
执行您的宏Sub multiply_some_cells()
Dim t1, t2 As table
Dim a, b, m As Double
' first table
Set t1 = ActiveDocument.Tables(1)
' last table
Set t2 = ActiveDocument.Tables(ActiveDocument.Tables.Count)
' note: first row starts at 1, first column at 1
' we pick text from 1st row 2nd column and
' use Val method to convert to appropriate type
a = Val(t1.Cell(1, 2).Range.Text)
' then form some other cell
b = Val(t1.Cell(2, 2).Range.Text)
' note Val stops converting at the first
' character that cannot be interpreted
' as a numeric digit, numeric modifier, numeric punctuation,
' or white space.
' To multiply a number use a Multiplication Operator *
m = a * b
t2.Cell(1, 1).Range.Text = "multiplication " & a & " x " & b & " =" & m
End Sub
如果您决定继续VBA任务,请阅读以下文章: http://visualbasic.about.com/od/learnvba/a/wdvbatble.htm
似乎它与发票任务相同: - )
答案 1 :(得分:0)
Word也是一个电子表格。如果在“帮助”的表中键入“执行计算”,您将看到如何执行此操作。
Word的电子表格比格式化时插入的Excel表格更好。
基本上,方程字段可以引用表格和表格单元格。