繁体   English   中英

在 excel VBA 中,如何让我的屏幕跟随图像,无论它走到哪里?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM