我可以使照片跟随Excel上的数字还是可以通过VBA在一个单元格之间移动它?

时间:2019-03-09 08:38:17

标签: excel vba

我刚刚用VBA在Excel中为我的学校项目构建了一个国际象棋游戏。 我的构建方式是每件作品都有一个数字和一个颜色(绿色/红色):

1 - Pawn (x16)
2 - King (x2)
3 - Queen (x2)
4 - Bishop (x4)
5 - Night (x4)
6 - Rook (x4)

这样看起来就更好了,我想添加跟随数字的每张图片,或者随VBA的推荐而移动,并伴随着对作品的推荐。 如果可能的话,我更喜欢第一种选择,但第二种也不错。 我现在移动棋子的方式是这样的:

   MoveNum = Range(Range("j2").Value).Value
   Range(Range("j2").Value).Value = 0
   Range(Range("j2").Value).FormulaR1C1 = ""
   Range(Range("j2").Value).Font.Color = -0
   Range(Range("k2").Value).Value = MoveNum
   Range(Range("k2").Value).Font.Color = RGB(210, 0, 0)

(这是移动红色块的那个,它与绿色之间的唯一区别是RGB是(0,175,20)而不是(210,0,0) 顺便说一句,我的整个代码都是基于数字的,所以不能选择/不使用它们。

1 个答案:

答案 0 :(得分:1)

一种省时的选择是使用Unicode个字符而不是图像:

♔♕♖♗♘♙♚♛♜♝♞♟

这些是Unicode 98129823,您可以使用UNICHAR工作表函数或VBA中的ChrW函数将它们添加到Excel。

此外,您只需从上方复制并将其粘贴,直接插入工作表中,然后像对待其他任何文本(包括字体大小)一样进行操作即可。

这是80pt的骑士: img

当我需要一个符号或图标时(或标识一个),我首选的外观是 https://codepoints.net 。截至2019年3月,Unicode包含近140,000个字符,并且还在不断增加。
(请务必在petition上签名,以添加便盆表情符号!) < / p>


如果您的作业特别要求您使用图像,则可以:

示例:

Option Explicit

Sub movePicToCell()
'move the image named "Picture 2" on worksheet "Sheet1" to cell "C3"
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    ws.Shapes("Picture 2").Top = ws.Range("C3").Top
    ws.Shapes("Picture 2").Left = ws.Range("C3").Left
End Sub