首页 > 编程知识 正文

excel怎么用宏批量处理条件格式,excel宏命令取单元格的值

时间:2023-05-03 20:39:51 阅读:275881 作者:1459

打开宏:

查看宏

 

1.拆分单元格并自动填充数据

Sub 拆分填充()'' 拆分填充 宏'' 快捷键: Ctrl+d'Dim x As RangeFor Each x In ActiveSheet.UsedRange.CellsIf x.MergeCells Thenx.Selectx.UnMergeSelection.Value = x.ValueEnd IfNext xEnd Sub

注意:以上代码的有,快捷键: Ctrl+d ,只可应用于当前页面。

例:

2.取满足条件的值连接成字符串

代码:

 

Sub 取电表()'注意看你的Excel是否是Sheet1和Sheet2,如果不是请修改一下哦 Dim iRow As Integer Dim sUserID As String Dim iCount As Integer Dim sResult As String For iRow = 2 To Sheet1.UsedRange.Count sUserID = Sheet1.UsedRange.Cells(iRow, 2) '这里的那个2可能是你要修改的地方哦,我这里是在用Sheet1的“原用户编号”(第2列)与Sheet2的“户号”(第6列)比较哦 If sUserID = Empty Then GoTo II sResult = ddf(sUserID, iRow) NextII: ActiveWorkbook.SaveEnd SubFunction ddf(FUserID As String, FRow As Integer) Dim sResult As String Dim sAmmeters As String Dim iRow As Integer Dim UserID As String Dim AmmeterCount As Integer AmmeterCount = 0 For iRow = 2 To Sheet2.UsedRange.Count sAmmeters = Sheet2.UsedRange.Cells(iRow, 10) '这里的那个“10”可能是你要修改的地方哦,我这里是在取Sheet2的“出厂编号”(第10列)的值哦 UserID = Sheet2.UsedRange.Cells(iRow, 6) '这里的那个“6”可能是你要修改的地方哦,我这里是在用Sheet1的“原用户编号”(第2列)与Sheet2的“户号”(第6列)比较哦 If UserID = Empty Then GoTo III If UserID = FUserID Then sResult = sResult + sAmmeters + "/" '连接字符串 AmmeterCount = AmmeterCount + 1 '连接字符串的次数 End If NextIII: If (sResult <> Empty) Then Sheet1.UsedRange.Cells(FRow, 14) = sResult '连接字符串的结果,放到哪个单元格中,“电表” Sheet1.UsedRange.Cells(FRow, 15) = AmmeterCount '连接字符串的次数,放到哪个单元格中,“电表个数” End If End Function

 

 

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。