鱼C论坛

 找回密码
 立即注册
查看: 4442|回复: 9

[已解决]VBA问题求助,感谢大佬们

[复制链接]
发表于 2022-5-2 14:55:18 | 显示全部楼层 |阅读模式
40鱼币
大佬们,求助一个VBA的问题。
这里我就是想把不连续重复的值加在一起放置于B2单元格。但是else后面自动加了个冒号:,而且会报错。希望有大佬看看是哪里有问题,谢谢 VBA.png
最佳答案
2022-5-2 14:55:19
雪之下路漫漫 发表于 2022-5-4 15:39
嗯嗯,但是我输入else也好,end if也好,都会报出没有if块的错误。这个我实在不知道怎么改。您可以帮忙改 ...

还可以进一步简化:
  1. Sub ooo()
  2.   Dim i, j As Integer
  3.   j = 1
  4.   For i = 1 To 12
  5.     If Range("a" & i + 1) <> Range("a" & i) Then
  6.       Range("b" & j) = Range("a" & i).Value
  7.       j = j + 1
  8.     End If
  9. Next
  10. End Sub
复制代码

最佳答案

查看完整内容

还可以进一步简化:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-2 14:55:19 | 显示全部楼层    本楼为最佳答案   
雪之下路漫漫 发表于 2022-5-4 15:39
嗯嗯,但是我输入else也好,end if也好,都会报出没有if块的错误。这个我实在不知道怎么改。您可以帮忙改 ...

还可以进一步简化:
  1. Sub ooo()
  2.   Dim i, j As Integer
  3.   j = 1
  4.   For i = 1 To 12
  5.     If Range("a" & i + 1) <> Range("a" & i) Then
  6.       Range("b" & j) = Range("a" & i).Value
  7.       j = j + 1
  8.     End If
  9. Next
  10. End Sub
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-2 20:16:45 From FishC Mobile | 显示全部楼层
主要是你的if   else   endif    啥也没干啊
k=k是神马鬼
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-3 16:35:44 | 显示全部楼层
wp231957 发表于 2022-5-2 20:16
主要是你的if   else   endif    啥也没干啊
k=k是神马鬼

IF a1不等于a2,那么k就累加上a1的值。否则k保持现状。请问该怎么改呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-4 10:45:17 | 显示全部楼层
每个with和if都有配对的end with和end if
用完就要end
结束时候也必须要使用else。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-4 10:55:37 | 显示全部楼层
还有else怎么在end if 前面,这里应该也有语法错误,
k=k的赋值放在最后面,if   else   endif要与end相结合使用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-4 15:39:26 | 显示全部楼层
新源 发表于 2022-5-4 10:55
还有else怎么在end if 前面,这里应该也有语法错误,
k=k的赋值放在最后面,if   else   endif要与end相结 ...

嗯嗯,但是我输入else也好,end if也好,都会报出没有if块的错误。这个我实在不知道怎么改。您可以帮忙改一下代码,让我看一下正确的应该怎么写吗?谢谢大佬。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-5 13:00:14 | 显示全部楼层
雪之下路漫漫 发表于 2022-5-4 15:39
嗯嗯,但是我输入else也好,end if也好,都会报出没有if块的错误。这个我实在不知道怎么改。您可以帮忙改 ...

家里电脑没有微软的excel  
  1. Sub ooo()
  2.   Dim i, k As Integer
  3.   Dim j As Integer
  4.   j = 1
  5.   For i = 1 To 12
  6.     k = 0
  7.     If Range("a" & i + 1) <> Range("a" & i) Then
  8.       k = k + Range("a" & i).Value     'else k=k 实属无用语句  故可省略
  9.     End If
  10.     If k Then
  11.       Range("b" & j) = k
  12.       j = j + 1     '增加这个变量意思是 从第一行写入数值
  13.     End If
  14.   Next
  15. End Sub
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-5 13:01:59 | 显示全部楼层
雪之下路漫漫 发表于 2022-5-4 15:39
嗯嗯,但是我输入else也好,end if也好,都会报出没有if块的错误。这个我实在不知道怎么改。您可以帮忙改 ...

附效果图
vba1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-6 16:21:32 | 显示全部楼层
可以使用字典功能,判断字典中是否有该数值,没有就添加,再把字典的内容输出给B列
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 09:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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