我正在努力处理代码,代码应该复制单元并将其粘贴到下面的行(下面的行是空的/如果没有,它会搜索其他行)
protected void btnSave_Click(object sender, EventArgs e)
{
String gender;
if (rdBtnMale.Checked)
gender = rdBtnMale.Text;
else
gender = rdBtnFemale.Text;
string subject = "";
if (cboxPhysics.Checked)
{
subject = cboxPhysics.Text;
}
if (cboxChemistry.Checked)
{
if (subject != "")
{ subject = subject + ","; }
subject = subject + cboxChemistry.Text;
}
if (cboxBiology.Checked)
{
if (subject != "")
{ subject = subject + ","; }
subject = subject + cboxBiology.Text;
}
这样,它工作正常,但在上面的单元格中是公式,因此我只需要复制值,因为结果应该相同。我发现,我应该替换这部分:
Sub CopyRows2()
Dim LastRow As Long
With Worksheets("OUTPUT") ' <-- here should be the Sheet's name
LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row ' last row in column B
For i = 2 To LastRow
If Range("O" & i) > "" And Range("O" & i + 1) = "" Then
Range("O" & i).Copy
Range("O" & i + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Else
End If
Next
End With
ActiveWindow.ScrollRow = 1 'scrolling the screen to the top
End Sub
由这部分:
ActiveSheet.Paste
但是一旦我这样做了,它就向我显示了一个错误信息运行时错误1004 并且在复制第一个单元格之后宏已经停留,然后找到空单元格...但它没有插入了值,但没有继续搜索。
我可以请你帮忙吗?我在那里错过了什么?我看不出错误。
谢谢!
答案 0 :(得分:0)
适合我:
Range("O" & i).Copy
Range("O" & i + 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
无需选择此处。
答案 1 :(得分:0)
您应该尝试将代码放在模块中,而不是放在工作表中!