ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请教各位大神,VBA小白

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-12-29 15:44 | 显示全部楼层 |阅读模式
请教各位大神,附件中Flgiht Schedule的sheet中的信息,怎样设置VBA代码能到数据库的Sheet中自动生成?试了几次都不能成功,写了最基础的VBA代码。

谢谢各位。

Flight Information.rar

20.1 KB, 下载次数: 2

Flight Information

TA的精华主题

TA的得分主题

发表于 2022-12-29 16:01 | 显示全部楼层
本帖最后由 yvhgydn 于 2022-12-29 16:10 编辑

Sub test()
    Dim i
    i = Sheets("数据库").[a65536].End(3).Row + 1
    Sheets("数据库").Range("A" & i) = [C3]
    Sheets("数据库").Range("B" & i) = [E3]
    Sheets("数据库").Range("C" & i) = [G3]
    Sheets("数据库").Range("E" & i) = [I3]
    Sheets("数据库").Range("F" & i) = [K3]
    Sheets("数据库").Range("G" & i) = [C4]
    Sheets("数据库").Range("H" & i) = [E4]
    Sheets("数据库").Range("C" & i) = [G4]
    Sheets("数据库").Range("E" & i) = [I4]
    Sheets("数据库").Range("F" & i) = [K4]
    Sheets("数据库").Range("G" & i) = [C5]
    Sheets("数据库").Range("H" & i) = [E5]
    Sheets("数据库").Range("C" & i) = [G5]
    Sheets("数据库").Range("E" & i) = [I5]
    Sheets("数据库").Range("F" & i) = [K5]
    Sheets("数据库").Range("G" & i) = [C6]
    Sheets("数据库").Range("H" & i) = [E6]
    Sheets("数据库").Range("C" & i) = [G6]
    Sheets("数据库").Range("E" & i) = [I6]
    Sheets("数据库").Range("F" & i) = [K6]
    Sheets("数据库").Range("G" & i) = [C7]
    Sheets("数据库").Range("H" & i) = [E7]
    Sheets("数据库").Range("C" & i) = [G7]
    Sheets("数据库").Range("E" & i) = [I7]
End Sub
代码能执行,但从标红的代码你是反复在执行,是什么意思
另外把按钮指定宏连接到Sheet2.test
你是把按钮指定宏连接到'Flight Schedule'!提交,但实际是你在这个表中没有 提交 这个宏代码
点击按钮右键,指定宏,选取宏名

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-29 16:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
yvhgydn 发表于 2022-12-29 16:01
Sub test()
    Dim i
    i = Sheets("数据库").[a65536].End(3).Row + 1

因为我想提取G4,G5,G6,G7的数据,然后我这边一执行,就提示我宏不能运行,但是我已经设置过信任所有宏打开了。

TA的精华主题

TA的得分主题

发表于 2022-12-29 16:11 | 显示全部楼层
本帖最后由 yvhgydn 于 2022-12-29 16:12 编辑

你是把按钮指定宏连接到'Flight Schedule'!提交,但实际是你在这个表中没有 提交 这个宏代码
点击按钮右键,指定宏,选取宏名
试试另外把按钮指定宏连接到Sheet2.test
还有如果在模块中写不要用[a1]这种模式,因为 不知道指写的是 哪一个 表 中的单元格

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-29 16:14 | 显示全部楼层
yvhgydn 发表于 2022-12-29 16:11
你是把按钮指定宏连接到'Flight Schedule'!提交,但实际是你在这个表中没有 提交 这个宏代码
点击按钮右 ...

谢谢您,我是可以运行宏了,但是提取到后面的数据,不能全部生成,只生成了8列,后面的都是空白的是什么原因呢?

TA的精华主题

TA的得分主题

发表于 2022-12-29 16:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
书彤若影 发表于 2022-12-29 16:14
谢谢您,我是可以运行宏了,但是提取到后面的数据,不能全部生成,只生成了8列,后面的都是空白的是什么 ...

你看我上面代码中标红的,你的代码只写到H列,其余就在重复了,所以 就只有8列

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-29 16:34 | 显示全部楼层
yvhgydn 发表于 2022-12-29 16:21
你看我上面代码中标红的,你的代码只写到H列,其余就在重复了,所以 就只有8列

Sub test()
    Dim i
    i = Sheets("数据库").[a65536].End(3).Row + 1
    Sheets("数据库").Range("A" & i) = [C3]
    Sheets("数据库").Range("B" & i) = [E3]
    Sheets("数据库").Range("C" & i) = [G3]
    Sheets("数据库").Range("E" & i) = [I3]
    Sheets("数据库").Range("F" & i) = [K3]
    Sheets("数据库").Range("G" & i) = [C4]
    Sheets("数据库").Range("H" & i) = [E4]
    Sheets("数据库").Range("I" & i) = [G4]
    Sheets("数据库").Range("J" & i) = [I4]
    Sheets("数据库").Range("K" & i) = [K4]
    Sheets("数据库").Range("L" & i) = [C5]
    Sheets("数据库").Range("M" & i) = [E5]
    Sheets("数据库").Range("N" & i) = [G5]
    Sheets("数据库").Range("O" & i) = [I5]
    Sheets("数据库").Range("P" & i) = [K5]
    Sheets("数据库").Range("Q" & i) = [C6]
    Sheets("数据库").Range("R" & i) = [E6]
    Sheets("数据库").Range("S" & i) = [G6]
    Sheets("数据库").Range("T" & i) = [I6]
    Sheets("数据库").Range("U" & i) = [K6]
    Sheets("数据库").Range("V" & i) = [C7]
    Sheets("数据库").Range("W" & i) = [E7]
    Sheets("数据库").Range("X" & i) = [G7]
    Sheets("数据库").Range("Y" & i) = [I7]
End Sub
您好,我改了下,是可以全部提取了,但是比如起飞落地的时间那里,就是小数,生成的不是我前面的时间格式,还有WEEK那列还是空的,请教是我的代码哪里编写的还不正确吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-29 16:43 | 显示全部楼层
yvhgydn 发表于 2022-12-29 16:21
你看我上面代码中标红的,你的代码只写到H列,其余就在重复了,所以 就只有8列

您好,谢谢您,已经可以了,请教为什么时间格式的无法在后面自动生成呢?生成的都是小数,0.几的这样

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-29 16:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yvhgydn 发表于 2022-12-29 16:21
你看我上面代码中标红的,你的代码只写到H列,其余就在重复了,所以 就只有8列

您好,打扰了,我更改了单元格格式,可以了,谢谢您
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 18:35 , Processed in 0.037444 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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