Недопустимый диапазон значений метода для листа объекта при вставке столбца

Я работаю над макросом для клиента. Необходимо вставлять столбцы на основе значений ячеек.

Я использую один и тот же код для каждого значения:

ws.range(getcolumn(currentColumn + 1) & ":" & getcolumn(currentcolumn + 3)).EntireColumn.Insert 

Это работает нормально, пока я не ударил столбец 50, а затем я получаю ошибку времени выполнения 1004, в которой говорится, что «Диапазон значений метода в рабочей области объекта сработал»,

Почему я получаю эту ошибку?

Вот функция getColumn ():

 Function getColumn(columnNumber As Integer) As String Dim alphaNumber As Integer Dim iRemainder As Integer alphaNumber = Int(columnNumber / 27) iRemainder = columnNumber - (alphaNumber * 26) If alphaNumber > 0 Then getColumn = Chr(alphaNumber + 64) End If If iRemainder > 0 Then getColumn = getColumn & Chr(iRemainder + 64) End If End Function 

Похоже, проблема в вашей функции getColumn() .

Когда currentcolumn = 50 getColumn возвращает "A[" потому что iRemainder равен 27, поэтому вы ищете Chr(91) который является [


Взятые с этого поста, попробуйте следующее:

 Function getColumn(columnNumber As Integer) As String If columnNumber < 27 Then getColumn = Chr(64 + columnNumber) Else getColumn = getColumn((columnNumber - 1) \ 26) & getColumn((columnNumber - 1) Mod 26 + 1) End If End Function 

Я сделал базовый тест, используя этот суб:

 Sub insertCol() Set ws = Sheets("Sheet1") For currentcolumn = 1 To 60 ws.Range(getColumn(currentcolumn + 1) & ":" & getColumn(currentcolumn + 3)).EntireColumn.Insert Next currentcolumn End Sub 
  • Ошибка 1004: ошибка, определяемая приложением или объект-ошибка. Excel
  • Ошибка времени выполнения 1004 с добавлением гиперссылки vba
  • Ошибка времени выполнения 91 - Excel vba из Access
  • Ошибка «Подзаголовок вне диапазона» на функции VBA
  • Ошибка выполнения «1004» Метод «Диапазон» объекта «_Global» не удался - имена динамических таблиц, циклы, поиск между рабочими листами
  • #REF! вставлен как значение, но не рассматривается как таковое при циклировании
  • «Ошибка выполнения 380: недопустимое значение свойства»
  • Userform.Show на кнопке формы не распознает пользовательскую форму, получив ошибку 424
  • Ошибка выполнения 1004: невозможно получить свойство PivotTables класса Worksheet
  • Ввод Excel VBA в SAP и извлечение электронной таблицы - застрял в Excel
  • vba enums error: «Недопустимая внутренняя процедура».
  • Interesting Posts

    Python xlsxwriter – несколько ячеек hex2dec

    Ошибка сохранения файла Excel на общий сетевой диск

    Отключить копирование / вставку в Excel с помощью Apache POI

    Как создать новый формат на второй базе данных datagridview на первом datagridview в vb.net

    Excel: нужен поиск, который просматривает несколько столбцов и находит первую строку со значением желания

    Гиперссылка поля путем извлечения или выбора ведущего 2 или 3-значного числа из поля alphanum

    Как удовлетворить зависимости для Apache POI на Android?

    Написание коллекции в Excel

    Избегание приглашения Microsoft Excel

    Как остановить процессы Excel в фоновом режиме после сценария PowerShell?

    Используйте сводную таблицу для отображения количества добавленных и удаленных «инвентарей»,

    Как объединить два файла excel в один со своими именами листов?

    Индекс и значения индекса надстройки Excel возвращаются как неопределенные

    Как удалить десятичный разделитель, если десятичная часть равна нулю?

    запланированный пакет SSIS, создающий файл excel с датой имени файла

    Давайте будем гением компьютера.