我有一个Excel表,我正在滚动它的列以在正确的位置添加新列(按字母顺序排序)然后我想复制表中前一个(或后面)列的所有公式。我试过了:
Columns(x).Copy
ActiveSheet.Paste
但我无法让它发挥作用。基本上我有一个userForm用于输入新列的名称(Cost Center),然后滚动一些列以将其插入正确的位置,如下所示:
Dim CDCName As String
CDCName = txtCDC.Text
Dim Tbl As ListObject
Dim Col As ListColumn
Dim Position As Integer
For Each Col In Tbl.ListColumns
If Col.Index > 5 And Col.Index < Tbl.ListColumns.Count - 3 Then
If Col.Range(1, 0).Value > CDCName Then
Position = Col.Index - 1
Set NewCol = Tbl.ListColumns.Add(Position)
Col.Range(1, -1).Value = CDCName
Unload Me
MsgBox "Cost Centre " & CDCName & " added to table"
Exit For
End If
End If
Next
我想我设法使用以下方法解决它:
Tbl.ListColumns(Position - 1).Range.Copy Tbl.ListColumns(Position).Range
用我的第一个例子中的Set NewCol = Tbl.ListColumns.Add(Position)添加列之后