как убрать пустые строки в конце excel - PullRequest
0 голосов
/ 28 ноября 2018

Я скомпилировал утилиту Excel, чтобы разбить огромный файл на файлы меньшего размера, в моем случае это 100 тыс. Строк.Тем не менее, последний файл показывает 100 тыс. Строк, хотя данные отсутствуют до 100 тыс. Строк.Как я могу удалить пустые строки в конце файла для последнего раздела.

Вот мой код.

   Set objWorkbook = objExcel.Workbooks.Open(filePath) 

  'Initialize data  
   Set ThisSheet = objWorkbook.ActiveSheet

  'Getting number of columns and rows for calculation
   NumOfColumns = ThisSheet.UsedRange.Columns.Count
   rowCount = ThisSheet.UsedRange.Rows.Count  

   WorkbookCounter = 1
   RowsInFile = 100000      

     If rowCount > 100000 Then
      ' extracting the file name alone.
       fName = Left(fileName, (InStrRev(fileName, ".") - 1)) ' file name  
      ' Copy the data of the first row (header)
      Set RangeOfHeader = ThisSheet.Range(ThisSheet.Cells(1, 1), ThisSheet.Cells(1, NumOfColumns))

     'Create the file system object for creating folders
     Set objFSO = CreateObject("Scripting.FileSystemObject")    

    'extracting the path name excluding the file name
     newPath = CStr(Left(filePath, InStrRev(filePath, "\")))     
     folderName = newPath & "Copy_of_" & fName & "\"     
     'Create the folders using objFSO
     'First check if folders exists and create only they dont exist
     if Not objFSO.FolderExists(folderName) Then      
       objFSO.CreateFolder(folderName)
     Else
       WScript.Echo "Folder already Exists"
   End If    

, когда я выбираю Ctrl + Shift + стрелка вниз .. countпоказывает файл.Когда я нажимаю кнопку Ctrl + End ... элемент управления переходит к 100-й строке ... и многие из строк выше остаются пустыми.В идеале Ctrl + End должен останавливаться там, где заканчиваются данные.

указатели очень ценятся и большое спасибо заранее.

1 Ответ

0 голосов
/ 28 ноября 2018

Я не уверен на 100%, но я верю, что это будет считать пустые строки, которые размещены в файле Excel.

rowCount = ThisSheet.UsedRange.Rows.Count  

Попробуйте использовать это вместо:

Sheets("Sheetname").Cells(.Rows.Count, "A").End(xlUp).Row
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...