我有一个Excel 2013工作表,其中每列都有一个标题行,然后在部分或所有单元格中使用“DIRECT”一词。列中没有其他数据,只有“直接”或空白。没有列为空,它们都至少有一次“DIRECT”。
我正在寻找一个可以执行以下操作的宏:
我录制了一个接近的宏,但它有两个问题:
Sub AddColumnCountsRecorded()
'
' AddColumnCounts Macro
'
'
Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("J1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[2]C:R[15]C)"
Range("J1").Select
Selection.Copy
Range(Selection, Selection.End(xlToRight)).Select
ActiveSheet.Paste
End Sub
如果有帮助:
>
列“A”可以确定数据可能所在的最后一行(即“用户名”列,因此那里没有空白)-尽管最后一行也会因工作表而异。
第2行(标题行)可以确定数据所在的最后一列—它没有空白列;在每一列中,至少有一个单元格有“DIRECT”一词。
任何关于编辑现有宏或从头开始制作新宏的建议都将不胜感激!
谢啦!
更新:
非常感谢Scott,这是我最终得到的结果-这将非空白单元格计数添加到活动工作表中,并在最后一行停止,其中包含数据。我只是直接调用它,没有下面建议的代码的第二部分:
Sub AddColumnCountsRecorded()
With ActiveSheet
.Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Dim lRow As Long, lCol As Long
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
lCol = .Cells(2, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 2), .Cells(1, lCol)).FormulaR1C1 = "=COUNTA(R[2]C:R[" & lRow & "]C)"
End With
End Sub
试试这个。我做了一个单独的sub,您也可以传递工作表参考。
Sub AddColumnCountsRecorded(ws As Worksheet)
With ws
.Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Dim lRow As Long, lCol As Long
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
lCol = .Cells(2, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 2), .Cells(1, lCol)).FormulaR1C1 = "=COUNTA(R[2]C:R[" & lRow & "]C)"
End With
End Sub
这样称呼它:
Sub ColumnCount()
AddColumnCountsRecorded Worksheets("Sheet1")
End Sub
我有这样的布局: 在开始时,视图是一个半透明视图,它位于布局中所有内容的顶部。当我按下按钮时,我想将FrameLayout放在视图的顶部。我尝试了方法和,之后我调用了,但它们对我都不起作用。我觉得跟海拔属性有关系。 如有任何帮助,我们将不胜感激。谢谢你!
在本章中,您将学习如何逐步编写一个简单的宏。 Step 1 - 首先,在Excel 20XX中启用“开发人员”菜单。 要执行相同操作,请单击文件→选项。 Step 2 - 单击“自定义功能区”选项卡,然后选中“开发人员”。 单击“确定”。 Step 3 - “开发人员”功能区出现在菜单栏中。 Step 4 - 单击“Visual Basic”按钮以打开VBA编辑器。 Step 5 - 通过添加按钮
我在我的网站上使用MathJax,我想添加一些语义支持。 目前,我的MathJax配置是接收TeX输入并输出HTML-CSS输出(不幸的是,MathML在Chrome中工作不太好)。我还有一个jQuery函数,它接受任何类并将其转储到属性中。 下面的HTML。。。 用下面的脚本。。。 将输出。。。 显然,的内容将使用一系列跨度、类和样式进行样式化。我只是不打算在这里打这些。无论如何,在呈现数学之后
我有一个模型类的,其中有一些项。如何将新项添加到的第一个位置,并将其他项移到旁边。
我使用iText将数据填充到PDF中现有的AcroForm字段中。 我现在正在寻找将新的AcroForm字段添加到PDF的解决方案。iText是否可以做到这一点?如果是,我该如何做到这一点?
在本章中,我们来学习如何逐步编写一个简单的宏。 第1步 - 首先,在Excel 2016中启用“开发者”菜单。要完成这个设置,请点击左上角菜单:文件 -> 选项。如下图所示 - 第2步 - 点击“自定义功能区”选项卡并选中“开发工具”。然后点击“确定”。如下图所示 - 第3步 - “开发工具”功能区出现在菜单栏中。如下图所示 - 第4步 - 点击 “Visual Basic” 按钮打开VBA编辑器