|
Sub PicSet()
For i = 1 To 31 '按日期
For j = 1 To 3 '按上午、下午、晚上
ActiveSheet.Shapes("pic").Copy '复制标准图片
Cells(14 + j, 2 + i * 2).Select '定位到指定日期位置。
ActiveSheet.Paste '粘贴标准图片
'已复制图片中心对准放置在合并单元格中。
With Selection
.Top = ActiveCell.Top + (ActiveCell.MergeArea.Height - .Height) / 2 '上下对准
.Left = ActiveCell.Left + (ActiveCell.MergeArea.Width - .Width) / 2 '左右对准
End With
'已复制图片按日期、上下晚重新命名 (格式如:p_01a)
Selection.Name = "p_" & Format(i, "00") & Choose(j, "a", "p", "n")
'定义含vlookup公式的offset方式名称,以便单元格内容更新后自动反映相应的图片内容。
ActiveWorkbook.Names.Add Name:="pic" & Format(i, "00") & Choose(j, "a", "p", "n"), _
RefersToR1C1:="=OFFSET(天气!R1C1,VLOOKUP(工程晴雨表!R" & 14 + j & "C" & 2 + i * 2 & ",天气,2,),1,1)"
'把刚才已经复制、命名以及中央对准定位好的新图片,给予定义名称赋值即可。
Selection.Formula = "pic" & Format(i, "00") & Choose(j, "a", "p", "n")
Next
Next
End Sub
以上。
请试用。
我自己已经试过了,但是现在无法上传附件。 |
|