我有这段代码应该可以正常工作
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Auswertung")
...
ws.Range(Cells(2, 2), Cells(lastRow, lastCol)).NumberFormat = "0"
Run Code Online (Sandbox Code Playgroud)
但是,如果未选择工作表,则会失败。错误 1004,Methode Range 对于对象失败。
如果我把它改成
ws.Select
ws.Range(Cells(2, 2), Cells(lastRow, lastCol)).NumberFormat = "0"
Run Code Online (Sandbox Code Playgroud)
有用。
为什么?在VBA中我想避免select.
我有一段代码一直工作得很好,但突然停止工作,我不知道发生了什么变化。
我有一个模板工作表,其中包含一些图表和计算。我复制此模板工作表并粘贴任何新数据,以便它以最少的努力轻松完成所有计算和绘图。然而,今天当我测试一些与此操作无关的新功能时(据我所知),它停止工作了。现在,图表不再存在于工作表的副本上。无论我使用 VBA 还是手动复制工作表,都会发生这种情况。
几个月前,我在同事的计算机上看到了类似的问题,但我认为这是由于旧版本的 Windows/Office 造成的。这位同事现在使用这个工作表没有问题,但我从来没有弄清楚是什么改变了他们消除了错误。有谁知道什么可能导致这种行为?我尝试过重新启动计算机、重新启动 Excel,甚至尝试使用我知道有效的旧版本工作表,但问题仍然存在。尽管我知道这曾经有效,但复制时图表并不跟随工作表。这是该工作表的一个非常核心的功能。
由于即使不使用 VBA 也会发生这种情况,因此我不会提供代码示例。在我看来,这必须是某种 Excel 设置,但我无法弄清楚。任何帮助,将不胜感激。
我正在尝试优化为多行运行的 Excel 宏,但不确定是否可以这样做。
基本上,我有一个文件,我在某些单元格中多次运行公式=Rand(),以便确定计算的最佳 alpha。
我正在为不同行中的不同 SKU 运行它,所以在 VBA 中我基本上是这样做的:
Sub Optimization()
'Parameters
MaxX = 0
MaxY = 0
Target = 0.003
'How many calculations should Optimization run
For x = 1 To 1000
Cells(2, 2) = x 'Populate the amount of calculations revised on the specific cell
'SKU X analysis
If Cells(4, 188) > MaxX And Cells(4, 189) <= Target Then alphaX1 = Cells(4, 66)
If Cells(4, 188) > MaxX And Cells(4, 189) <= Target Then alphaX2 …Run Code Online (Sandbox Code Playgroud) 我想使用 Excel VBA 拆分具有多个分隔符的字符串。其中一个字符串是:
Raw String: Surat/Gujarat-India-East(Asia)+Earth.
Intended Result: Surat Gujarat India East Asia Earth.
Run Code Online (Sandbox Code Playgroud)
问题是我们在记录宏时不能使用多个其他分隔符。
任何帮助将不胜感激。
我正在尝试使用 VBA 将公式插入 Excel 工作表,但公式仅插入一张工作表
Sub RunSheets1()
Sheets("Sheet1").Activate
With ThisWorkSheet
Range("B5").Formula = "=SUM(F3,G3,H3,I3,J3)"
End With
Sheets("Sheet2").Activate
With ThisWorkSheet
Range("H6").Formula = "=SUM(F4,G4,H4,I4,J4)"
Range("AC6").Formula = "=SUM(AC4,AD4,AE4,AF4,AG4)"
End With
Sheets("Sheet3").Activate
With ThisWorkSheet
Range("H6").Formula = "=SUM(F4,G4,H4,I4,J4)"
Range("AC6").Formula = "=SUM(AC4,AD4,AE4,AF4,AG4)"
End With
Sheets("Sheet4").Activate
With ThisWorkSheet
Range("H6").Formula = "=SUM(F4,G4,H4,I4,J4)"
Range("AC6").Formula = "=SUM(AC4,AD4,AE4,AF4,AG4)"
End With
Sheets("Sheet5").Activate
With ThisWorkSheet
Range("H6").Formula = "=SUM(F4,G4,H4,I4,J4)"
Range("AC6").Formula = "=SUM(AC4,AD4,AE4,AF4,AG4)"
End With
End Sub
Run Code Online (Sandbox Code Playgroud) 我需要一个代码,它创建一个输出消息框,其中显示输入时间(以秒为单位)的转换。这是针对 Excel 中的 VBA。谢谢。
time = InputBox("Give me your time in seconds: ")
Run Code Online (Sandbox Code Playgroud)
例如,如果给定 7453 秒,则输出框为:
Your time is:
2 hours
4 minutes
13 seconds
Run Code Online (Sandbox Code Playgroud) 试图让X5价值根据L5价值改变。620无论L5值如何,代码都只会返回,有人可以告诉我我做错了什么。
'Change Peak Flow For Age Group
Dim score As Integer, result As String
score = Range("L5").Value
If score => 35 < 40 Then
Range("X5").Value = "620"
Else
If score => 40 < 45 Then
Range("X5").Value = "610"
Else
If score => 45 < 50 Then
Range("X5").Value = "600"
Else
If score => 50 < 55 Then
Range("X5").Value = "580"
Else
If score => 55 < 60 Then
Range("X5").Value = "560"
Else …Run Code Online (Sandbox Code Playgroud) 我为整数值创建了一个数组列表。
List<Integer> xpos = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
将整数添加到数组列表中,如下所示
int bt_x=10;
xpos.add(bt_x);
Run Code Online (Sandbox Code Playgroud)
现在如何删除单个值,即。如何从数组列表中删除一个整数。我们可以使用 arraylist.get(i).remove 删除字符串数组列表。但是如何删除整数数组列表。