1. 首页 > 科技

表格用VBA或者宏得到一列所有符合要求的组合 vba的自动运行宏应当命名为

表格用VBA或者宏得到一列所有符合要求的组合vba的自动运行宏应当命名为

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