Откройте книгу и скопируйте информационный код, который не копирует значения, как ожидалось

#excel #vba #copy

Вопрос:

Поэтому я сделал следующий код для копирования и вставки информации из другой книги в текущую, но он не распознает информацию, а только информацию из раскрывающегося списка в файле назначения.

 Sub casesopenfile()
    Dim filetoopen As String
    Dim Casesbook As Workbook    
    
    filetoopen = Application.GetOpenFilename(Title:="Choose a file", Filefilter:="Excel Files (*.xls*), *xls*,(.*xlsx*),*xlsx")
    
    If filetoopen = "False" Then
        MsgBox "No file selected", vbExclamation, "Sorry"
        Exit Sub
    Else
        Set Casesbook = Application.Workbooks.Open(filetoopen)
        Casesbook.Sheets(1).Range("A1:Q300").Copy
        ThisWorkbook.Worksheets("Cases 2017-2021").Range("A1121").PasteSpecial xlPasteValues
        Casesbook.Close False
    End If
End Sub
 

Комментарии:

1. » не копирует значения должным образом» не является полезным описанием ошибки. Пожалуйста, объясните, чего вы ожидаете и что пошло не так или где вы получаете ошибки. Также скриншоты могут помочь понять вашу проблему. Представьте, что мы понятия не имеем, что должен делать ваш код, если вы не объясните нам это. На самом деле я не вижу в этом коде ничего плохого. Он копирует диапазон A1:Q300 открытой книги и вставляет в A1121 Cases 2017-2021 нее .

2. … кроме возможного … большой объем данных… сообщение (перед закрытием книги), которое можно подавить с Application.CutCopyMode = False помощью .

3. Может быть проблема со скрытым листом в первой позиции? Убедитесь, что в книге, с которой вы копируете, нет скрытых листов, а если есть, то они не расположены перед листом, с которого вы хотите скопировать.

4. Также убедитесь, что первый лист является рабочим листом, а не другим типом листа (например, лист диаграммы). Sheets содержит все типы листов, в то время Worksheets как содержит только рабочие листы.

5. Большое вам спасибо! Я чувствую себя немного глупо, но там был скрытый лист, и теперь он отлично работает. Я ценю вас всех 🙂