查看宏
?
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?
?
?
?
?
02556268