Search code examples
pythonexcelpywin32

I need to copy data from one workbook into another. But it is giving some error


I am unable to copy data. it is giving error at the line "sel.copy". Please help out

Code:

    excel = client.Dispatch("Excel.Application")
    currworkingdirectory = os.getcwd()
    workbook = excel.Workbooks.Open(cwd + "\\test.csv")
    print (workbook)
    excel.Visible = 1
    worksheets = workbook.Worksheets(1)

    # Copy required data from sheet
    sel = worksheets.Range("E:E,H:H,I:I").Select()
    sel.Copy()

Solution

  • worksheets.Range("E:E,H:H,I:I").Select() is NOT Setting sel To "E:E,H:H,I:I" it is only Selecting "E:E,H:H,I:I"

    To fix Change

    sel = worksheets.Range("E:E,H:H,I:I").Select()
    

    To

    sel = worksheets.Range("E:E,H:H,I:I")
    

    In the end you are best to not use a copy paste at all, try just setting Range("Destination").Value = sel.Value instead.