vba中Range对象的Replace方法


replace是Range对象的一个方法,用于单元格替换.

 

 

 

 

 

 

Sub replaceTest()
    Application.ReplaceFormat.Interior.Color = vbGreen
    '指定lookat参数为Whole,从而避免将21等包含2的数字也替换掉'
    Range("b2:e4").Replace what:=2, replacement:=3, lookat:=xlWhole, ReplaceFormat:=True
    
End Sub

 

 

 

 

 

 

 

 

 

 

 

 

Sub replaceTest()
    Application.ReplaceFormat.Interior.Color = vbGreen
    '指定lookat参数为Whole,从而避免将21等包含2的数字也替换掉'
    Range("b2:e4").Replace what:=2, replacement:=3, lookat:=xlWhole, ReplaceFormat:=True
    
End Sub


Sub FindLastRow()
   Dim r As Range
   'Set r = Range("b2").End(xlDown)'
   Set r = Cells(Rows.Count, 2).End(xlUp)
   MsgBox r.Row
End Sub

Sub findTableLastNum()
  Dim r As Range, maxRow As Long, i As Long
  '循环扫描第2列到5列'
  For i = 2 To 5
  '获取第i列最后一个数据的行号'
    Set r = Cells(Rows.Count, i).End(xlUp)
    '如果该行号大于之前找到的最大行号,则更新最大行号'
    If r.Row > maxRow Then maxRow = r.Row
  Next i
  
  MsgBox "最后一个数据在第" & maxRow & "行"
    
End Sub

  

Sub lastRow()
   Dim i As Long
   i = 3
   Do While Cells(i, 2) <> "" And i < Rows.Count
      i = i + 1
   Loop
   
   If Cells(Rows.Count, 2) = "" Then i = i - 1
   
   MsgBox "最后一行是" & i
      
End Sub


Sub lastRowTwo()
   Dim i As Long, r As Range
   Set r = ActiveSheet.UsedRange
   
   i = r.Row + r.Rows.Count - 1
   MsgBox "最后一行是" & i

End Sub

  

 

 

 

 

 

 

 

 

 

 

 

 

'找到一个表格的最后一个单元格'
Sub useSpecialCell()
   
   Dim r As Range
   Set r = Cells.SpecialCells(xlCellTypeLastCell)
   MsgBox r.Row
   
End Sub

Sub useSpecialCellTwo()

   Dim r As Range
   '按行序,从后向前查找'
   'xlRows'
   Set r = Cells.Find("*", after:=Range("A1"), searchorder:=xlColumns, searchdirection:=xlPrevious)
   
   If r Is Nothing Then
      MsgBox "表格中没有数据"
    Else
      'MsgBox r.Row'
      MsgBox r.Column
      
    End If
End Sub

'找到最后一个单元格,包括隐藏的,有空格的'
Sub useDo()

   Dim i As Long
   i = Rows.Count
   
   Do While i > 0
      If Cells(i, 2) <> "" Then Exit Do
      i = i - 1
   Loop
   MsgBox "最后一行是第" & i & "行"
End Sub

  

 

 

Sub demo1()
   Dim i As Long, k As Long, name As String, amount As Long
   For i = 2 To 9
      name = Cells(, 2): amount = Cells(i, 4)
      For k = 3 To 5
         If Cells(k, 6) = name And amout > Cells(k, 7) Then
            Cells(i, 1).Interior.Color = vbRed
            Exit For
         End If
     Next k
   Next i
End Sub

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM