我想在vba
上寻求帮助,因为我从未工作过,也没有任何编程经验,需要它来分析大量数据。
我有3列,
我真正想要的是在另一个单元格(如range.value
)中获取使用0 pulse
获得的位置的平均值,然后转到80 pulse
并执行相同的操作转到下一个0
并执行相同操作,依此类推......
是否有可能获得pulse 80
在每种情况下发生的时间值?
谢谢! 中号
答案 0 :(得分:0)
我不明白你的追求。我想我对数据有所了解,但还不足以猜测你想用它做什么。
然而,如果有人确实理解你所寻求的东西,我不相信他们会为你写一个宏来帮助他们。它可能会解决今天的问题,但你不会为明天的问题做好准备。
你必须学习VBA。在互联网上搜索“Excel VBA教程”。有许多;一些不好的东西。尝试一下,看看哪种适合您的学习方式。或者访问一个好的书店或图书馆,然后选择Excel BVA Primer。再多选择。图书馆的优势在于您可以在购买自己喜欢的图书馆之前先尝试一下。我喜欢在架子上放置参考书,这是我的方法。
掌握基础知识不会花费很长时间,学习投资将很快得到回报。我相信,如果不了解基础知识,您将无法理解在此处或其他地方找到的任何有用代码。
您必须自己设计程序。我从您的描述中猜测您的数据如下:
Time Positions Pulses
xxxx yyyy 0
xxxx yyyy 10
xxxx yyyy 50
xxxx yyyy 80
xxxx yyyy 0
xxxx yyyy 20
xxxx yyyy 60
xxxx yyyy 80
xxxx yyyy 0
xxxx yyyy 30
xxxx yyyy 40
xxxx yyyy 50
xxxx yyyy 80
您没有告诉我们Time
和Position
列的格式或内容。我相信你有很多子表,第一行有0 Pulses
,最后一行有80 pulses
。您没有告诉我们每个子表是否有固定或可变数量的行。
如果每个子表有固定数量的行,那么简单的For-Next
循环就足够了:
Const RowsPerSubTable As Long = 5
Dim RowStart As Long
Dim RowEnd As Long
Dim RowLast As Long
For RowStart = 2 To RowLast Step RowsPerSubTable
RowEnd = RowStart + RowsPerSubTable - 1
' Process sub-table RowStart to RowEnd
Next
每个子表的行数可变,您必须搜索80 pulses
行。这会有点复杂,但并不多。
以上是非常基本的VBA。任何教程或入门都会在早期阶段引入For-Next
循环。
我希望上述内容使您确信您的要求并不难实现,只需稍加研究就可以自己完成大部分编程。
如果您遇到问题,请回复您的代码并解释为什么它无法正常工作。这是该网站专门研究的问题类型。