首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA宏编译错误

VBA宏编译错误
EN

Stack Overflow用户
提问于 2017-08-03 16:35:20
回答 1查看 109关注 0票数 1

我试图编写一个简单的VBA宏,该宏将接受活动单元格的列和用户的输入,以便在一行中添加一系列单元格。通过将用户输入的整数添加到活动列,即end列,计算范围。问题是,当我运行它时,它会给我一个“编译错误:无效限定符”,并对‘总计’行感到愤怒。

这是我的密码。我刚开始学习VBA,但不可能是hard....right吗?

代码语言:javascript
运行
复制
Sub Food()
Dim first As Variant
Dim last As Integer
Dim days As Integer
Dim month As Range
Dim total As Double
first = ActiveCell.Column
days = InputBox("Days in the month?")
last = first + days
Set month.Value = Range(Cells(first, 4), Cells(last, 4))
total.Value = WorksheetFunction.Sum(month)
Worksheets(1).Cells(1, 13).Value = total
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 16:38:07

看上去是语法错误。尝试将.value放在monthtotal上。

代码语言:javascript
运行
复制
Sub Food()
Dim first As Variant
Dim last As Integer
Dim days As Integer
Dim month As Range
Dim total As Double
first = ActiveCell.Column
days = InputBox("Days in the month?")
last = first + days
Set month = Range(Cells(first, 4), Cells(last, 4))
total = WorksheetFunction.Sum(month)
Worksheets(1).Cells(1, 13).Value = total
End Sub

如果要将范围的值输入变量,则将.value与范围放在一起,而不是使用变量。例如:

代码语言:javascript
运行
复制
x = cells(1,2).value

.value属性返回range对象中的值。因此,在函数上使用它是没有意义的,如果您尝试使用它,会导致excel抛出和出错。尝试将month变量设置为值而不是范围也是没有意义的,因为这只会使它成为一个数组。如果希望month是一个数组,则需要将其设置为变体而不是范围。

有关.value属性的更多信息,请参见以下链接:https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-value-property-excel

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45490000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档