【发布时间】:2021-03-31 17:43:17
【问题描述】:
-
我的文件有四张。
-
当填充其他一些行时,我想复制并粘贴 A 列(来自 A:10)(其中包含一个 concat 公式),然后保存到 csv 中。
从 A10 开始的所有行都有 concat 公式,然后根据其他列填充该公式(这同样适用于其他工作表)。 -
我目前正在创建 sheet1,并粘贴到那里,然后保存为 csv。
-
但是,从它查看的第一张纸开始,它只需要第一行(但第二行 - J11(以及 A11)被填充。
-
在其他工作表中,它复制并粘贴已填充的 2 行,以及所有其他行,因为那里有返回零的公式。
因为我有 .End(xlDown) 并且技术上所有其他行都已填充。 -
我只为最后一张表尝试了一个 IF 语句作为测试,目前它只复制第一个填充的行,而不是第二个(但至少它也不会复制所有其他单元格为零)。
-
基本上,对于我想循环遍历的每个工作表,例如填充 E10,如果 E10 不为零,则将 A10 复制并粘贴到 Sheet1 等中。
Sub Output_test1()
'
' Output_test1 Macro
'
'
Sheets("Create").Select
Range("A10", Range("J10").End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add.Name = "Sheet1"
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Assign").Select
Range("A10", Range("E10").End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("A1").End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Date & Time").Select
Range("A10", Range("E10").End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("A1").End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Event Type").Select
Dim rg As Range
For Each rg In Range("E10").End(xlDown)
If rg.Value > 0 Then
End If
Range("A10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("A1").End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet1").Select
Application.CutCopyMode = False
Next
Sheets("Sheet1").Move
myTime = Format(Now, ("dd.mm.yy"))
ChDir "C:\Users\"
ActiveWorkbook.SaveAs Filename:= _
"Recruit_" & myTime & ".csv", FileFormat:=xlCSVUTF8, _
CreateBackup:=False
End Sub
【问题讨论】:
-
一般来说你想在你的代码中avoid using select
-
@cybernetic.nomad 这段代码主要来自录制一个宏来获得我需要的大部分内容。我可以根据您的帖子对其进行修改,但除此之外,您知道如何排除公式返回零的单元格吗?
-
If myCell.value <> 0 then。样本数据和预期输出会很有用 -
@cybernetic.nomad 对不起,我真的很想解决这个问题,但不幸的是,它似乎并没有遍历范围内的每个单元格——它只是复制了第一个单元格——我怎样才能做到这一点?
标签: excel vba if-statement