[英]How to insert/copy in Excel base on number of another column in Excel VBA or not
[英]How to copy the number if contains certain number (first 4 digit) to another column - EXCEL VBA
这是要在工作表 1 上执行的代码,它遍历整个列 E 并通过计数公式验证是否在前三列中的每一列中,并分配在相应列中找到的值。
Sub macro()
Dim Static_Data As String
Dim Sht As Worksheet
Set Sht = ThisWorkbook.Sheets("Hoja1")
Active_row = 2
Do While Sht.Range("E" & Active_row).Value <> ""
Static_Data = Sht.Range("E" & Active_row).Value
For i = 1 To 3
If Application.WorksheetFunction.CountIf(Sht.Columns(i), Mid(Static_Data, 1, 4)) > 0 Then
Sht.Cells(Sht.Cells(Rows.Count, i + 8).End(xlUp).Row + 1, i + 8).Value = Static_Data
End If
Next i
Active_row = Active_row + 1
Loop
End Sub
对于不支持 FILTER 或作为替代方案的 Excel 版本,您可以为此使用标准公式。
如果您使用 FH 列作为辅助列(并且这些列可以隐藏),则 F2 中的公式将是:
=IF(NOT(ISERROR(VLOOKUP(VALUE(LEFT($E2,4)),A$2:A$100,1,FALSE)))=TRUE,$E2,"")
然后可以上下复制公式。 这将找到您的匹配项。
为了然后从数据中删除空白,您可以在 I2 中使用以下公式,然后再次上下复制。 根据您要添加的数字数量,您可能希望扩展顶部公式中的 A$2:A$100 和底部公式中的 F$2:F$100 的范围
=IFERROR(INDEX(F$2:F$100,AGGREGATE(15,6,(ROW(F$2:F$100)-ROW(F$2)+1)/(F$2:F$100<>""),ROWS( I$2:I2))),"")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.