缩略语管理

时间:2016-01-30 14:49:06

标签: excel excel-vba excel-2007 vba

我需要处理大量的缩写,因此我想创建一个电子表格,当我在新单元格中输入每个缩写时,所有这些都会自动排序。此外,对应于此类单元格的整行必须按字母顺序排列。

我只是假设这是最好的方法,所以任何想法都会受到欢迎。

1 个答案:

答案 0 :(得分:1)

说我们有类似的东西:

enter image description here

输出编辑程序表示要在 B 列中输入全文,然后在 A 列中输入旁边的缩写。首先将以下子项放在标准模块

Sub Macro1()
   Dim N As Long
   N = Cells(Rows.Count, "A").End(xlUp).Row
   Columns("A:B").Select
   ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A" & N), _
      SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("Sheet1").Sort
      .SetRange Range("A1:B" & N)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
   End With
End Sub

然后将此事件宏放在工作表代码区

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim A As Range
   Set A = Range("A2:A" & Rows.Count)
   If Intersect(Target, A) Is Nothing Then Exit Sub
   If Target.Offset(0, 1) = "" Then Exit Sub

   Application.EnableEvents = False
      Call Macro1
   Application.EnableEvents = True
End Sub

启用宏后,对 A 列中单元格的更改将导致表格重新排序。