- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要完成的是:
如果我的整个工作表中 AC-AF 列中的任何单元格为空白,请剪切整行并粘贴到标有“MissingShipping”的新工作表中。
代码应该根据行数进行调整,因为这永远不会相同。
从我看到的示例中,我不明白在哪里插入我想要涉过的单元格范围。
我得到错误
"Method 'Range' of object'_Worksheet'
NewSetup.Range(Cells(Destinationrow, 1), Cells(Destinationrow, lastcolumn)).Select
.
Option Explicit
Sub Shipping()
Dim MissingShipping As Worksheet
Set MissingShipping = Sheets.Add(After:=Sheets(Sheets.Count))
MissingShipping.Name = "MissingShipping"
Dim NewSetup As Worksheet
Dim lastcolumn As Integer
Dim Destinationrow As Integer
Dim lastrow As Long
Set NewSetup = Worksheets("NKItemBuildInfoResults")
Set MissingShipping = Worksheets("MissingShipping")
Destinationrow = 1
lastcolumn = NewSetup.Range("XFD1").End(xlToLeft).Column
lastrow = NewSetup.Range("A1048576").End(xlUp).Row
Dim i As Long
Dim j As Long
For i = lastrow To 1 Step -1
For j = 1 To lastcolumn
If NewSetup.Cells(i, j).Value = "" Then
NewSetup.Activate
NewSetup.Range(Cells(i, 1), Cells(i, lastcolumn)).Cut
MissingShipping.Activate
NewSetup.Range(Cells(Destinationrow, 1), Cells(Destinationrow, _
lastcolumn)).Select
ActiveSheet.Paste
NewSetup.Rows(i).Delete shift:=xlUp
Destinationrow = Destinationrow + 1
Exit For
End If
Next j
Next i
End Sub
最佳答案
G'day Nikki,
欢迎来到 VBA 的世界!互联网上有很多很棒的资源可以帮助您完成旅程。
在代码中使用范围通常更容易和更快,而不是读取和写入工作表并选择单元格来模仿如果您手动完成工作通常会做的事情。
尽早了解范围对象是个好主意。处理多个工作表很方便。
以下是 Excel 中范围的良好开端:
https://excelmacromastery.com/excel-vba-range-cells/
另一个方便的东西是集合。如果您必须存储一堆东西以供以后使用,您可以将它们添加到集合中,然后使用“For Each”循环遍历它们。这是对集合的一个很好的解释:
https://excelmacromastery.com/excel-vba-collections/
我快速查看了您的代码并使用范围和集合的概念,我已经对其进行了更改,以完成我认为您正在尝试做的事情。我不得不做出一些假设,因为我还没有看到你的表格。我在计算机上的一堆随机行上运行代码以确保它有效。考虑以下:
Dim MissingShipping As Worksheet
Dim NewSetup As Worksheet
Dim rangeToCheck As Range
Dim cellsToCheck As Range
Dim targetRange As Range
Dim rw As Range 'rw is a row
Dim cl As Range 'cl is a cell
Dim rowColl As New Collection
Dim i As Long
Set NewSetup = Worksheets("NKItemBuildInfoResults")
Set MissingShipping = Worksheets("MissingShipping")
'Get the range of data to check
Set rangeToCheck = NewSetup.Range("A1").CurrentRegion
'For each row in the range
For Each rw In rangeToCheck.Rows
'For the last four cells in that row
Set cellsToCheck = rw.Cells(1, 29).Resize(1, 4)
For Each cl In cellsToCheck.Cells
'If the cell is empty
If cl.Value = "" Then
'Add the row to our collection of rows
rowColl.Add rw
'Exit the for loop because we only want to add the row once.
'There may be multiple empty cells.
Exit For
End If
'Check the next cell
Next cl
Next rw
'Now we have a collection of rows that meet the requirements that you were after
'Using the size collection of rows we made, we now know the size of the range
'we need to store the values
'We can set the size of the new range using rowColl.Count
'(that's the number of rows we have)
Set targetRange = MissingShipping.Range("A1").Resize(rowColl.Count, 32)
'Use i to step through the rows of our new range
i = 1
'For each row in our collection of rows
For Each rw In rowColl
'Use i to set the correct row in our target range an make it's value
'equal to the row we're looking at
targetRange.Rows(i) = rw.Value
'Increment i for next time
i = i + 1
Next rw
End Sub
关于arrays - 如果 AC-AF 列包含空白,则剪切并粘贴行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51156681/
我有 2 个视频文件(input.mp4,leadout.mp4)和一个图像(watermark.png)。我需要将第一个视频剪切到 54 秒,添加水印,然后将其与第二个视频合并。 我实现了这个调用
在 VBA 中,您可以在剪切和粘贴后直接进行复制和粘贴。我之所以问,是因为 for 循环中的 If 语句需要剪切一行数据,然后直接在下面复制该行。当我运行代码时,它会执行该剪切,但不会执行副本。我在网
我想在剪切/粘贴事件触发后调用函数。 例如,当用户通过键盘或鼠标(带有上下文菜单)在编辑器中剪切/粘贴时,我想计算用户输入的字符数。 用户执行剪切/粘贴后有什么方法可以调用我们自己的函数吗? 最佳答案
抱歉,标题不准确,但实际上我正在尝试简化方法: Docker service ls 变成这个: Docker service ls cutted 尝试使用-f,但不起作用。 也许有一些grep / s
我有一个带有三角形的彩色噪声正方形。 现在,我希望多边形像圣诞节的“ cookies 切割器”一样减少这种噪音。导致被多边形路径包围的三角形噪声。 如何裁剪与多边形边框重叠的所有像素,然后将其另存为
我正在 Prolog 中开发一个谓词,它有可能在它结束之前终止。 出于这个原因,我正在寻找类似于 return; 的命令。 (C++)。我用了 cut !但我怀疑它的字面意思以及它是否确实做了什么re
我的代码如下所示: ServiceHandler sh = new ServiceHandler(); // Making a request to url and g
在 Linux(Raspbian 发行版)中,我试图提取文件名的日期部分,当我直接将其输入终端时,该文件名有效(见下文)。 $ file1="access_point20140821.csv" $ e
我正在使用 vuetify,我想制作一个可滚动的 stepper在对话框中。 这是一个代码笔 https://codepen.io/anon/pen/OqWQdy 我在 v-stepper-items
我有一个小测试站点,其中一个 div 的宽度减小到 50%,当我们单击按钮时另一个 div 出现。这是我的 codepen 当您单击该按钮时,图像会调整大小。因为我正在使用:background-si
我必须编写一个脚本文件来剪切以下列并将其粘贴到新 .arff 文件中同一行的末尾。我想文件类型无关紧要。 当前文件: 63,male,typ_angina,145,233,t,left_vent_hy
如何拦截此类事件? 当用户尝试将一些文本粘贴到我的 EditText 中时,我需要添加一些逻辑我知道我可以使用 TextWatcher 但这个入口点对我不利,因为我只在粘贴的情况下需要拦截,而不是每次
我有一个简单的自定义无边框 NSWindow 子类,它具有圆角矩形形状。 在此窗口的内容 View 中,我添加了一个 NSScrollView。 如何让 NSScrollView 将其文档 View
所以这是我的代码,但是每次尝试剪切字符串“words”都失败了,它只是用 jsoup 收到的整个文本执行 TextView。 我只想剪切字符串的前 x 个单词。 public class main e
Action Bar Select All/Cut/Copy not showing for EditText in Alert dialog(picture 2),请帮助 编辑:代码是
如何检测 tinymce 上的右键单击删除?我通过 onPaste 事件检测到粘贴事件,但我卡在剪切删除和复制上。我知道有 onContextMenu 事件,但似乎没有保存菜单项的函数或变量。 有什么
我有两个 JTextAreas 并且想要实现剪切、复制和粘贴菜单项。我知道 JTextArea.cut 和其他方法,但无法弄清楚如何确定用户在何处(在哪个 JTextArea 中)选择了文本和/或放置
我想在两侧“剪切”我的页面,如下所示: http://i.stack.imgur.com/ngZrp.jpg 演示:https://jsfiddle.net/r2g0eyxf/3/ #left {
我有一个绝对位于另一个元素之上的元素。问题是背景元素有一点 JS 可以根据鼠标的移动在 Y 轴上旋转。不幸的是,我在 Safari 中发现了一个在 Firefox 或 Chrome 中没有出现的问题。
我正在编写一个脚本,在该脚本中,我采用名片设计并使用它生成一张纸,上面有十张卡片,以匹配打印临时卡片的模板。这里最棘手的部分是出血;它们会在中间重叠,所以我需要为每个都制作剪贴蒙版。 我想出了一个系统
我是一名优秀的程序员,十分优秀!