我正忙于在Excel 2010中创建生产计划。我使用公式为每个作业提供截止日期,并在工作完成时使用复选框。当选中复选框时,我使用以下VB将信息移动到第2页。
Sub MoveData()
If ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 Then
Range("A2:B2:C2:D2:E2:F2:G2:H2:I2:J2:K2:L2:M2").Select
Selection.Cut
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
End If
End Sub
我现在遇到的问题是它将公式中的细节从表单1移动到表单2.我需要将公式锁定在表单1中并影响插入单元格的新信息。 当行中的数据移动到工作表2时,工作表在表1中为空。有没有办法自动移动所有剩余数据以填充空单元格 感谢名单
答案 0 :(得分:0)
您是否只想将工作表(1)中的值复制到表格(" Sheet2")?
Sub MoveData()
Dim r As Range
If ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 Then
Set r = Worksheets(1).Range("A2:B2:C2:D2:E2:F2:G2:H2:I2:J2:K2:L2:M2")
Sheets("Sheet2").Range("A1").Resize(1, r.Count) = r.Value
'r.ClearContents
End If
End Sub
答案 1 :(得分:0)
请尝试以下方法,而不是剪切和粘贴。
Sub MoveData()
If ThisWorkbook.Worksheets(1).Shapes("Check Box 1").OLEFormat.Object.Value = 1 Then
Sheets("Sheet2").Range("A1:M1").Formula = Sheets("Sheet1").Range("A2:M2").Formula
Range("A1").Select
End If
End Sub
编辑: 如果您正在切割以从Sheet1中删除原件,请使用
Sheets("Sheet1").Range("A2:M2").Clear