EXCEL中,我想用VBA代码实现(E列F列G列H列I列)数据按条件输入.盼高人相助!

前言:我原来的EXCEL表格行数很多,但下一行和上一行相同的地方也比较多,完全不同的只有k列,只有这列的数据每行都要填,(其它大多数的数据基本上都是自动生成)。具体要求如... 前言:我原来的EXCEL表格行数很多,但下一行和上一行相同的地方也比较多,完全不同的只有 k列,只有这列的数据每行都要填,(其它大多数的数据基本上都是自动生成)。 具体要求如下:
一、当K列某单元格原来是空白(备注:不是修改数据)输入数据时:
(一)如果同一行的C列单元格其上一行的单元格相等时:
<1>、 如果本行的 E、F、G、H、I列中已 有数 据(不是空白时),保持原有数据不变。
<2>、 如果本行的 E、F、G、H、I列中是空白时(单元格内

没有数据), 则这些单元格则等于上一单元格;
(二)如果C列与上一单元格不相等时,无论在K列输入数据、还是改动数据,对 E、F、G、H、I列都不起作用。(E、F、G、H、I列内原有数据〈包含空白〉,都保持不变)

二、当K列某单元格只是修改数据(该单元格原来不是空白,只是修改数据)的时候,则对所有单元格不发生作用.原有数据都保持不变

三、 E、F、G、H、I列这五列数据完全独立,互不相干; 我的数据从第三行开始,6万行结束
展开
 我来答
真真真白丁
2014-05-12 · TA获得超过8516个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1657万
展开全部
亲,这是我第二次看到您的问题了,还是晕了许久~~~~~~~~,建议亲以后直接说“事儿”,ABCD的容易晕题~~~
我试着总结一下您的要求,您看对不对:
只有当订单数量重量的K列为空且输入数据的时候,做一个判断:如果订单规格也为空,且客户C列和上一行一样,就把订单规格填成和上一行一样。
其它任何条件下,VBA对表格内容不做任何处理。

=====================================================
亲,我的问题是,这个太容易误操作了~~~比方说,您不小心在K列填了内容,VBA又恰好对订单规格做了填充,您没注意;此时觉得不对,又要删除K列内容,订单规格就留在那儿了;再比方说,原来K列有内容,按您的要求修改一下不应该有什么操作,此时您按了Delete键再填入内容,和直接修改内容,有可能会出现不同的结果哦~~~

所以,我担心亲是不是对这个要求的逻辑性都考虑周全了?如果确实考虑周全了,我想,恐怕第一件事儿就是把K列手工备份在别处,当做原始的状态,在写VBA的时候和它做唯一的比对,这样才知道是“填空”还是“修改”~~~
百度网友2fa5bcb
推荐于2016-08-03 · TA获得超过408个赞
知道答主
回答量:98
采纳率:0%
帮助的人:32.2万
展开全部

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 11 And Range("K" & Target.Row) = "" Then '当K列某单元格只是修改数据原有数据都保持不变

       If Range("C" & Target.Row) = Range("C" & Target.Row - 1) Then 'C列单元格其上一行的单元格相等时

            If Range("E" & Target.Row) = "" Then '如果本行的 E、F、G、H、I列中是空白时则这些单元格则等于上一单元格;

                Range("E" & Target.Row & ":I" & Target.Row).Value = Range("E" & Target.Row - 1 & ":I" & Target.Row - 1).Value

            End If

       End If

    End If

End Sub

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式