ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 按需要统计生成一个TXT

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-25 09:23 | 显示全部楼层 |阅读模式
本帖最后由 tangyj 于 2024-9-25 15:11 编辑

求各位大佬帮修改一下代码
b1表:按班级统计面积产量,生成:
一班面积****,产量***。
二班面积****,产量***。
三班面积****,产量***。
四班面积****,产量***。
五班面积****,产量***。
六班面积****,产量***。
七班面积****,产量***。
b2表:按种植种类统计面积,代码已实现

最终生成一个TXT文件

对于b1表我的思路是:
1、如果面积和产量都没有,就不写出
2、如果有面积,没有产量,就写出“**班面积****公顷;无产量。”
3、如果面积和产量都有,就写出“**班面积****公顷;产量***公斤。


生成格式如下:
b1表

一班面积0.5000公顷,产量25公斤。
二班面积0.6000公顷,产量28公斤。
三班面积0.4000公顷,产量17公斤。
六班面积0.0054公顷,无产量。
七班面积1.2200公顷,产量35公斤。

b2表
大白菜面积0.2150公顷。
黄瓜面积0.4450公顷。
南瓜面积0.2300公顷。
羽衣甘蓝面积0.2350公顷。
生菜面积0.4850公顷。
芹菜面积0.2500公顷。
油麦菜面积0.2550公顷。
茼蒿面积0.2600公顷。
苋菜面积0.3504公顷。

微信图片_20240925151020.png

TEST.zip

36.96 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2024-9-25 09:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 liulang0808 于 2024-9-26 07:49 编辑


讲b1表格内容输出到文本文件内,不知道理解对不对的
image.png

TA的精华主题

TA的得分主题

发表于 2024-9-25 09:44 | 显示全部楼层
Sub 生成txt()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ar As Variant
Dim br()
ar = Range("a4:r7")
mc = ActiveSheet.Name
ReDim br(1 To 7, 1 To 1)
For j = 5 To UBound(ar, 2) - 1 Step 2
    If ar(1, j) <> "" Then
        n = n + 1
        If ar(4, j) = "" Then ar(4, j) = 0
        br(n, 1) = ar(1, j) & ar(2, j) & ar(4, j) & "," & ar(2, j + 1) & ar(4, j + 1)
    End If
Next j
Application.SheetsInNewWorkbook = 1
Set wb = Workbooks.Add
With wb.Worksheets(1)
    .[a1].Resize(n, 1) = br
End With
wb.SaveAs Filename:=ThisWorkbook.Path & "\" & mc & ".txt", _
        FileFormat:=xlUnicodeText, CreateBackup:=False
wb.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

发表于 2024-9-25 09:45 | 显示全部楼层
参考
TEST.rar (38.49 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 09:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 tangyj 于 2024-9-25 09:49 编辑
liulang0808 发表于 2024-9-25 09:33
讲b1表格内容输出到文本文件内,不知道理解对不对的

大佬您好,您的代码对B1是对的,我需要把b1、b2表的一起写到txt中,四班、五班没有产量,是不用写出的

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 09:53 | 显示全部楼层

大佬您好,运行您的代码生成:
"一班面积0.5,产量25"
"二班面积0.6,产量28"
"三班面积0.4,产量17"
"四班面积0,产量"
"五班面积0,产量"
"六班面积0.0054,产量"
"七班面积1.22,产量35"

我的思路是生成
"一班面积0.5,产量25"
"二班面积0.6,产量28"
"三班面积0.4,产量17"
"六班面积0.0054,无产量"
"七班面积1.22,产量35"

TA的精华主题

TA的得分主题

发表于 2024-9-25 09:56 | 显示全部楼层
tangyj 发表于 2024-9-25 09:53
大佬您好,运行您的代码生成:
"一班面积0.5,产量25"
"二班面积0.6,产量28"

源代码+if条件判断就行了

TA的精华主题

TA的得分主题

发表于 2024-9-25 10:05 | 显示全部楼层
tangyj 发表于 2024-9-25 09:45
大佬您好,您的代码对B1是对的,我需要把b1、b2表的一起写到txt中,四班、五班没有产量,是不用写出的

结合附件将b2表格怎么处理描述清楚,最后输出结果怎样的
或者楼主可以用已经提供的代码自己根据需求整合的

TA的精华主题

TA的得分主题

发表于 2024-9-25 10:15 | 显示全部楼层
tangyj 发表于 2024-9-25 09:53
大佬您好,运行您的代码生成:
"一班面积0.5,产量25"
"二班面积0.6,产量28"

你既然能够捣鼓代码,自己加个条件判断不就行了吗

TA的精华主题

TA的得分主题

发表于 2024-9-25 10:18 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 03:19 , Processed in 0.038885 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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