zoukankan      html  css  js  c++  java
  • VBA基础五:单元格cell操作例子

    例一、用cells(行,列)定位

    Private Sub CommandButton1_Click()
    Cells(12, 6) = IIf(Cells(1, 2) > 80, "优秀", "不优秀")
    'cells(2,3)表示第12行第6列位置显示后面的判断内容结果

    Cells(13, 6) = IIf(Cells(1, 11) <> "", "第一行第1列的内容是:" & Cells(1, 11), "空白")
    ‘在13行第6列显示等号后面的结果:如果单元格第1行1列不为空白,则显示,第一行第1列的内容是:+第1行第11列的内容,否则显示“空白”
    End Sub

    例二、用Sheet1.Range("a1:a10") 定位

    '方法:实际上就是对对象的操作,它是一种动作,一种行为。

    Sub 选择方法()
    Range("a1:a10").Select
    '注:如果单元格区域前没有写工作表名,则默认为活动工作表
    End Sub

    Sub 复制方法()
    Sheet1.Range("a1:a10") = 1    '将1写入表一的a1:a10区域
    Sheet1.Range("a1:a10").Copy Sheet2.Range("a1")    '将表一的a1:a10区域的值复制到表2的a1
    End Sub


    Sub 删除方法()
    Sheets(3).Delete  '将一个叫3的表格删除掉,删除时会弹出确认警告
    '工作表如果是数字()中不用引号,如果是汉字要加引号,否则提示错误9“下标越界”

    Sheets("成绩").Delete '将一个表名为“成绩”的工作表删除,会弹出确认窗口

    End Sub

    例三:EXCEL VBA 怎样删除某一列符合某个条件的行

    Private Sub CommandButton1_Click()

    Dim c%, i%
    c = Cells(Rows.Count, 4).End(3).Row
    For i = c To 1 Step -1
    If Cells(i, 4) = "" Then Rows(i).Delete  '删除第4列(D列)的所有空白行,如果只指定一行,把i换成具体哪一行就行了
    Next

    End Sub

    如果删除第3行,可以用语句:
    rows(3).delete

    同时删除第3行和第3列

    Sheet1.Rows(3).Delete
    Sheet1.Columns(3).Delete

    Private Sub CommandButton1_Click()

    For c = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
    If Application.CountIf(Columns(c), 0) > 10 Then Columns(c).Delete
    Next
    End Sub

    清空单元格中的数据或公式

    代码: Columns("E:E").ClearContents
    作用:清除E列的内容
    如果要清除所有(公式,条件...)将代码改为 Columns("E:E").Clear
    如果要删除zhi其他列,直接将括弧内的E:E改为需dao要的列即可。

    例四:求第一列的有数据的单元格最大行号、列号

    Private Sub CommandButton2_Click()
    Dim m, n
    m = ActiveSheet.UsedRange.Cells(1, 1).Row + ActiveSheet.UsedRange.Rows.Count - 1
    n = ActiveSheet.UsedRange.Cells(1, 1).Column + ActiveSheet.UsedRange.Columns.Count - 1
    Cells(14, 5) = m
    Cells(15, 5) = n
    End Sub

    一般用range.end找最后的行、列
    你这种情况可以用UsedRange.SpecialCells(xlCellTypeLastCell)

    Private Sub CommandButton2_Click()
    Dim m
    m = UsedRange.SpecialCells(xlCellTypeLastCell)  '用户活动单元格的最后一行,哪怕不同列的行长短不一样

    Cells(14, 5) = m  ' 在此单元格显示最后一行的文字内容

    End Sub

    Private Sub CommandButton2_Click()
    With UsedRange.SpecialCells(xlCellTypeLastCell)
    MsgBox "总共有" & .Row & "行,有" & .Column & "列"
    End With
    MsgBox "A列最后1行的行号是: 第" & Range("A1048576").End(xlUp).Row & "行"
    MsgBox "第1行最后1列的列号是: 第" & Range("XFD1").End(xlToLeft).Column & "列"
    End Sub

    2003版最大行数是65536行,最大列数是256列。Excel2007及以后的版本最大行数是1048576行,最大列数是16384列。

    获取当前位置的行号和列号

    =COLUMN()

    =row()

  • 相关阅读:
    es5预览本地文件、es6练习代码演示案例
    Java实现 LeetCode 838 推多米诺(暴力模拟)
    Java实现 LeetCode 838 推多米诺(暴力模拟)
    Java实现 LeetCode 838 推多米诺(暴力模拟)
    Java实现 LeetCode 837 新21点(DP)
    Java实现 LeetCode 837 新21点(DP)
    Java实现 LeetCode 837 新21点(DP)
    Java实现 LeetCode 836 矩形重叠(暴力)
    Subversion under Linux [Reprint]
    Subversion how[Reprint]
  • 原文地址:https://www.cnblogs.com/yuanscn/p/13298309.html
Copyright © 2011-2022 走看看