VBA如何获取某一行中最后一列的字母

VBA如何获取某一行中最后一列的字母,第1张

把下边的代码放到模块中,

可以考虑在表格中加一个按钮指向这个宏代码。

你想查找哪一行,就先点击该行中的任意单元格,然后执行代码。

Sub shishi()

  Dim irow&, icol%, ix$

  irow = SelectionRow

  icol = ColumnsCount

  ix = Replace(Cells(1, Cells(irow, icol)End(1)Column)Address(0, 0), 1, "")

  If MsgBox("第" & irow & "行,最末列号为:" & ix & vbLf & vbLf & _

      "是否跳转到 " & ix & irow & " 单元格?", vbYesNo, "提示") = vbNo Then Exit Sub

  Range(ix & irow)Select

End Sub

有的时候在 *** 作excel的时候,涉及到循环什么时候结束,就非常需要知道 *** 作区域的最后一行是第几行,或者最后一列是第几列。

因此这边使用下面两个函数,可以比较快速的获取整个区域的行数和列数(不是指定的的区域)

主要就是使用了CountA来统计非空单元格的数量,然后这边传的参数是一整行或者一整列,计算这行和这列有多少个非空单元格,就知道这个表格的行数和列数了。

sub m

for i= 1 to range("B65536")end(3)row

if cells(i,"B")=1 then

msgbox i'利用msgbox返回行号,根据需要自行修改

end if

next

end sub

表单控件

Sub 显示行号()

 MsgBox ActiveSheetShapes("按钮 1")BottomRightCellRow

End Sub

存放代码参考

Excel数据如何快速排列

ActiveX控件

Private Sub CommandButton1_Click()

 MsgBox Shapes("CommandButton1")BottomRightCellRow

End Sub

Excel工作表被修改后自动升序排列

代码放在

Sub 按钮1_Click()

Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表

'Dim cn As New ADODBConnection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用

'Dim rs As New ADODBRecordset '定义记录集对象,保存数据表

‘工具 ---〉引用 ---〉Microsoft ActiveX data objects

'下面两句就不需要增加引用ADO

Set cn = CreateObject("AdodbConnection")

Set rs = CreateObject("AdodbRecordset")

Dim strCn As String, strSQL As String '字符串变量

Dim strCond As String

strCn = "Provider=sqloledb;Server=R9HDET7;Database=dbname;Uid=username;Pwd=password" '定义数据库链接字符串

1

一步搞定之代码

Sub 提取所有工作表名称()

for x=1 to sheetscount

cells(x,1)=sheets(x)name

next x

End Sub

如图,按照顺序来就可以啦。

方法/步骤

1分步阅读

首先我们打开一个工作样表作为例子。

2

工作表标签名即是工作表的名称,在指定激活当前工作表时,可以使用worksheets(“工作表名称”)的方法来指定。我们这里可以使用vba来获取这个名称。

3

我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:

Sub Delete_EmptySheets()

Dim sh As String

sh = Worksheets(1)Name

MsgBox sh

End Sub

4

运行这段代码后,就可以获得5月工资这个工作表的名称。并将这个名称赋予了sh这个变量。我们就可以使用这个变量来指定工作表。

5

这里我们需要注意的是,worksheets()使用工作表名称来指定工作表的时候字符串必须使用“”括住,而使用变量时则不需要,如果用“”括住变量,那么变量会被识别为字符串而出错。

6

修改名称我们可以直接使用worksheets()name= 的方式进行改名。修改的名称如果使用变量赋值,则不需要“”括住,如果是直接输入,则同样需要以字符串的方式。

iRows=activesheetusedrangerowscount\x0d\iColumns=activesheetusedrangeColumnscount\x0d\\x0d\'如果表格前面的几行或几列可能是空的,需要获得最下面的行数和最右面的列数:\x0d\with activesheetusedrange\x0d\ iEndRow=rowscount+row-1\x0d\ iEndColumn=Columnscount+column-1\x0d\end with

录制一个宏,宏实际上就是一段VBA小程序 菜单[工具]->[宏]->[录制新宏] 它会记录下你的 *** 作,自动生成VBA程序,而且可以在[VB编辑器里修改],每次你只要执行一下这个宏就行了

以上就是关于VBA如何获取某一行中最后一列的字母全部的内容,包括:VBA如何获取某一行中最后一列的字母、VBA中如何获取一个表格的行数和列数、excel vba 函数 查找所有值等于1的列,汇总列名并返回等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9551342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存