哪位高手能把这个excel批量插入图片的宏改为按行插入呢?谢谢!
下面这个excel批量插入图片的宏已经能够实现从第二列获取名称,插入图片到第一列,能不能改为从第二行获取名称,将图片插入到第一行呢(即横向排列图片),怎么改呢?感谢!Su...
下面这个excel批量插入图片的宏已经能够实现从第二列获取名称,插入图片到第一列,能不能改为从第二行获取名称,将图片插入到第一行呢(即横向排列图片),怎么改呢?感谢!
Sub addpicture2()
Dim FirstRow, LastRow As Integer, FileType As String
FirstRow = Sheet1.UsedRange.Row
LastRow = FirstRow + Sheet1.UsedRange.Rows.Count - 1
FileType = InputBox("输入你的图片的后缀名", "输入图片格式", "jpg")
For i = FirstRow To LastRow
Numb = Cells(i, 2).Value
With ActiveSheet
.Pictures.Insert("D:\PIC\" & Numb & "." & FileType).Select
Set Target = .Cells(i, 1)
End With
With Selection
.Top = Target.Top + 1
.Left = Target.Left + 1
.Width = Target.Width - 1
.Height = Target.Height - 1
End With
Next i
End Sub 展开
Sub addpicture2()
Dim FirstRow, LastRow As Integer, FileType As String
FirstRow = Sheet1.UsedRange.Row
LastRow = FirstRow + Sheet1.UsedRange.Rows.Count - 1
FileType = InputBox("输入你的图片的后缀名", "输入图片格式", "jpg")
For i = FirstRow To LastRow
Numb = Cells(i, 2).Value
With ActiveSheet
.Pictures.Insert("D:\PIC\" & Numb & "." & FileType).Select
Set Target = .Cells(i, 1)
End With
With Selection
.Top = Target.Top + 1
.Left = Target.Left + 1
.Width = Target.Width - 1
.Height = Target.Height - 1
End With
Next i
End Sub 展开
3个回答
展开全部
最好的方法你自己录制,然后再修改一下.
因为宏代码是与工作表紧密相关的.没有你的表,给的代码也用不了,除非你自己会修改.
1.删除sheet1的第7行.
sheets("sheet1").select
rows(7).delete
range("a25").value="5月"
2.
移动到下一个表:
activesheet.next.select
这样就可以移动到下一个工作表了,
因为宏代码是与工作表紧密相关的.没有你的表,给的代码也用不了,除非你自己会修改.
1.删除sheet1的第7行.
sheets("sheet1").select
rows(7).delete
range("a25").value="5月"
2.
移动到下一个表:
activesheet.next.select
这样就可以移动到下一个工作表了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub addpicture2()
Dim FirstCol, LastCol As Integer, FileType As String
FirstCol = Sheet1.UsedRange.column
LastCol = FirstCol + Sheet1.UsedRange.Columns.Count - 1
FileType = InputBox("输入你的图片的后缀名", "输入图片格式", "jpg")
For i = FirstCol To LastCol
Numb = Cells(2,i).Value '这儿
With ActiveSheet
.Pictures.Insert("D:\PIC\" & Numb & "." & FileType).Select
Set Target = .Cells(1,i) '这儿
End With
With Selection
.Top = Target.Top + 1
.Left = Target.Left + 1
.Width = Target.Width - 1
.Height = Target.Height - 1
End With
Next i
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个变通的办法:在添加一列为序号,在每个学生成绩前面填写1、3、5、7。。。。 然后在加长建议的前面填写2、4、6、8。。。。,最后按序号排序就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询