Выбор столбцов выбирает неожиданные столбцы листа - PullRequest
0 голосов
/ 28 июня 2019

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

Теперь строки, которые выбирают столбцы, не работают должным образом.«Столбцы (« A: A »). Выбрать» выбирает столбцы A: P!

Мне кажется очевидным, что я внес ошибку, но я ее не вижу.

Sub DataImport()

    Range("A10").Select

    With ThisWorkbook.ActiveSheet.Range("Z1")
        .Formula = "=VLookup(C5, FileNameDictionary, 3, False)"
        .Value = .Value
        End With

    file_name = Range("Z1").Value
    Range("z1").Value = ""

    cx_name = "TEXT;" & Range("Cover!$C$18").Value & file_name

    With ActiveSheet.QueryTables.Add(Connection:=cx_name, Destination:=Range("ResultGrid"))
        .Name = ""
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With

    Columns("B:R").Select
    Selection.ColumnWidth = 6
    Columns("A:A").Select
    Selection.ColumnWidth = 10
    Range("A10").Select

    HideEmptyRows

End Sub

1 Ответ

0 голосов
/ 28 июня 2019

Это, похоже, решило проблему:

Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Columns("B:R")
    .ColumnWidth = 6
    End With

With ws.Columns("A:A")
    .ColumnWidth = 10
    End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...