我的基本列带有复选框(我的代码中的D列),我想将带有checbox的列复制到其他列,但列D必须隐藏(所有数据包括复选框) )。
这里的问题是:
这是我实际使用的功能。
Private Sub cmdAddNewXref_Click()
Columns("D:D").Select
Selection.Copy
i = 3
Cells(2, i).Select
Do
i = i + 1
Loop While Cells(2, i) <> ""
Cells(2, i).Select
'MsgBox ActiveCell.Column
Columns(i - 1).Select
Columns("D:D").Select
Selection.Copy
Columns(i).Select
ActiveSheet.Paste
Selection.EntireColumn.Hidden = False
Application.CutCopyMode = False
Range("A1").Select
End Sub
但最重要的是,我想做什么呢?
编辑1:实际上,多亏了Scott Holtzman,我可以隐藏列中的复选框。
答案 0 :(得分:0)
选择粘贴,粘贴特殊值,以隐藏检查其相信的.visible属性。
希望这会有所帮助。
从我收集到的内容......将行复制到其他地方,而不是控件,然后他想隐藏复制的行。 :)
Option Explicit
Sub test()
' From above code in yours I will be col number
Dim i As Integer
i = 5
Columns("A:A").Copy
Sheet2.Activate
ActiveSheet.Cells(1, i).PasteSpecial xlPasteValues
End Sub
答案 1 :(得分:0)
给这个是一个镜头。可能有更多理想的方法来做到这一点,但我测试了它并让它工作。
对细胞范围有一些假设,因此您需要进行调整以满足您的确切电子表格规格。
Option Explicit
Private Sub cmdAddNewXref_Click()
Dim i As Integer
Dim ws As Worksheet
Set ws = Worksheets("mySheet") 'change as needed
'find next column to copy
i = 3
Do
i = i + 1
Loop While ws.Cells(2, i) <> ""
With ws.Columns("D:D")
.EntireColumn.Hidden = False
.Copy Columns(i)
End With
'copy checkbox in column D
Dim cb As Shape
Set cb = ws.Shapes("CheckBox1") 'change name as needed
cb.Copy
ws.Cells(4, i).Select 'assumes checkbox should be in row 4, change to wherever it is on column D for you
ws.Paste
ws.Columns("D:D").EntireColumn.Hidden = True
End Sub