表格用VBA或者宏得到一列所有符合要求的组合 vba的自动运行宏应当命名为
- excel 用vba 宏 中 用一个for循环 将 一列满足条件的后面加上 需要的数值 比如
- Excel使用VBA宏循环一列的所有数据到下一列
- EXCEL问题---如何找出所有的符合条件的组合
- 请用VBA在EXCEL中提出符合要求的数据。
excel 用vba 宏 中 用一个for循环 将 一列满足条件的后面加上 需要的数值 比如
1、打开一个表,选中序列,点击工具-宏,开始录2113制。
2、录制5261完成后按alt+f11 切换到代码编辑窗口,设置变量i为长整形,并且设置一个for循环,循4102环次数比要添加的工资条标签大,在end sub之前加next。
3、按alt+f11切换到excel界面,再录制一个删除标题的宏,1653修改代码,添加for循环按alt+f8调出宏窗口。
4、从视图中调出窗体回按钮,拖动出一个按钮并为其制定生成工资表的宏 。
5、右键点击编辑文答字按钮改名,再按相同的方法添加一个删除标题栏的宏,这样就可以逆向操作了。
Excel使用VBA宏循环一列的所有数据到下一列
Sub aaa()
For i = 1 To Range("a65536").End(xlUp).Row
If Cells(i, 1) = "张" And Cells(i, 2) = 1 Then Cells(i, 3) = "a"
Next
End Sub
如果要判断B列是否为"空",可用函数 IsEmpty (Cells(i, 2)) ,当Cells(i,2)没有任何值时为"真"
EXCEL问题---如何找出所有的符合条件的组合
问题请澄清:是找出数值等于25的所有单元格,还是找出哪几个单元格的和是25。
如果只要找出数值等于25的单元格就用上述条件格式显示,如果要定位该数值的位置,则可以使用index+match这2个工作簿函数显示。
如果要找出哪几个单元格的和是25,有2个思路供参考,一个是自带功能【规划求解】,一个是用VBA循环做组合验证。
请用VBA在EXCEL中提出符合要求的数据。
建一个CommandButton,把以下代码复制进去即可
Private Sub CommandButton1_Click()
For i = 1 To 20
Temp = Application.WorksheetFunction.Substitute(Range("a" & i), ".", "")
For j = 0 To 9
Pos1 = 0
Pos2 = 0
'if判断,同一个单元格中某个数字出现两次,且只出现两次
If Len(Temp) - Len(Application.WorksheetFunction.Substitute(Temp, j, "")) = 2 Then
Pos1 = InStr(Temp, j) + 1
Pos2 = InStr(Pos1, Temp, j)
LenTemp = Mid(Temp, Pos1, Pos2 - Pos1)
n = 0
'符合以上IF条件后,计算把中间的数去重后的个数
For k = 0 To 9
If InStr(LenTemp, k) > 0 Then n = n + 1
Next k
'去重后数字个数等于4则符合要求,并记录在C列
If n = 4 Then
Range("c" & i) = Range("a" & i)
Exit For
End If
End If
Next j
Next i
'把C列符合要求的数字移到B列指定位置
Range("c1:c20").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Range("c1:c20").Copy Range("b" & 21 - Application.WorksheetFunction.Count(Range("c1:c20")))
Range("c1:c20").Clear
End Sub