2017-04-18 47 views
-1

我试图让细胞在视觉上代表一个随机数字集,这是能够扩展向外基于while循环(让尽管只是将这个网格设为5x5网格,但我可以根据需要进行更新)。例如:如果我的中心活动单元格是一个数字= randbetween(1,10),其中1-9的答案在它周围的相邻单元格中放置更多的随机数字1-10。但是,如果值为“10”我希望这个单元格周围的单元格没有填入以使它们之间的公式为= randbetween(11,20)。我似乎无法弄清楚如何做到这一点,而不会覆盖所有内容,只是一组数字。从一个起始的ActiveCell,如何随机生成周围的细胞,并进一步随机生成一个特定的值

从这个答案也可以用于非随机使用(例如,如果有人想要显示如果在一个空间有椅子,然后他们知道表或垃圾桶等将在接下来的空间到它)

感谢您看看我的问题!

它应该是这样的,当它完成:

enter image description here

+3

欢迎来到SO!看来你误解了这个网站的全部内容。请花点时间阅读[问],然后在问这里之前浏览[help/on-topic]所需的所有知识。 –

+0

呃哦,我可能错过了一些东西,谢谢你让我知道什么是错误的,因为这是我第一次发布到网站。我读了如何问,我想知道如果我违反了规则:你的答案与问题一起提供,你期待更多的答案:“我用______为______,你用什么?” – Dasheno

+0

或者这是错误的堆栈交换站点(我打算把它放在excel VBA子站点中)。或者,我可能会把这个问题放在如何解决的问题上。或者是这个问题已经提出,我刚刚找不正确?感谢您花时间帮助我了解如何改善与本网站的互动,并为我缺乏经验而道歉。 – Dasheno

回答

0

寻找到这一段时间之后,我想我会分享结束了,我的工作是赎罪:

Dim k As Single 'Total Move Count 
    Dim x As Single 'Starting point of spiral 
    Dim bool As Boolean 'Boolean for direction change 
    bool = True 'starts boolean as true 
    k = 1 'starts count at 1 
    x = 0 ' starts position as 0 
    Dim i As Single 
    i = 1 
    Dim j As Single 
    j = 1 

    Do While x <= 10 

     For n = 0 To k 
      If bool = True Then 
      ActiveCell.Value = "=randbetween(0,100)" 
      ActiveCell.Offset(0, 1).Select 'Move Right 
      i = i + 1 
      Else 
      ActiveCell.Value = "=randbetween(100,200)" 
      ActiveCell.Offset(0, -1).Select 'Move Left 
      i = i - 1 
      End If 
     Next n 

     For n = 0 To k 
      If bool = True Then 
      ActiveCell.Value = "=randbetween(200,300)" 
      ActiveCell.Offset(1, 0).Select 'Down 
      i = i + 1 
      ActiveCell.Value = "=randbetween(300,400)" 
      ActiveCell.Offset(-1, 0).Select 'Up 
      i = i - 1 
      End If 
     Next n 

    k = k + 1 
    bool = Not bool 
    'MsgBox bool 
    x = x + 1 
    Loop 

我希望这可以帮助别人!