Я разрываю волосы, пытаясь сделать то, что должно быть очень простой настройкой на макрос.Копирование содержимого текущей рабочей таблицы на созданный рабочий лист vba
копия и вставка, похоже, не работают. Я получаю свойство не поддерживается ошибка.
Все, что я пытаюсь сделать, это скопировать все содержимое ячейки из исходного ActiveSheet в инициирующей книге (которая будет зЫат) и вставить его в новой книге лист (rvname)
Вот мой текущий код: (мне нужно работать в Excel 2003 и 2007)
Sub create_format_wb()
'This macro will create a new workbook
'Containing sheet1,(job plan) Original, (job plan) Revised, and 1 sheet for each task entered in the inputbox.
Dim Newbook As Workbook
Dim i As Integer
Dim sName As String
Dim umName As String
Dim rvName As String
Dim tBox As Integer
Dim jobplannumber As String
Dim oldwb As String
line1:
tBox = Application.InputBox(prompt:="Enter Number of Tasks", Type:=1)
If tBox < 1 Then
MsgBox "Must be at least 1"
GoTo line1
Else
sName = ActiveSheet.Name
umName = (sName & " Original")
rvName = (sName & " Revised")
jobplannumber = sName
Set Newbook = Workbooks.Add
With Newbook
.Title = sName
.SaveAs Filename:=(sName & " .xls")
.Application.SheetsInNewWorkbook = 1
.Sheets.Add(, After:=Sheets(Worksheets.Count)).Name = umName
Worksheets(umName).Range("A1").Select
With Worksheets(umName).QueryTables.Add(Connection:= _
"ODBC;DSN=MX7PROD;Description=MX7PROD;APP=Microsoft Office 2003;WSID=USOXP-93BPBP1;DATABASE=MX7PROD;Trusted_Connection=Yes" _
, Destination:=Range("A1"))
.CommandText = Array(_
"SELECT jobplan_print.taskid, jobplan_print.description, jobplan_print.critical" & Chr(13) _
& "" & Chr(10) & "FROM MX7PROD.dbo.jobplan_print jobplan_print" & Chr(13) & "" & Chr(10) _
& "WHERE (jobplan_print.jpnum= '" & jobplannumber & "')")
.Name = "Query from MX7PROD"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
.Worksheets(umName).UsedRange.Columns.AutoFit
.Sheets.Add(, After:=Sheets(Worksheets.Count)).Name = rvName
For i = 1 To tBox
.Sheets.Add(, After:=Sheets(Worksheets.Count)).Name = ("Task " & i)
Next i
End With
Worksheets(rvName).UsedRange.Columns.AutoFit
End If
End Sub
Может Сомон ходить мне через, как идти об этом?
Любая помощь приветствуется.
Шаг 1: Либо оберните вашу книгу в ловушку ошибок, либо создайте функцию именования, которая проверяет имена существующих книг в этом каталоге. Шаг 2: Вы можете добавить немного больше информации? Возможно, пример данных? Разработайте, как вы пытаетесь «скопировать» данные. Похоже, вы пытаетесь запросить информацию в документе, но вы говорите, что пытаетесь «скопировать/вставить» его? Возможно, я что-то неправильно читаю. – Lopsided
Извините, что не яснее. –
Вышеуказанный макрос работает просто отлично. Он создает новую рабочую книгу, запрашивает нашу внутреннюю базу данных и заполняет новые данные книги umName данными. Что мне нужно сделать, это скопировать все содержимое текущей текущей книги рабочей книги на вновь созданный лист rvName. –