excel - 在 excel VBA 中,如何让我的屏幕跟随图像,无论它去哪里?
问题描述
我想问某人如何使屏幕跟随VBA excel中的图像。(图像左上角单元格:M12,屏幕左上角单元格:A1)
我在 Excel 中有这张表:
1 |A
2 |B
3 |C
4 |D
5 |E
6 |F
7 |G
8 |H
10 |I
11 |J
12 |K
13 |L
14 |M
15 |N
16 |O
... |...
(这不是代码。)
将范围内的字母转换为数字,以便我可以减去它们。
这是我的 VBA 代码:
Sub PicScroll()
'Variables
Dim Ws As Worksheet
Dim Picpos As Range
Dim a As Shape
'Set variables
Set Ws = ThisWorkbook.Worksheets("Game")
Set a = ActiveSheet.Shapes("Picture 2")
Set Picpos = a.TopLeftCell
'Loop
Do Until 1 = 0
'Code
Appication.Goto Reference:=Worksheets("Game").Range((ActiveSheet.Shapes("Picture 2").TopLeftCell.Row - 11) & _
(Vlookup(ActiveSheet.Shapes("Picture 2").TopLeftCell.Column - L11.Column),Worksheets("CodeSheet").Range(I1:J77),2,False)), Scroll:=True
'End Loop
Loop
End Sub
CodeSheet 是顶部显示表格的工作表。游戏是图像(图2)所在的工作表。
我对Application.Goto行中的代码有一些问题。
谢谢!
解决方案
试试这个代码:
Application.Goto Reference:=Worksheets("Game").Cells(a.TopLeftCell.Row - 11, _
Number2Letter(a.TopLeftCell.Column - Range("L11").Column)), Scroll:=True
但是在运行之前,首先在模块的底部添加这个函数:
Function Number2Letter(ColumnNumber As Long) As String
Number2Letter = Split(Cells(1, ColumnNumber).Address, "$")(1)
End Function
该函数将列号转换为列字母。这消除了对 vlookup 的需要。
推荐阅读
- python - 从 Git 克隆安装 Keras [Errno 13] 权限被拒绝
- python - 如何对许多变量进行符号积分?
- amazon-web-services - 脚本获取实例状态 1/2 或 2/2 通过 AMI 启动的实例,其实例 ID 以前在 terraform 中使用外部数据源未知
- web-scraping - 使用特定主题标签和时间范围的 Instaloader 数据抓取
- webdriver - 基于期望语句结果的 if-else 条件
- sql - PostgreSQL - 使用 2 个自动递增的数字,第二个从 1 重新开始
- flutter - Flutter ChangeNotifierProxyProvider ChangeNotifier 在创建需要参数
- dictionary - Dart - Map vs Switch 语句性能
- javascript - 如何使用灯光模式嵌入 reddit
- css - CSS过渡/动画:悬停效果旋转