Я действительно смущен тем, что происходит с макросом, который я создал для анализа файлов с разделителями.

Макрос выполняется успешно, пока я выбираю ленту макросов и макрос в диалоговом окне.

Если я пытаюсь запустить его с помощью горячей клавиши, все, что происходит, это то, что столбец A подсвечивается, затем столбец B выделяется, а затем возвращается к выделенному столбцу A.

Я пробовал несколько различных комбинаций горячих клавиш в настоящее время Ctrl+Shift+Y.

Ниже приведен код макроса, и любая помощь будет оценена.

Sub DLEligibleParse()
    '
    ' DLeligibleparse Macro
    ' this utilizes the eligible list end positionseff 4-22-12
    '
    '
    Columns("B:B").Select
    Selection.NumberFormat = "0000000000000"
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(43, 1), Array(45, 1), Array(80, 1), _
        Array(115, 1), Array(150, 1), Array(185, 1), Array(220, 1), Array(222, 1), Array(231, 1), _
        Array(266, 1), Array(301, 1), Array(336, 1), Array(371, 1), Array(373, 1), Array(382, 1), _
        Array(385, 1), Array(402, 1), Array(455, 1), Array(490, 1), Array(525, 1), Array(527, 1), _
        Array(536, 1), Array(539, 1), Array(549, 1), Array(559, 1), Array(564, 1), Array(579, 1), _
        Array(581, 1), Array(596, 1), Array(598, 1), Array(610, 1), Array(622, 1), Array(640, 1), _
        Array(655, 1), Array(670, 1), Array(687, 1), Array(702, 1), Array(717, 1), Array(734, 1), _
        Array(749, 1), Array(764, 1), Array(781, 1), Array(796, 1), Array(811, 1), Array(828, 1), _
        Array(843, 1), Array(858, 1), Array(875, 1), Array(890, 1), Array(905, 1), Array(922, 1), _
        Array(937, 1), Array(952, 1), Array(969, 1), Array(984, 1), Array(999, 1), Array(1016, 1), _
        Array(1031, 1), Array(1046, 1), Array(1063, 1), Array(1078, 1), Array(1093, 1), Array( _
        1110, 1), Array(1125, 1), Array(1140, 1), Array(1157, 1), Array(1172, 1), Array(1187, 1), _
        Array(1204, 1), Array(1212, 1), Array(1224, 1), Array(1225, 1), Array(1226, 1), Array( _
        1227, 1), Array(1228, 1)), TrailingMinusNumbers:=True
    Cells.Select
    Cells.EntireColumn.AutoFit
    Range("A1").Select
End Sub

1 ответ1

0

Я бы порекомендовал избавиться от "избранных" утверждений. Они портят выполнение кода непредсказуемым образом. Попробуй это.

Sub DLEligibleParse()
    '
    ' DLeligibleparse Macro
    ' this utilizes the eligible list end positionseff 4-22-12
    '
    '
    Columns("B:B").NumberFormat = "0000000000000"
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(43, 1), Array(45, 1), Array(80, 1), _
        Array(115, 1), Array(150, 1), Array(185, 1), Array(220, 1), Array(222, 1), Array(231, 1), _
        Array(266, 1), Array(301, 1), Array(336, 1), Array(371, 1), Array(373, 1), Array(382, 1), _
        Array(385, 1), Array(402, 1), Array(455, 1), Array(490, 1), Array(525, 1), Array(527, 1), _
        Array(536, 1), Array(539, 1), Array(549, 1), Array(559, 1), Array(564, 1), Array(579, 1), _
        Array(581, 1), Array(596, 1), Array(598, 1), Array(610, 1), Array(622, 1), Array(640, 1), _
        Array(655, 1), Array(670, 1), Array(687, 1), Array(702, 1), Array(717, 1), Array(734, 1), _
        Array(749, 1), Array(764, 1), Array(781, 1), Array(796, 1), Array(811, 1), Array(828, 1), _
        Array(843, 1), Array(858, 1), Array(875, 1), Array(890, 1), Array(905, 1), Array(922, 1), _
        Array(937, 1), Array(952, 1), Array(969, 1), Array(984, 1), Array(999, 1), Array(1016, 1), _
        Array(1031, 1), Array(1046, 1), Array(1063, 1), Array(1078, 1), Array(1093, 1), Array( _
        1110, 1), Array(1125, 1), Array(1140, 1), Array(1157, 1), Array(1172, 1), Array(1187, 1), _
        Array(1204, 1), Array(1212, 1), Array(1224, 1), Array(1225, 1), Array(1226, 1), Array( _
        1227, 1), Array(1228, 1)), TrailingMinusNumbers:=True
    Cells.EntireColumn.AutoFit
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .