楼主: ¥天天天藍
1483 4

[问答] 求excel vba大神帮助 [推广有奖]

  • 0关注
  • 0粉丝

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
371 点
帖子
7
精华
0
在线时间
10 小时
注册时间
2013-4-9
最后登录
2014-7-8

楼主
¥天天天藍 发表于 2013-4-14 19:25:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
要处理八个市土地类型的数据。。具体是筛选出某地类,然后将该市各县的该地类面积求总和,填入另一个表。。由于数据量较大,一个市细分为约十几个地类,所以想用编程来减少工作量。但是程序貌似有语法错误,求指点Sub culc()        Dim myRow As Integer
        myRow = 4

        Sheets(1).Active
        Sheets(2).Cells(myRow, 1) = SumIf(G, "有林地", W)
        Sheets(2).Cells(myRow, 2) = SumIf(G, "灌木林地", W)
        Sheets(2).Cells(myRow, 3) = SumIf(G, "茶园" OR "果园" OR "其他林地" OR "其他园地", W)
        Sheets(2).Cells(myRow, 7) = SumIf(G, "水田", W)
        Sheets(2).Cells(myRow, 8) = SumIf(G, "旱地", W)
        Sheets(2).Cells(myRow, 9) = SumIf(G, "城市", W)
        Sheets(2).Cells(myRow, 10) = SumIf(G, "村庄", W)
        Sheets(2).Cells(myRow, 11) = SumIf(G, "采矿用地" OR "风景名胜及特殊用地" OR "港口码头用地" OR "机场用地" OR "建制镇" OR "设施农用地" OR "人工建筑用地" OR "铁路用地", W)
        Sheets(2).Cells(myRow, 14) = SumIf(G, "裸地", W)
        Sheets(2).Cells(myRow, 16) = SumIf(G, "河流水面" OR 沟渠, W)
        Sheets(2).Cells(myRow, 17) = SumIf(G, "湖泊水面" OR "坑塘水面" OR "水库水面", W)
        Sheets(2).Cells(myRow, 18) = SumIf(G, "内陆滩涂" OR "沼泽地", W)
        Sheets(2).Cells(myRow + 1, 1) = Sheets(8).Cells(myRow, 1) + Sheets(8).Cells(myRow, 2) + Sheets(8).Cells(myRow, 3)
        Sheets(2).Cells(myRow + 1, 4) = SumIf(G, "人工牧草地" OR "天然牧草地" OR "其他草地", W)
        Sheets(2).Cells(myRow + 1, 7) = Sheets(8).Cells(myRow, 7) + Sheets(8).Cells(myRow, 8)
        Sheets(2).Cells(myRow + 1, 9) = Sheets(8).Cells(myRow, 9) + Sheets(8).Cells(myRow, 10) + Sheets(8).Cells(myRow, 11)
        Sheets(2).Cells(myRow + 1, 12) = Sheets(8).Cells(myRow, 14)
        Sheets(2).Cells(myRow + 1, 16) = Sheets(8).Cells(myRow, 16) + Sheets(8).Cells(myRow, 17) + Sheets(8).Cells(myRow, 18)
End Sub


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL xcel exce cel VBA excel

沙发
TaskShare 发表于 2013-4-14 21:38:53
关于:SumIf(G, "茶园" OR "果园" OR "其他林地" OR "其他园地", W)
-不知你是否在随便一个单元格有试验过OR在SUMIF公式中能按如上这么用吗?
-还有G,W是什么?没有见到有在此程序中定义过。如果你指的是第G列,那么应该用G:G而不是G
建议你得先试试单元格能接受这么个一个公式,再编程序。

藤椅
TaskShare 发表于 2013-4-14 21:40:51
TaskShare 发表于 2013-4-14 21:38
关于:SumIf(G, "茶园" OR "果园" OR "其他林地" OR "其他园地", W)
-不知你是否在随便一个单元格有试验过 ...
另外Sheets(2).Cells(myRow, 1) =SUMIF(...),也有问题,应该考虑使用
Sheets(2).Cells(myRow, 1).formula ="=SUMIF(...)"

板凳
¥天天天藍 发表于 2013-4-18 19:28:04
谢啦,我发现SumIf(G, "有林地", W)这里错了,在excel里用函数和编程不一样,要改成SumIf(“G:G”, "有林地",“ W:W”)。。还有貌似要写成function.sumif。。还是感谢

报纸
controlpanel 在职认证  发表于 2013-5-5 18:21:04
可以用sumifs函数。 Book13.xlsx (12.91 KB)
如果没有固定格式的话,用数据透视表结合分组,实现起来更为简单。
其实,我就是传说中的控制面板……

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 02:11