网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月08日漏签0天
vba吧 关注:17,060贴子:66,746
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 14回复贴,共1页
<<返回vba吧
>0< 加载中...

新手学习vba简单问题求助大神!!!

  • 只看楼主
  • 收藏

  • 回复
  • chygy1
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
数据库中导出的数据表有33列,但我只需要其中6列,每列有标题如“姓名”‘“年级”等等,我只想保留特定列,其他删除,但不是每次数据库中导出的数据表列固定,求如何写vba代码?网上找到的都是删除A:A列这样的,求大神指导下,感谢


  • sc_zhuang
  • 英雄豪杰
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
循环这33列,如果名字不是这6个就删除该列


2025-08-08 23:01:47
广告
不感兴趣
开通SVIP免广告
  • chygy1
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
只会写 if range("a"&i)<>"姓名" and range("a"&i)<>"年龄" and range("a"&i)<>"年级"这样的,要写好长一串的,有没有简单点的办法,写短一点的???


  • sc_zhuang
  • 英雄豪杰
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
把你这六个数据存入数组中,然后去遍历数组,判断当前列名是否在数组中,这样也可以


  • baifandu2013
  • 武林新贵
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1、你把if range("a"&i)<>"姓名" and range("a"&i)<>"年龄" and range("a"&i)<>"年级" 反过来写成if range("a"&i)="姓名" or range("a"&i)="年龄" or range("a"&i)="年级",就简单了;
2、如果数量仍然觉得多,就用循环,需要定义一个数组,存储你需要的字段名:
dim arr(1 to 6)
arr(1)="姓名"
arr(2)="年龄"
arr(3)=“年级”
....
for i=1 to 33 '循环33个列
if isempty(cells(1,i)) then '如果第一行的标题列为空就退出循环
exit for
endif
s=cells(1,i) '读取列标题,标题假设在第一行
bz=false '定义查询标志
for k=1 to 6 '循环数组
if arr(k)=s then '数组=列标题
bz=true '改变查询标志并退出查询
exit for
endif
next k
if not bz then '如果没查到表示要删除
columns(i).delete '删除i列
i=i-1 '删除后后面的列会前移,所以参数要-1,否则前移的这一列会漏判断
endif
next i
上面的代码虽然写的很长,但灵活性也更大,可以应付比较复杂的情况。
代码没有测试,可能会有错误;


  • sc_zhuang
  • 英雄豪杰
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不想打字就把列名用数字代替了,数组中就是你想留下的列名


  • TuskAi
  • 后起之秀
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用SQLSELECT指定字段


  • chygy1
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
感谢楼上各位,我去试试


2025-08-08 22:55:47
广告
不感兴趣
开通SVIP免广告
  • 名难取一比吊糟
  • 后起之秀
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
需要的列名放到一个数组里!然后把数据源赋值给另一个数组!做两个for循环嵌套,然后application.index(arr2,i),把数据取出来


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回vba吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示