查看: 96|回复: 3

[电脑] EXCEL2013 VBA提示类型不匹配

[复制链接]

2万

主题

2万

帖子

7万

积分

论坛元老

Rank: 8Rank: 8

积分
79306
发表于 2019-7-22 10:44:16 | 显示全部楼层 |阅读模式



Private Sub Worksheet_Change(ByVal Target As Range)On Error Resume NextIf Target.Column = 3 Then   MkDir "\\USER-20171225QG\Users\Public\文件\商川客户文件\" & Target.Value End IfEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 3 And Target <> "" ThenShell "explorer.exe " & "\\USER-20171225QG\Users\Public\文件\商川客户文件\" & Target.Text, vbNormalFocusEnd IfEnd Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?在线注册

x
回复

使用道具 举报

0

主题

2万

帖子

6836

积分

论坛元老

Rank: 8Rank: 8

积分
6836
发表于 2019-7-22 10:44:40 | 显示全部楼层
是不是 Range(“F”& i +1) 这个单元格的值 不是 “数值型”?
回复 支持 反对

使用道具 举报

0

主题

2万

帖子

6836

积分

论坛元老

Rank: 8Rank: 8

积分
6836
发表于 2019-7-22 10:44:53 | 显示全部楼层
判断写错了,应该是Target.value<>“”
回复 支持 反对

使用道具 举报

0

主题

2万

帖子

6836

积分

论坛元老

Rank: 8Rank: 8

积分
6836
发表于 2019-7-22 10:45:16 | 显示全部楼层
主要是你选择了多个单元格,Target <> ""这个判断出错(无法判断多个单元格),两种修改方法:
方法一、只比较选择单元格区域的第一个单元格
If Target.Column = 3 And Target(1) <> "" Then
方法二、不改IF这句,在这句前面再增加一个限制条件:
If Target.CountLarge > 1 Then Exit Sub
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|Archiver|我要投稿|洛阳IT论坛 ( 豫ICP备18021590号 )|网站地图

GMT+8, 2019-12-6 01:49 , Processed in 0.091116 second(s), 24 queries .

Powered by 洛阳IT论坛网 X3.2

© 2018-2020 China Inc.

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