[英]In excel VBA, how do I make my screen follow the image, wherever it goes?
我想问某人如何使屏幕跟随 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 的需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.