Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 仅复制和粘贴包含数据的行的Excel宏_Vba_Excel - Fatal编程技术网

Vba 仅复制和粘贴包含数据的行的Excel宏

Vba 仅复制和粘贴包含数据的行的Excel宏,vba,excel,Vba,Excel,我需要帮助找出一个宏,只将包含数据的行中的值(而不是较大的集合范围)复制并粘贴到另一个工作表中 名为DataEntry的工作表是在列A-J中输入停机时间的工作表,可以有2行数据,也可以有50行数据,并且只将值而不是公式粘贴到另一个名为DataCombined的工作表中,并将其与列A和下一个可用行相结合 请帮忙 你的问题有点让人困惑,但这可能是你想要开始的地方: 如果你能给出一个你想要的输出的例子,那会有帮助的 Sub copyRange() Dim dataSht As Workshee

我需要帮助找出一个宏,只将包含数据的行中的值(而不是较大的集合范围)复制并粘贴到另一个工作表中

名为DataEntry的工作表是在列A-J中输入停机时间的工作表,可以有2行数据,也可以有50行数据,并且只将值而不是公式粘贴到另一个名为DataCombined的工作表中,并将其与列A和下一个可用行相结合


请帮忙

你的问题有点让人困惑,但这可能是你想要开始的地方: 如果你能给出一个你想要的输出的例子,那会有帮助的

Sub copyRange()
    Dim dataSht As Worksheet, comboSht As Worksheet
    Set dataSht = Sheets("DataEntry")
    Set comboSht = Sheets("DataCombined")

    Dim rngToCopy As Range

    Set rngToCopy = dataSht.Range(Cells(2, 1), Cells(getLastFilledRow(dataSht), "J"))
    rngToCopy.Copy
    comboSht.Range("A" & (getLastFilledRow(comboSht) + 1)).PasteSpecial xlPasteValues
    rngToCopy = dataSht.Range(Cells(2, 1), Cells(getLastFilledRow(dataSht), "J")).SpecialCells(xlCellTypeConstants)
    rngToCopy.ClearContents
End Sub

'Gets the last row of the worksheet that contains data
Public Function getLastFilledRow(sh As Worksheet) As Integer
    On Error Resume Next
    getLastFilledRow = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            LookAt:=xlPart, _
                            LookIn:=xlValues, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
    On Error GoTo 0
End Function

我在数据输入电子表格的A2:J8行中有数据,需要复制这些数据并将特殊值粘贴到数据输入电子表格的A2:J8行。然后我想清除数据输入电子表格行A2:J8上的数据,在A2:j6中输入更多数据,并将其提交到DataCombined电子表格的下一个可用行。好的,这更有意义。我将修改上面的代码以反映这一点。数据组合表上的单元格A1中已经有值了吗?A1-J1Ok上只有标题,请立即尝试上述宏。复制完后,它将清除数据输入工作表上的A2:J8。在itIt works上运行新宏之前,请始终备份工作簿!只是一个小问题,有没有办法不清除F列和I列?其中有一些公式,它正在被清除。