Excel快速规范粘贴图片

Excel快速规范粘贴图片

上一期,我做了一个简单的VBA 程序,实现了图片的一次性规范加载,避免了Excel加载多数图片时存在的堆叠恐惧,以及后期图片排布时的大小及对齐“洁癖”。可谓还是比较实用的!

上述是假想的同时在文件目录中一次性加载多数图片的情形,但在实际工作中,我们还有其它一些工作情景下的图片插入操作,我们也可以将其理想化。

比如: 复制(或截取)了一个图片,粘贴到指定单元格区域内,并根据预选的单元格区域自动调节图片大小及位置。

那么我本次就上述工作情景设计VBA代码如下:

Sub 指定位置粘贴图片()
    Dim Ws As Worksheet
    Set Ws = Application.ActiveSheet
    Dim Rag As Range
    If TypeName(Selection) = "Range" Then
        Set Rag = Selection
        Ws.Paste
        If TypeName(Selection) = "Picture" Then
            Dim Tu As Shape
            Set Tu = Ws.Shapes(Ws.Shapes.Count)
            With Tu
               .LockAspectRatio = msoFalse '解除纵横比锁定
               .Width = Rag.Width
               .Height = Rag.Height
               .Left = Rag.Left
               .Top = Rag.Top