VB 中得到一个excel单元格的地址是$K$31,如何得到字符串K31,以用于range确定。

VB 中得到一个excel单元格的地址是$K,如何得到字符串K31,以用于range确定。,第1张

能得到 $K$31了,只要把其中的 $ 替换掉就可以了吧,用 Replace() 函数。

比如:

MsgBox Replace(ActiveCellAddress, "$", "")

有疑问,请Hi我或给我发百度消息

GoodLuck!

1、将单元格所选单元格的行号和列号,分别用VBA显示在下面的两个单元格中,

2、按下Alt+F11,打开VBA编辑界面,选择当前工作表编写代码,

3、下面代码是得到当前单元格的行号并放到当前单元格下一个单元格中:

4、下面代码是得到当前单元格的列号并放到当前单元格下面第二个单元格中:

5、代码编写完成,点击运行子过程按钮(或按下F5),

6、最后返回Excel中,就可以看到得到了当前单元格的行号和列号,

看了如下代码,你就掌握了,呵呵。

Sub Macro2()

Dim MyCell As Range '定义单元格对像变量

Set MyCell = ActiveCell '对对像变量进行赋值

MyCellOffset(3, 3)Select '光标移开

MsgBox "光标已移开,点确定后将移回", vbInformation + vbOKOnly

MyCellSelect '光标回到最初的单元格上

Set MyCell = Nothing '注销对像变量

End Sub

有疑问,请Hi我或给我发百度消息

GoodLuck!

Sub 宏1() '子程序 宏1()

Dim i, myPath$ '定义变量 i,myPath$

myPath = ThisWorkbookPath & "\" '获取当前文件的路径 'myPath= 当前工作簿的路径 & "\"'获取当前文件的路径

For i = 2 To 35 '设定变量范围为i=2到35

Range("B" & i)Select '<单元格>区域("B" & i )的选定

ActiveSheetPicturesInsert(myPath & "F\" & Range("A" & i) & "jpg")Select ' 活动工作表的集的<插入>(myPath & "F\" & <单元格>区域("A" & i) & "jpg" )的选定

'在选中的位置插入

'myPath 相位的路径

'Range("A" & i) 相片的文件名,如果相片用B列命名也可以的

'要有相片路径+名称+后缀

Next i '下一个i

End Sub '子程序结束

Sub 宏1() '子程序 宏1()

Dim i, myPath$, a1, a2, b1, b2 '定义变量 i,myPath$,a1,a2,b1,b2

Dim Pa As Picture '定义变量 Pa 为 Picture

myPath = ThisWorkbookPath & "\" '获取当前文件的路径 'myPath= 当前工作簿的路径 & "\"'获取当前文件的路径

ApplicationScreenUpdating = False '关闭屏幕刷新(可以提高运行速度)

For Each Pa In ActiveSheetPictures '设定变量范围为每一个Pa位于 活动工作表的集

PaDelete ' Pa的删除

Next '下一个

For i = 2 To 35 '设定变量范围为i=2到35

a1 = 0: a2 = 0: b1 = 0: b2 = 0 'a1=0:a2=0:b1=0:b2=0

Range("B" & i)Select '<单元格>区域("B" & i )的选定

a1 = ActiveCellLeft 'a1= 活动单元格的左侧

a2 = ActiveCellTop 'a2= 活动单元格的顶部

b1 = ActiveCellWidth 'b1= 活动单元格的宽度

b2 = ActiveCellHeight 'b2= 活动单元格的高度

ActiveSheetPicturesInsert(myPath & "F\" & Range("A" & i) & "jpg")Select ' 活动工作表的集的<插入>(myPath & "F\" & <单元格>区域("A" & i) & "jpg" )的选定

SelectionShapeRangeLockAspectRatio = False ' 被选项的ShapeRange的LockAspectRatio=False

SelectionShapeRangeLeft = a1 + 1 ' 被选项的ShapeRange的左侧=a1+1

SelectionShapeRangeTop = a2 + 1 ' 被选项的ShapeRange的顶部=a2+1

SelectionShapeRangeWidth = b1 - 2 ' 被选项的ShapeRange的宽度=b1-2

SelectionShapeRangeHeight = b2 - 2 ' 被选项的ShapeRange的高度=b2-2

Next i '下一个i

ApplicationScreenUpdating = True '开启屏幕刷新

MsgBox "完成!" '<消息框>:"完成!"

End Sub '子程序结束

我想申请知识答主,如果可以的话帮忙关注一下我哈!谢谢!

在 VBA 中计算单元格长度,可以使用如下代码:

Dim cell As RangeDim text As StringDim length As Double'获取当前单元格对象Set cell = ActiveCell'获取单元格文本内容text = cellValue'计算文本内容长度length = Len(text)'或者使用如下语句,忽略前后空格length = Len(Trim(text))'或者使用如下语句,计算单元格包含的所有字符长度length = Len(cellText)

以上代码中,首先使用 ActiveCell 获取当前选定的单元格对象,然后使用 Value 或者 Text 属性获取单元格中的文本内容,使用 Len 函数计算文本内容的长度。如果需要忽略单元格中的空格,可以使用 Trim 函数。

需要注意的是,以上代码只能计算单元格中文本的长度,并不能计算单元格本身的宽度。如果需要使用宽度作为长度的指标,可以通过 Width 属性获取单元格的宽度,例如:

Dim cell As RangeDim width As Double'获取当前单元格对象Set cell = ActiveCell'获取单元格宽度,单位为点(1英寸=72点)width = cellWidth'将宽度转换为字符数量length = width / 72

以上代码中,Width 属性返回的是单元格的宽度,单位是点(pt),而字符的宽度可以约定为 72pt 左右(具体取决于字体和字号),因此可以将单元格宽度除以 72 得到大致的字符数量。

以下代码,选择单元格执行,不管是单个单元格,还是合并的单元格,自动把粘贴板内的粘贴到所选单元格内,并调整大小,当宽高比和单元格的不一致时,自动居中摆放。

Sub 粘贴并调整大小()

w = ActiveCellMergeAreaWidth '获取单元格宽度

h = ActiveCellMergeAreaHeight '获取单元格高度

l = ActiveCellLeft '获取单位格左侧位置

t = ActiveCellTop '获取单位格上侧位置

ActiveSheetPaste '粘贴

With SelectionShapeRange

Left = l + 2 '调整左侧位置

Top = t + 2 '调整上侧位置

Width = w - 5 '调整宽度

End With

If SelectionShapeRangeHeight < h - 5 Then '当宽度小于单位元格宽度时

SelectionShapeRangeTop = t + (h - SelectionShapeRangeHeight) / 2 '上下居中放单元格内

Else '当宽度天于单位元格宽度时

SelectionShapeRangeHeight = h - 5 '调整高度

SelectionShapeRangeLeft = l + (w - SelectionShapeRangeWidth) / 2 '左右居中放单元格内

End If

SelectionPlacement = xlMoveAndSize '定义大小位置随单元格变化而变化

End Sub

以上就是关于VB 中得到一个excel单元格的地址是$K$31,如何得到字符串K31,以用于range确定。全部的内容,包括:VB 中得到一个excel单元格的地址是$K$31,如何得到字符串K31,以用于range确定。、如何通过vba获取当前单元格所在行和列、VBA中确定单元格位置;等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/10081317.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存