我在下面的宏中遇到了问题
Sub RefreshAction()
Range("b7").Select
Application.Run "RefreshCurrentSelection"
Application.OnTime (Now() + TimeValue("00:00:05")), "thisworkbook.Action"
End Sub
Run Code Online (Sandbox Code Playgroud)
第一次运行宏时,单元格刷新,但之后立即收到错误消息
消息:无法运行宏“ C \ Desktop \ XYZ.xlsm'!thisworkbook.Action'。该宏可能在此工作簿中不可用,或者所有宏都可能被禁用。
我已经经历过“信任中心->信任中心设置->宏设置->启用所有宏,但是它不起作用。
还单击“对VBA项目对象模型的信任访问”框。
我创建了一个简单的宏来隐藏/取消隐藏Excel中的列(附在下面).它工作正常,但是,当在宏中的列范围内添加列时,应该隐藏的最后一列仍然是未隐藏的.为了使自己清楚:宏中的列范围是AM:BF.当我需要在此范围内添加列时,列BF保持不被隐藏.你能帮助我如何改进代码,以便初始范围的列保持隐藏以及添加的列?
With Columns("AM:BF")
If .EntireColumn.Hidden = True Then
.EntireColumn.Hidden = False
Else
.EntireColumn.Hidden = True
End If
End With
Run Code Online (Sandbox Code Playgroud) 我正在尝试从excel中的特定范围获取jpg文件
我现在正在接受
来自_Worksheet对象的Range方法的1004运行时错误.
这就是我的代码:
Sub Export()
Dim ws As Worksheet
Dim Rng As Range
Dim Chrt As Chart
Set ws = ActiveSheet
Set Rng = Range("B2:H11")
ws.Range(Rng).CopyPicture
Set Chrt = Charts.Add
With Chrt
.Paste
.Export FileName = "Case.jpg", Filtername:="JPG"
End With
End Sub
Run Code Online (Sandbox Code Playgroud) 我有这个代码
Sub fillinvalues()
Dim interest As Double
Dim rate As Double
Dim payment As Double
Dim period As Double
Dim ws As Worksheet
Dim i As Object
Dim begbal As Double
Set ws = Worksheets("Sheet1")
payment = ws.Range("H3").Value
rate = ws.Range("H4").Value
begbal = ws.Range("E3").Value
begbal = 80000
Worksheets("Sheet1").Range("A2").Value = "PaymentNumber"
Worksheets("Sheet1").Range("B2").Value = "Payment/period"
Worksheets("Sheet1").Range("C2").Value = "Principal"
Worksheets("Sheet1").Range("D2").Value = "Interest"
Worksheets("Sheet1").Range("E2").Value = "RemainingBal"
ws.Range("A1:G1").Value = "Monthly Payments at effective monthy interest rate for 25-years"
ws.Range("A3").Value = 0
ws.Range("A3").Select
ws.Range("A3").Activate
period = …Run Code Online (Sandbox Code Playgroud) 在 A 列中,第一个值为 0,第二个值为 0,第三个值为 17,第四个值为 0,第五个值为 32

在这种情况下,第一个非零值是 17。如何通过公式计算它
我正在处理动态填充的 Excel 组合框(嵌入在工作表中)
但有时当我更新里面的列表时它已经“下拉/展开”,显示会变得疯狂。
当我填写并检查列表时,我使用这些:
调整可见行数
If .ListCount > 14 Then
.ListRows = 15
Else
.ListRows = .ListCount + 1
End If
Run Code Online (Sandbox Code Playgroud)显示/展开列表(anyCB 是我的 Sub 中的 Object 参数)
anyCB.DropDown
Run Code Online (Sandbox Code Playgroud)但有时,仍然有 15 条可见的行,但在大 (15) 行内有一个小滑块,可以在一个行中滚动所有行...:/
所以我想知道在更改可见行数之前是否有任何方法可以关闭/展开/收回列表。关于您可以建议的任何其他解决方法(失去焦点,...);)
应该在常规组合框上重现什么:
For i = 0 To 100
anyCB.AddItem (i)
Next i
With anyCB
If .ListCount > 14 Then
.ListRows = 15
Else
.ListRows = .ListCount + 1
End If
End With
anyCB.DropDown
If .ListCount > 0 Then
For i = .ListCount - …Run Code Online (Sandbox Code Playgroud)