根据单元格

时间:2016-02-02 12:40:13

标签: excel vba

我有一个问题,我有50米长的铁路对齐。我可以根据空间分配该对齐,例如我将对齐每10米分配给列。看起来像这样;

Column A: Column B:   Column C:  Column D:    Column E:      Column F:
 0         10             20          30           40            50

我也有铁路变量的位置。我想将每10米空间50米长的线路分配到立柱中,我想在21米处添加铁轨位置。看起来像这样。

Column A: Column B:   Column C:  Column D:    Column E:      Column F: Column G:
  0         10             20          21         30           40            50

我的意思是当我向单元格输入轨道位置的值时,excel必须控制该值并添加新列(如果excel表单上不存在)。必须如上所示。

有可能吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您没有提到输入数据的位置。如果输入先前数据的数据末尾,则使用以下子。

Sub AddColumn()
Dim LastClmn
LastClmn = Range("A1").End(xlToRight).Address

    Range("A1:" & LastClmn).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1:" & LastClmn), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:" & LastClmn)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

(1)现有数据

enter image description here

(2)添加新数据

enter image description here

(3)运行sub后(我使用了Command Button)。

enter image description here