小编Ale*_*uth的帖子

Excel VBA宏-在选定的单元格上运行

在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)

谢谢!!!

excel vba excel-vba

5
推荐指数
0
解决办法
1万
查看次数

复制并粘贴行和列(带有公式)并粘贴到 VBA 中的最后一行

首先,我有多个带有值和公式的工作表。我已经使用 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)

excel vba

4
推荐指数
1
解决办法
1683
查看次数

定义宏生成的宏,它接受可变数量的参数

我正在尝试编写一个宏生成宏,它生成的宏采用可变数量的参数.

我想知道是否有办法使以下代码工作:

(define-syntax-rule (greet name)
  (define-syntax-rule (name args ...)
    (printf "hello ~a~n" (list args ...))))
Run Code Online (Sandbox Code Playgroud)

现在,它说:"没有pattern variables之前ellipsistemplate在:..."

如果我单独使用内部define-syntax-rule它可以正常工作,那么为什么当它由另一个宏生成时它不起作用?

racket

4
推荐指数
2
解决办法
155
查看次数

是否可以在const项目中创建一个Box?

我尝试过这样的事情:

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项目中使用它.但有另一种方式来创建一个盒子允许的?

rust

3
推荐指数
1
解决办法
483
查看次数

在VBA中对选定的单元格执行修剪功能

我试图找出是否有一种方法可以在Excel宏中运行一个简单的函数(TRIM去除重复的空格字符),因此它直接在单元格上执行,所以我不必创建一个额外的列TRIM前一列的功能.

它应该适用于选定的列或仅选定的单元格

Sub trim()

 ActiveCell.FormulaR1C1 = "=trim(R1C1)"

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

3
推荐指数
1
解决办法
8917
查看次数

BSL(如何设计程序):如何将代码从单独的文件导入到定义区域?

我遇到了 BSL 问题。我想将我的代码分成单独的辅助文件并使用

\n\n
(require "auxiliary-function.rkt") \n
Run Code Online (Sandbox Code Playgroud)\n\n

首先将分离的代码导入到定义区域。然而它并没有像想象的那样工作。虽然没有给出明确的错误,但似乎 DrRacket 根本看不到单独文件中的代码,而我看到的只是错误

\n\n
<auxiliary-function-name>: this function is not defined \n
Run Code Online (Sandbox Code Playgroud)\n\n

显然,

\n\n
(provide x)\n
Run Code Online (Sandbox Code Playgroud)\n\n

不包含在 BSL 中。我已经阅读了手册这个答案,但 xe2x80x99s 仍然不清楚如何进行这项工作。这在 BSL 中可能吗?

\n\n

谢谢!

\n

racket racket-student-languages

3
推荐指数
1
解决办法
335
查看次数

在Dr-Racket中未定义的位置图像

我在Dr-Racket中编写了一个简单的代码,但它无效.这是代码:

(place-image (circle 5 "solid" "green")
             50 80
             (empty-scene 100 100))
Run Code Online (Sandbox Code Playgroud)

我选择了BSL语言进行编译,但它给出了以下错误:

place-image:此函数未定义

出了什么问题?

racket racket-student-languages

2
推荐指数
1
解决办法
2252
查看次数

在数据验证选择后运行事件宏

我在名为 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)

excel events vba

1
推荐指数
1
解决办法
1万
查看次数

为什么我的VBA循环开始倒退?

我的代码目前为:

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.

我不知道为什么会发生这种情况,我希望我的宏能够以正常的方式执行.

我非常感谢为什么会发生这种情况!

excel vba loops excel-vba

0
推荐指数
1
解决办法
254
查看次数

在 Scheme 中递归拆分列表

我想要做的是定义一个列表,例如 (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)

scheme racket

0
推荐指数
1
解决办法
1971
查看次数