在VBA编写方面,我是一个完全新手,一直在寻找可以用来解决问题的运气答案。我已经看到了一些相关的问题,但没有任何解决方法。
我有一个录制的宏,该宏通过使用连接函数简单地将前导0添加到数字。我正在使用相对引用,以便该宏将在列A中选择的任何单元格上运行。如果我想为每个单元格一个前导地添加一个前导零,这将起作用。但是,我希望能够简单地选择要向其添加前导0的AI列中的单元格,然后立即在所有选定的单元格上运行宏。任何帮助是极大的赞赏!
Sub leadingzerotake2()
ActiveCell.Offset(0, 10).Range("A1").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(""0"",RC[-10])"
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(0, -10).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, 10).Range("A1").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveCell.Offset(0, -10).Range("A1").Select
End Sub
Run Code Online (Sandbox Code Playgroud)
谢谢!!!
首先,我有多个带有值和公式的工作表。我已经使用 VBA 来提取干净的数据,效果很好。例如“Sheet1”,从第 3 行到第 100 行以及从 H 列到 K 列是我拥有值的位置。现在,我在第 3 行和 B 到 F 列上有一个公式,该公式链接到 H 到 K 列上的值。我在复制第 3 行并将公式粘贴到工作表上的最后一行时遇到问题。
其次,我有 12 张工作表。它们具有与“表 1”不同的值和公式。但我希望将相同的操作应用于所有 12 张工作表,例如“工作表 1”。
这是我用来复制和粘贴我的值的代码(但它只复制一行。我希望它转到工作表的底部):
Sub formula_format (data_sheet As String, row_num_start As Integer, column_num_start As Integer, row_num_end As Integer, column_num_end As Integer)
Sheets(data_sheet).Select
For Row = row_num_start To row_num_end
If Cells(Row, column_num_start).Value2 = "" Then
Range(Cells(Row - 1, column_num_start), Cells(Row - 1, column_num_end)).Copy
ActiveSheet.Cells(Row, column_num_start).Select
ActiveCell.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个宏生成宏,它生成的宏采用可变数量的参数.
我想知道是否有办法使以下代码工作:
(define-syntax-rule (greet name)
(define-syntax-rule (name args ...)
(printf "hello ~a~n" (list args ...))))
Run Code Online (Sandbox Code Playgroud)
现在,它说:"没有pattern variables之前ellipsis在template在:..."
如果我单独使用内部define-syntax-rule它可以正常工作,那么为什么当它由另一个宏生成时它不起作用?
我尝试过这样的事情:
const b: Box<i32> = Box::new(5);
Run Code Online (Sandbox Code Playgroud)
这让我在常量中调用函数仅限于struct和enum构造函数.
我也试过了
const b: Box<i32> = box 5;
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,说我应该使用Box::new.有没有办法做到这一点?我需要一个盒子,因为它在一个结构中,结构需要一个盒子.
编辑:我知道这Box::new是一个功能,我不能在一个const项目中使用它.但有另一种方式来创建一个盒子被允许的?
我试图找出是否有一种方法可以在Excel宏中运行一个简单的函数(TRIM去除重复的空格字符),因此它直接在单元格上执行,所以我不必创建一个额外的列TRIM前一列的功能.
它应该适用于选定的列或仅选定的单元格
Sub trim()
ActiveCell.FormulaR1C1 = "=trim(R1C1)"
End Sub
Run Code Online (Sandbox Code Playgroud) 我遇到了 BSL 问题。我想将我的代码分成单独的辅助文件并使用
\n\n(require "auxiliary-function.rkt") \nRun Code Online (Sandbox Code Playgroud)\n\n首先将分离的代码导入到定义区域。然而它并没有像想象的那样工作。虽然没有给出明确的错误,但似乎 DrRacket 根本看不到单独文件中的代码,而我看到的只是错误
\n\n<auxiliary-function-name>: this function is not defined \nRun Code Online (Sandbox Code Playgroud)\n\n显然,
\n\n(provide x)\nRun Code Online (Sandbox Code Playgroud)\n\n不包含在 BSL 中。我已经阅读了手册和这个答案,但 xe2x80x99s 仍然不清楚如何进行这项工作。这在 BSL 中可能吗?
\n\n谢谢!
\n我在Dr-Racket中编写了一个简单的代码,但它无效.这是代码:
(place-image (circle 5 "solid" "green")
50 80
(empty-scene 100 100))
Run Code Online (Sandbox Code Playgroud)
我选择了BSL语言进行编译,但它给出了以下错误:
place-image:此函数未定义
出了什么问题?
我在名为 report 的工作表上建立了一个数据验证列表,每次从列表中选择一个项目时,我都需要运行一个宏。现在我有下面的代码,但它不起作用。它确实在 VBA 中运行,但是当我在工作表中选择项目时它不会运行,似乎我没有参考宏
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(True, True) = "$B$3" Then
Select Case Target
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case Else
'Do Nothing
End Select
End If
End Sub
Run Code Online (Sandbox Code Playgroud) 我的代码目前为:
Sub delsheets()
For i = 1 To 9 Step 1
Worksheets(i + 3).Delete
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
我的工作簿总共有12张.
我已经步入宏观并且通过在步骤2中向后删除纸张来执行宏,即使我已经指定了步骤1-即删除的进展:纸张12,纸张10,纸张8,纸张6,纸张4.
我不知道为什么会发生这种情况,我希望我的宏能够以正常的方式执行.
我非常感谢为什么会发生这种情况!
我想要做的是定义一个列表,例如 (define lst '(1 2 3 4 5 6)) 然后调用 (split lst) 它将返回 '((1 3 5) (2 4 6))。
一些例子:
lst是'(1 2 3 4 5 6),它应该返回'((1 3 5) (2 4 6))lst是'(1 2 3 4 5 6 7),它应该返回'((1 3 5 7) (2 4 6))lst是'("a" "little" "bit" "of" "that" "to" "spice" "things" "up"),它应该返回'(("a" "bit" "that" "spice" "up") ("little" "of" "to" "things"))它应该在构建两个列表时交替。所以第一个索引应该在第一个列表中,第二个索引在第二个列表中,第三个索引在第一个列表中,依此类推。
这是我当前的脚本。
(define (split …Run Code Online (Sandbox Code Playgroud)