VBA将图像移动到新工作表的相同位置

时间:2017-02-23 19:39:46

标签: excel vba excel-vba

我在下面有一个VBA代码,用于将信息从主工作表转移到新工作表。前三列是一个模板(学校成绩单),它会转到每个新表。下一列(学生成绩)分别单独转到不同的工作表,始终显示在模板旁边的D列中。

这是截图

screenshot

以下是代码:

`Option Explicit

Sub parse_data()
    Dim studsSht As Worksheet
    Dim cell As Range
    Dim stud As Variant

    Set studsSht = Worksheets("Input")
    With CreateObject("Scripting.Dictionary")
        For Each cell In studsSht.Range("D7:Q7").SpecialCells(xlCellTypeConstants, xlTextValues)
            .Item(cell.Value) = .Item(cell.Value) & cell.EntireColumn.Address(False, False) & ","
        Next
        For Each stud In .keys 
            Intersect(studsSht.UsedRange, studsSht.Range(Left(.Item(stud), Len(.Item(stud)) - 1))).Copy Destination:=GetSheet(CStr(stud)).Range("D1") 
        Next
    End With

    studsSht.Activate
End Sub

Function GetSheet(shtName As String) As Worksheet
On Error Resume Next
Set GetSheet = Worksheets(shtName)
If GetSheet Is Nothing Then
    Set GetSheet = Sheets.Add(after:=Worksheets(Worksheets.Count))
    GetSheet.Name = shtName
    Sheets("Input").Range("A1:C63").Copy
    GetSheet.Range("A1:D63").PasteSpecial xlAll
End If
End Function`

我的问题是该模板还包含徽标(由于显而易见的原因,我已将其从屏幕截图中删除),但我无法让它们转到新的表格。

我已尝试将徽标放在隐藏的工作表上,我希望它们显示在新工作表中,并将Sheets.Add替换为HiddenSheet.Copy,但它会出错。我想我正在尝试使代码转换两个模板然后,一个在另一个之上。如果有人能让它发挥作用,那就好了。

我也尝试过使用TopLeft Center,但这些徽标偏离了它们的位置。我更喜欢模板方法。

对亲戚有什么帮助?

0 个答案:

没有答案