当我运行宏时,它会清空字段中的数据



为什么执行此宏后所有字段都为空?当我运行这个宏时,它会清空字段中的所有数据,但格式正确。它发生在.apply和End with之间,就在活动窗口屏幕之前。我没有写这个宏,任何帮助都将不胜感激。

我已经使用step into功能来查找这种不需要的行为发生在哪里。

Columns("T:AD").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("I:S").Select
Range("S1").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A1:S1000").Select
Range("D1").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Columns("G:G").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Cells.Select
Range("D1").Activate
Cells.EntireColumn.AutoFit
Rows("1:1").Select
Range("D1").Activate
Selection.Font.Bold = True
Cells.Select
Range("D1").Activate
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("P2:P1000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:AD1000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWindow.SmallScroll Down:=-33
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
Range("A28").Select
ActiveWindow.SmallScroll Down:=-75
Rows("2:2").Select
Selection.Delete Shift:=xlUp
End Sub

为什么要这样做:

Columns("I:S").Select

您完全选择了所有列,然后(正如Tin Bum正确提到的那样(删除了这些列剩下的所有内容。

最后,您还完全删除了前两行,但我相信这不是什么大问题。

最新更新