ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2440|回复: 11

请教高手一个问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-7-28 16:27 | 显示全部楼层 |阅读模式
   跟香川群子老师学习了怎样批量插入图片(http://club.excelhome.net/thread-608962-2-1.html),但还有一些个人的喜好还没有实现,请各位大侠帮忙解决,付酬劳。问题如下:


目的:
文件夹中有图片文件若干,想在 照片工作表 中A列输入文件名,则在B列单元格显示对应的图片(效果如理想工作表)
效果1
单元格要自动适应图片高度(高太小看不到图片,如果通一高度,则有的嫌大有的嫌小)
效果2
在B列单元格图片上方显示文件名
效果3
如果没有对应图片则显示“没有该图片”,如果有则可以替换原来的图片

打出图片.rar

90.72 KB, 下载次数: 12

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-7-28 16:28 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-7-28 16:31 | 显示全部楼层
本人手机13915180108

所调用图片.rar

79.06 KB, 下载次数: 11

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-7-28 17:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我的图片的高度都不是一样的

TA的精华主题

TA的得分主题

发表于 2012-7-28 19:05 | 显示全部楼层
效果2: 在B列单元格图片上方显示文件名

…………
这个似乎很没有必要吧。

因为你已经在A列写有文件名了。 B列在标出,不就重复了么?

…………
关键是,一个单元格中,上部写入文件名,下面在贴图片时,图片的高度计算比较麻烦。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-7-28 20:20 | 显示全部楼层
本帖最后由 香川群子 于 2012-7-28 20:27 编辑

效果3中,【如果有则可以替换原来的图片】这句话意思不太明白。

其它的都实现了。
  1. Sub AutoPicInsert()
  2.     Application.ScreenUpdating = False
  3.    
  4.     PicPath = ThisWorkbook.Path '默认图片和文件放在同一文件夹里。如果不是,请自己修改、指定图片所在文件夹路径。
  5.    
  6.     [b1].Select  '默认从B1单元格开始,如果把这一句注释掉,可以从B列任意行开始,向下检查直到A列单元格内容为空
  7.     r = ActiveCell.Row
  8.     Do Until ActiveCell.Offset(0, -1) = ""
  9.         ActiveCell = ActiveCell.Offset(0, -1) 'B列抄写A列图片文件名称。
  10.         ActiveCell.Font.ColorIndex = 3 'B列字体改红色
  11.         ActiveCell.VerticalAlignment = xlTop 'B列文字靠上

  12.         PicName = ActiveCell.Offset(0, -1)
  13.         On Error Resume Next
  14.         ActiveSheet.Pictures.Insert(PicPath & "" & PicName & ".jpg").Select '插入图片
  15.         If Err.Number Then
  16.             ActiveCell = "没有图片"
  17.             Err.Clear
  18.             GoTo Nxt
  19.         Else
  20.             With Selection
  21.                 .Placement = xlMove
  22.                 .ShapeRange.LockAspectRatio = msoTrue
  23.                 ActiveCell.RowHeight = .Height + 20 '设置单元格高度+20 (预留文件名高度)
  24.                 If .Width > ActiveCell.Width Then ActiveCell.ColumnWidth = .Width / 6 '如果图片比现在B列列宽大,则改大
  25.                 .Top = ActiveCell.Top + 20 '图片顶点位置
  26.                 .Left = ActiveCell.Left '图片左边位置
  27.             End With
  28.         End If
  29. Nxt:
  30.         r = r + 1
  31.         Cells(r, 2).Select
  32.     Loop
  33.     Range("A1").Select
  34.    
  35.     Application.ScreenUpdating = True
  36. End Sub

复制代码

打出图片.rar

88.66 KB, 下载次数: 19

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-2 09:33 | 显示全部楼层
本帖最后由 jyjfjszx 于 2012-8-2 15:11 编辑

再问香川群子老师,问题见附件。请百忙中给予解答,不胜感谢!

打印问题2.rar

118.48 KB, 下载次数: 15

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-6 17:02 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-8 09:07 | 显示全部楼层
本帖最后由 jyjfjszx 于 2012-8-8 10:28 编辑

{:soso_e163:}老师啊老师,帮帮忙吧,急啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-8 10:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 00:22 , Processed in 0.054737 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表