2011-06-15 17 views
1

这一次,我有一个单元格保存一个自然数,比如说10.从另一个单元格开始,对于它右侧的9列,我想显示数字1到10.如果我的参考单元格保持20,但是,我想从另一个单元格开始,并在20列中显示数字1到20。我希望你能获得这个要点。未知长度数组到单元格中?

有没有一种很好的方法来做到这一点,首先,没有VBA?如果不是,有没有一种用VBA做到这一点的好方法?是否有一些事件我应该抓住一个细胞,让我手动插入我想要的值?我对Excel和VBA的了解不是很好,如果问题很简单,那么很抱歉。

谢谢大家提前!

回答

2

您将无法使用UDF,因为值在多个单元格中更改。所以最简单的方法(使用VBA)可能与Change事件有关。如果该值是命名范围内“holdvalue”,你想在范围“valueStart”开始的数字,那么这将工作:

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim i As Integer 

If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub 

If Target.Address = Range("holdvalue").Address Then 
    For i = 1 To Range("holdvalue") 
    Range("valueStart").Offset(0, i - 1) = i 
    Next i 
End If 

End Sub 

注:这不涉及结算的值。

+0

对于谁低估了这一点,你可能想看到提问者把VBA标签放在这个问题上。如果你是程序员,你真的应该多加关注。 – 2011-06-16 02:54:58

3

假设数字单元格是A3,并且您想要在F3中开始该系列。在F3中,输入此公式

=IF(COLUMN()-5<=$A$3,COLUMN()-5,"") 

将F3复制并粘贴到右侧(或向右侧填充)以满足您所需的任意列数。如果A3不会超过100,那么请填写106列。如果您想从F以外的列开始,则需要更改公式的-5部分。

2

你可以用公式做到这一点:

=IF(COLUMN()<$A$35+2,COLUMN()-1,"") 

其中$ A $ 35是参考小区,我开始在B列的“另一个单元”如果一开始你就需要调整以后的专栏相应公式中的+2和-1。只需将公式拖出到您希望的最大数量即可,您也可以在参考单元上进行验证,以确保它低于最大数量和整数。

相关问题