Мешают моей обработки данных с #ссылка в Excel файл
- Привет!
Я пытаюсь изменить данные файла excel для более легкого импорта в мою базу данных. Я делаю это с помощью 3-х частей макрокода внутри excel.
Вот этот код:
1 - удалить две первые колонки
Sub Del_Columns () Columns ("A:B").EntireColumn.Delete End Sub
2 - Заполните крайний правый столбец значениями из вышеприведенной ячейки, заканчивающимися при достижении нового значения.
Sub FillBlanks() Dim wks As Worksheet Dim rng As Range Dim LastRow As Long Dim col As Long Set wks = ActiveSheet with wks col = .Range("M").Column Set rng = .UsedRange LastRow = .Cells.SpecialCells(xlCellTypeLastCell).Row Set rng = Nothing On Error Resume Next Set rng = .Range(.Cells(2, col), .Cells(LastRow, col)) _ .Cells.SpecialCells(xlCellTypeBlanks)) On Error GoTo 0 If rng Is Nothing Then MsgBox "No Blanks Found" Exit Sub Else rng.FormulaR1C1 = "=R[-1]C" End If With .Cells(1, col).EntireColumn .Value = .Value End With End With End Sub
3 - Удалить все строки, которые имеют пустые ячейки внутри них (взяв col F в качестве примера, для удаления всей строки, когда она пуста. Как это всегда бывает)
Sub DeleteBlankRows() On Error Resume Next Columns ("F").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Резюме
Когда я делаю это, я получаю #REF на некоторых ячейках, что я должен сделать, чтобы предотвратить/исправить это?
Кроме того; является ли этот код лучше для числа 2 (Заполните ячейки с вышеуказанным значением):
Sub FillCellsFromAbove() Application.ScreenUpdating = False On Error Resume Next With Columns(1) .SpecialCells(xlCellTypeBlanks).Formula = "=R[-1]C" .Value = .Value End With Err.Clear Application.Updating = True End Sub
Что я уже пробовал:
Я пробовал !отчетливо, но это не работает.