计算一系列数字出现所需的彩票数量

时间:2017-10-23 21:18:34

标签: excel vba

我正在练习编码并且作为彩票播放器我认为我可能会通过在Excel VBA中制作代码来计算编码的数量,这些代码会计算出我标记为“x”的某个数字,并将数字保存在“计数器”中“只要找不到它,它就会递增。当它被找到时,它将它保存在我用“LineN”和“RowN”光标标记的单元格中,然后它将“Counter”重置为零,“Line”增量从一个绘图移动到下一个绘图。

顺便说一下,我玩6/49抽奖,我有1667抽奖的清单。

第一个错误代码

template<typename T>
class Value {
public:
    T val;
    T* operator->() { return &val; }
};

当前代码:我修改并编辑了我的代码,使其查找1到49之间的值,并将结果放在增量光标Sub Module1() Dim Line As Integer Dim Counter As Integer Dim x As Integer Dim LineN As Integer Dim RowN As Integer LineN = 1674 RowN = 2 Line = 3 Counter = 0 x = 1 Do Until Line > 1669 A = Worksheets("Sheet12").Cells(Line, 2).Value B = Worksheets("Sheet12").Cells(Line, 3).Value C = Worksheets("Sheet12").Cells(Line, 4).Value D = Worksheets("Sheet12").Cells(Line, 5).Value E = Worksheets("Sheet12").Cells(Line, 6).Value F = Worksheets("Sheet12").Cells(Line, 7).Value If A = x Or B = x Or C = x Or D = x Or E = x Or F = x Then Worksheets("Sheet12").Cells(LineN, RowN).Value = Counter RowN = RowN + 1 Line = Line + 1 Counter = 0 Else Counter = Counter + 1 End If Loop End Sub 指向的位置,但由于某种原因它不起作用,它只查找第一个值“1”并在Excel工作表上显示结果然后停止,这意味着LineN没有递增,x也是,就好像循环因某种奇怪的原因而无法正常工作。

有什么想法吗?

LineN

2 个答案:

答案 0 :(得分:1)

我只想发布最终代码,感谢上面的所有答案现在正在完美无缺地按照预期工作,您可以在下面查看。

editEdge

答案 1 :(得分:0)

这是解决问题的不同方向

创建一个数组n(49)并将init设置为零

数组元素为49个数字中的每个数字保存draw#(每次绘制时更新六个数组元素,并将绘制的数字用作数组的索引)

每次绘制一个数字,然后检索并检查相应的数组元素(最后绘制#它被绘制)

从当前抽奖#中减去该值,并根据您的代码记录差异

然后当前的draw#替换了数组元素

中的前一个draw#

示例:数字8在绘图#1中绘制并绘制#14

draw# 1 ...  8,12,21,26,31,44   .... n(8)=1, n(12)=1, n(21)=1, n(26)=1, n(31)=1, n(44)=1
draw# 2 ...  2, 6,23,35,36,39   .... n(2)=2, n(6)=2,  n(23)=2, n(35)=2, n(36)=2, n(39)=2
  .
  .
draw #14...  1, 3, 8,11,13,14   .... n(1)=14, n(3)=14,  n(8) was 1, so record the difference of 13 and update n(8)=14 

这样你每次抽奖只检查六个数字