修改一个宏两组数据

我有这个宏选择行并将它们发送到不同的表。 现在这是一组数字。 我想他们分手了(开关与发射器)。 我不知道如何改变这一点。 我的第二批数据的第58行开始因此,任何帮助将是巨大的。

私人小组Worksheet_BeforeDoubleClick(BYVAL目标作为范围,取消为布尔)

Application.EnableEvents =假

如果Target.Column = 6然后
Target.Value = IIF(Target.Value = CHR $(254),CHR $(168),CHR $(254))
取消= TRUE

MoveIt Target.Row,(Target.Value = CHR $(254))

万一
Application.EnableEvents = TRUE

结束小组
私人小组Worksheet_ChangeA(BYVAL目标作为范围)

昏暗strValue中作为字符串

Application.EnableEvents =假

“//添加复选框新项目...
如果Target.Column = 1,则
如果未ISERROR(Target.Offset(0,5))。然后
如果Target.Offset(0,5)= vbNullString然后
Target.Offset(0,5)。价值= CHR $(168)
万一
万一

elseif的Target.Column = 6于是
MSGBOX 3
'//不要让上校˚F手动编辑
Application.Undo

万一

Application.EnableEvents = TRUE

结束小组
私人小组MoveItA(lngRow长,BCOPY由于布尔)

昏暗chkRowNum只要
暗淡x As中长

随着表(“校准”)

'//需要一个+1下移关闭最后一行
'//简单的代码 - 这意味着就会有一个空白行
chkRowNum = .Cells(Rows.Count,“A”)。完(xlUp).Row + 1

如果BCOPY然后
ActiveSheet.Range(“A”lngRow&“:E”和lngRow).Copy
.Range(“A”&chkRowNum).PasteSpecial
其他
“//不是真的有必要在这里,但通常最好
'//自下而上删除
当x = chkRowNum要1步骤-1
'//这里比较第一列 - 编辑,以适应
如果.Cells(X,1).value的= ActiveSheet.Cells(lngRow,1).value的再
.Rows(X).Delete
对于出口
万一
下一个
万一
结束与

'//摆脱复制高亮的
Application.CutCopyMode =假
结束小组

--------------解决方案-------------

好了,想我想起来了。 尝试这个:

私人小组Worksheet_BeforeDoubleClick(BYVAL目标作为范围,取消为布尔)
Application.EnableEvents =假
如果Target.Column = 6然后
Target.Value = IIF(Target.Value = CHR $(254),CHR $(168),CHR $(254))
取消= TRUE

MoveIt Target.Row,(Target.Value = CHR $(254))
万一
Application.EnableEvents = TRUE
结束小组

私人小组MoveIt(lngRow长,BCOPY由于布尔)
昏暗chkRowNum长,stopRowNum只要
暗淡x As中长

随着表(“校准”)
选择案例lngRow
案例1至55
chkRowNum = .Cells(49,“A”)。完(xlUp).Row + 1
stopRowNum = 4
案例58〜78
chkRowNum = .Cells(79,“A”)。完(xlUp).Row + 1
stopRowNum = 50
案例否则:退出小组
结束选择
chkRowNum = Application.Max(chkRowNum,stopRowNum)

如果BCOPY然后
ActiveSheet.Range(“A”lngRow&“:E”和lngRow).Copy
.Range(“A”&chkRowNum).PasteSpecial
其他
“//不是真的有必要在这里,但通常最好从下往上删除
当x = chkRowNum要stopRowNum步骤-1
'//这里比较第一列
如果.Cells(X,1).value的= ActiveSheet.Cells(lngRow,1).value的再
.Rows(X).Delete
对于出口
万一
下一个
万一
结束与

'//清空剪贴板
Application.CutCopyMode =假
结束小组

希望有所帮助。

干杯
丰富

尝试:

.Rows(X).Delete
如果stopRowNum = 4那么.Rows(49).Insert移位:= xlDown

不知道是否我们正在删除/插入在正确的表,但你说的前面的代码工作正常。 没有工作表中的样本,我真的不能测试。 很多猜测在这里工作...

干杯
丰富

嗨,
将需要移动到一个片材中的数据总是高于排58,并且需要移动到另一片的数据是在列58和下面?

如果没有,那么一个想法是使用Ctrl +同时按住Shift组合键为双击手动决定将数据发送到哪个表。

但是,如果数据总是高于或低于排58,然后就测试Target.Row(或lnRow的MoveItA程序)的值,并相应地改变工作表名称:

私人小组MoveItA(lngRow长,BCOPY由于布尔)
昏暗chkRowNum只要
暗淡x As中长
昏暗strDestShtName作为字符串

如果lnRow <58然后
strDestShtName =“开关”
其他
strDestShtName =“发射器”
万一

随着表(strDestShtName)
'....等等。

希望有所帮助。
干杯
丰富

不,我想它是从第1行Swithes至55和58 tranmitter到78都在同一张纸上。 的问题是,有时开关和发射机的不是所有的需要。 我的交换机列表像50长和发射器都像100长。 因此,根据不同的工作,我挑,我需要哪些。 我是从我的校准主列表选项卡将每个我所需要的那些我的校准选项卡。 Hopfully这可能清除了一点东西。 谢谢您的帮助。

不,我想它是从第1行Swithes至55和58 tranmitter到78都在同一张纸上。 的问题是,有时开关和发射机的不是所有的需要。 我的交换机列表像50长和发射器都像100长。 因此,根据不同的工作,我挑,我需要哪些。 我是从我的校准主列表选项卡将每个我所需要的那些我的校准选项卡。 Hopfully这可能清除了一点东西。 谢谢您的帮助。

你是说,它是目的地的行会改变,这取决于你双击一个上跨或交换机? 如果是这样的话,你最好解释如何在数据发射器和开关区分....

干杯
丰富

他们已经爆发出这两个群体在主校准列表中。 现在我有在A3和A4数据的报头,通过A38发射器。 然后,在A49的数据在A50 A67通过在交换机头。 然后当我双击一个我需要它会带他们到Calibratons表的人。

他们已经爆发出这两个群体在主校准列表中 。 现在我有在A3和A4数据的报头,通过A38发射器。 然后,在A49的数据在A50 A67通过在交换机头。 然后当我双击一个我需要它会带他们到Calibratons表的人。

好了,现在我迷路了。 您可以在同一张纸上两组数据(反式交换机)。 在一个单元格双击,细胞移动到另一片...什么是关于这个设置给你已经和你发布的代码现在有什么不同?

干杯
丰富

之后,我在我来自swithes和发射器所需要的那些双击它,把他们全部纳入一个列表。 我试图让他们seprate。

之后,我在我来自swithes和发射器所需要的那些双击它,把他们全部纳入一个列表。 我试图让他们seprate。

独立的,如在不同的表? 如果是这样,回到我的第一次答复,有轻微的MOD:

私人小组MoveItA(lngRow长,BCOPY由于布尔)

昏暗chkRowNum只要
暗淡x As中长
昏暗strDestShtName作为字符串

选择案例lnRow
案例1到55:strDestShtName =“开关”
案例58〜78:strDestShtName =“发射器”
案例否则:退出小组
结束选择

随着表(strDestShtName)
'....等等。

这是否你想要做什么? 如果没有,你需要更加努力来解释你想要什么(有详细资料,如哪些细胞在哪里,等等。)...

希望有所帮助。

干杯
丰富

不,他们是在同一张纸上。 他们从所谓的校准主列表来校准板去。

例:

我需要,c和从开关D和来自发射机的a,b,例如

校准总表---->校准

开关开关

第4行中的一行4

公元前

光盘

ð

Ë

变送器变送器

50排一排50

BB

CE

ð

Ë

希望这可以帮助。 感谢您抽出时间来看看这个。

好了,想我想起来了。 尝试这个:

私人小组Worksheet_BeforeDoubleClick(BYVAL目标作为范围,取消为布尔)
Application.EnableEvents =假
如果Target.Column = 6然后
Target.Value = IIF(Target.Value = CHR $(254),CHR $(168),CHR $(254))
取消= TRUE

MoveIt Target.Row,(Target.Value = CHR $(254))
万一
Application.EnableEvents = TRUE
结束小组

私人小组MoveIt(lngRow长,BCOPY由于布尔)
昏暗chkRowNum长,stopRowNum只要
暗淡x As中长

随着表(“校准”)
选择案例lngRow
案例1至55
chkRowNum = .Cells(49,“A”)。完(xlUp).Row + 1
stopRowNum = 4
案例58〜78
chkRowNum = .Cells(79,“A”)。完(xlUp).Row + 1
stopRowNum = 50
案例否则:退出小组
结束选择
chkRowNum = Application.Max(chkRowNum,stopRowNum)

如果BCOPY然后
ActiveSheet.Range(“A”lngRow&“:E”和lngRow).Copy
.Range(“A”&chkRowNum).PasteSpecial
其他
“//不是真的有必要在这里,但通常最好从下往上删除
当x = chkRowNum要stopRowNum步骤-1
'//这里比较第一列
如果.Cells(X,1).value的= ActiveSheet.Cells(lngRow,1).value的再
.Rows(X).Delete
对于出口
万一
下一个
万一
结束与

'//清空剪贴板
Application.CutCopyMode =假
结束小组

希望有所帮助。

干杯
丰富

这工作真棒感谢丰富的花时间看我的问题。

贾里德

分类:办公室 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.578 (s). 10 q(s)