Excel 宏打开旧工作簿
我使用的工作簿是旧工作簿的更新副本。当我在新工作簿中运行宏时,它似乎运行得很好,但它也会打开旧工作簿。我希望这不会发生Excel 宏打开旧工作簿,excel,vba,Excel,Vba,我使用的工作簿是旧工作簿的更新副本。当我在新工作簿中运行宏时,它似乎运行得很好,但它也会打开旧工作簿。我希望这不会发生 新工作簿名为LOG.xlsm 旧工作簿称为应用程序日志宏.xlsm。它与新工作簿位于同一文件夹中 我正在运行Excel 2016 请帮帮我,我想我需要更改代码以确保活动工作簿是LOG.xlsm 代码如下: Sub SortApps() ' ' SortApps Macro Application.Goto Reference:="AppsTable" ActiveWorkb
- 新工作簿名为LOG.xlsm
- 旧工作簿称为应用程序日志宏.xlsm。它与新工作簿位于同一文件夹中
- 我正在运行Excel 2016
Sub SortApps()
'
' SortApps Macro
Application.Goto Reference:="AppsTable"
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add _
Key:=Range("AppsTable[NOTES]"), SortOn:=xlSortOnCellColor, Order:= _
xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(1).SortOnValue
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 0
.Gradient.ColorStops.Clear
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(1).SortOnValue.Gradient.ColorStops.Add(0)
.Color = 16763391
.TintAndShade = 0
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(1).SortOnValue.Gradient.ColorStops.Add(1)
.Color = 16738047
.TintAndShade = 0
End With
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add _
Key:=Range("AppsTable[NOTES]"), SortOn:=xlSortOnCellColor, Order:= _
xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(2).SortOnValue
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 180
.Gradient.ColorStops.Clear
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(2).SortOnValue.Gradient.ColorStops.Add(0)
.Color = 3394611
.TintAndShade = 0
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(2).SortOnValue.Gradient.ColorStops.Add(1)
.Color = 3407718
.TintAndShade = 0
End With
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[STAT]"), xlSortOnCellColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(204, 0, 102)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[STAT]"), xlSortOnCellColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(204, 153, 255)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add _
Key:=Range("AppsTable[T2]"), SortOn:=xlSortOnCellColor, Order:= _
xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(5).SortOnValue
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 270
.Gradient.ColorStops.Clear
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(5).SortOnValue.Gradient.ColorStops.Add(0)
.Color = 14202006
.TintAndShade = 0
End With
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields _
(5).SortOnValue.Gradient.ColorStops.Add(1)
.Color = 9592886
.TintAndShade = 0
End With
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[NOTES]"), xlSortOnCellColor, xlDescending, , xlSortNormal). _
SortOnValue.Color = RGB(218, 238, 243)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[STAT]"), xlSortOnCellColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(242, 220, 219)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[RI DUE]"), xlSortOnFontColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(192, 0, 0)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[STAT]"), xlSortOnCellColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(247, 150, 70)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add( _
Range("AppsTable[STAT]"), xlSortOnCellColor, xlAscending, , xlSortNormal). _
SortOnValue.Color = RGB(255, 235, 156)
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add _
Key:=Range("AppsTable[APP DT]"), SortOn:=xlSortOnValues, Order:= _
xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort.SortFields.Add _
Key:=Range("AppsTable[SSN]"), SortOn:=xlSortOnValues, Order:=xlAscending _
, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Apps").ListObjects("AppsTable").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("K9").Select
ActiveWindow.SmallScroll Down:=21
Range("AppsTable[NOTES]").Select
ActiveWindow.SmallScroll Down:=-39
Selection.Rows.AutoFit
Range("A9").Select
End Sub
提前感谢您的建议!我相信这很简单,但这让我感到很困惑,因为(惊讶)我不知道自己到底在做什么“”如果在创建新工作簿时从旧工作簿中复制了工作表,则新工作簿中可能存在对旧工作簿的内部引用。首先按照此处的说明排除这种可能性。是否确实在新工作簿中运行宏?(例如,如果您有一个按钮来调用宏,而您将该按钮留在调用
'Application Log macro.xlsm'!sortaps
,则按下该按钮将要做的第一件事就是打开Application Log macro.xlsm
)@YowE3K-想法不错,这正是问题所在。非常感谢!TYSM的帮助。原来问题是我使用了旧工作簿中的快速访问按钮来运行宏,但我认为您的建议将对我现在使用的另一个工作簿有所帮助。