我一直在努力打開現有的作業簿,同時在該作業簿中創建兩個新作業表。完成后,我試圖將作業簿中現有作業表中的一整列復制到我創建的新作業表之一,然后洗掉該列中的重復項以及空行。我已經完成了創建兩張新作業表,但我的副本似乎不起作用,該列是空的。我也有洗掉空行的錯誤。所有的見解都會有所幫助!
'Open up the workbook and create two need worksheets (Unique Numbers & Attributes).
If IO.File.Exists("C:\Users\file.xlsm") Then xlWorkBook = xlApp.Workbooks.Open("C:\Users\file.xlsm")
Dim worksheets As Excel.Sheets = xlWorkBook.Worksheets
Dim xlNewSheet = DirectCast(worksheets.Add(worksheets(1), Type.Missing, Type.Missing, Type.Missing), Excel.Worksheet)
xlNewSheet.Name = "Unique Numbers"
Dim xlNewSheet2 = DirectCast(worksheets.Add(worksheets(1), Type.Missing, Type.Missing, Type.Missing), Excel.Worksheet)
xlNewSheet2.Name = "Attributes"
'Populate the Unique Numbers worksheet.
Dim trace As Object
Dim unique_numbers As Object
trace = xlWorkBook.Sheets("2020-12-16_12-07-12_781") 'The existing worksheet in the workbook
unique_numbers = xlWorkBook.Sheets("Unique Numbers")
'Extract the values from trace and copy them to unique numbers, then remove duplicates and empty rows
trace.Range("E:E").Copy 'I can confirm this row has data
unique_numbers.Range("A:A").PasteSpecial(Excel.XlPasteType.xlPasteFormats)
unique_pgns.Range("A:A").RemoveDuplicates()
'Loop through range ("A")
Dim rowCount As Integer = unique_numbers.Rows.Count()
Dim r As Integer
For r = rowCount - 1 To 0 Step -1
If unique_numbers.Rows(r) Is "" Then
unique_numbers.DeleteRow(r 1)
End If
Next
uj5u.com熱心網友回復:
經過多次嘗試,終于弄明白了。
trace.Range("E:E").Copy()
unique_numbers.Range("A:A").PasteSpecial(Excel.XlPasteType.xlPasteAll)
unique_numbers.Range("A:A").RemoveDuplicates(Columns:=1,Header:=Excel.XlYesNoGuess.xlYes)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/484756.html
標籤:擅长 VB.net vb.net-2010
