|
附件的表格可以实现当选中每行后面的复选框后,复制A:D的内容到sheet2中,当去掉复选框里的√后,撤销复制。(这是dongqing1998前辈帮忙实现的)
但现在的问题时,复制的时候,能不能把单元格的公式复制过去呢?后面的VBA该怎么修改?如果需要将单元格的格式(例如行高,字体等等)也复制过去,又需要怎么修改,谢谢 !(或是不用修改程序,直接写一个新程序来满足要求即可)
求各位大神帮帮忙,非常感谢!
读取的时候用formula属性。 - Sub copyData()
- Dim mydata, arr(), i%, j%, k%, Total%
- mydata = Range("a2:d" & Range("a65536").End(3).Row).Formula
- Sheet2.Range("a2:d9999").ClearContents
- ' For Each ctl In Shapes
- ' If InStr(ctl.OLEFormat.Object.Name, "CheckBox") Then
- ' Total = Total + 1
- ' End If
- ' Next
- For i = 1 To 5 'Total
- If ActiveSheet.OLEObjects("CheckBox" & i).Object Then
- k = k + 1
- ReDim Preserve arr(1 To 4, 1 To k)
- For j = 1 To 4
- arr(j, k) = mydata(i, j)
- Next
- End If
- Next
- If k Then Sheet2.Range("a2").Resize(k, 4).Formula = Application.Transpose(arr)
- End Sub
复制代码
|
|