Вопрос : Совместите рабочий лист от по-разному workbooks в один workbook using VB.Net

Hi специалисты.  Im борясь с несколькими проблемами с Эксел 2007 и VB2008/3.5.  Главное одно что мне нужно получить листы от 3 по-разному workbooks, переименованные и после этого совмещенные в отдельно workbook.  Это будет всем листом, не колебается от листа.  Любое имеет идею для этого?  Много спасибо заранее class=

Ответ : Совместите рабочий лист от по-разному workbooks в один workbook using VB.Net

Я прикреплял некоторое Кодего завершит задачу.  Препятствуйте мне суметь как это работает.  Кодий бежит путем идти через список курсов архива вы обеспечиваете в ряде клеток.  Этот курс должен начать с положением привода и пойти полностью вниз к filename с своим extention.

Пример:

C:\Users\Matthew Sheskey \ настольный компьютер \ ExcelImport.xlsx

Вы можете обеспечить так много по мере того как вы хотел были бы.  Единственным ограничением здесь будет Эксел может только отрегулировать листы 250ish.

Вы упомянули листы, котор вы имеете только иметь одно рабочий лист.  Я составил Кодего для того чтобы принять все рабочий лист в workbook как раз в случае, котор вы хотите добавить больше/принимаете больше листов более поздно.  Это легк изменено для того чтобы принять только 1 лист если то будет пожеланная функциональность.

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

Workbooks должны быть закрыты когда вы бежите этот макрос.  Я работаю на некоторых изменениях справедливо теперь для того чтобы проверить ли они уже открыты и от там только закрывают одни не были уже открыты.  Я также работаю на некотором Кодем для того чтобы принять filenames и имена листа и совместить их в называть рабочий лист в новом workbook.  Это не может работать потому что имена листа покрыны на 32 характерах.  Я думал эта функциональность была необходима после испытывать.  Я нашел консолидированный workbook имел или поэтому листы дюжину и был трудн для того чтобы держать след их.  Препятствуйте мне знать если вы не хотите это.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
Sub getSheetsFromBooks ()

Затемните архив, fileNames как ряд ряд 'имен архива
Затемните ws, newWS, currentWorksheet как рабочий лист
Затемните assemblyWorkbook, dataWorkbook как Workbook
Тусклое dataWorkbookName как шнур 'будет использовать это для того чтобы назвать листы в новом WB
Тусклое screenUpdate, displayAlerts как булевско

Установите fileNames = Application.Selection
Установите assemblyWorkbook = Application.ActiveWorkbook
Установите currentWorksheet = Application.ActiveSheet

screenUpdate = Application.ScreenUpdating
Application.ScreenUpdating = ложно

displayAlerts = Application.displayAlerts
Application.displayAlerts = ложно

'закрепите петлеть для того чтобы повторить над именами архива
Для каждого архива в fileNames
    
    Установите dataWorkbook = Workbooks.Open (архив. Значение)
    dataWorkbook.Activate
    
    'петля для того чтобы скопировать рабочий лист
    Для каждого ws в ActiveWorkbook.Worksheets
        
        ws. Активируйте
        Cells.Copy
        assemblyWorkbook.Activate
        Установите newWS = Worksheets.Add (поже: =Sheets (Sheets.Count))
        Ряд («A1»). Активируйте
        Затир ActiveCell.PasteSpecial: =xlPasteValues
        
        'называющ рабочий лист
        'С newWS
        '    . Имя = dataWorkbookName
        'Конец с
        
        Ряд («A1»). Отборно
        dataWorkbook.Activate

    Затем
    'близкий workbook
    dataWorkbook.Close
Затем

'идите назад к рабочий лист, котор вы начали программу дальше
currentWorksheet.Activate

Application.CutCopyMode = ложно
Application.ScreenUpdating = screenUpdate
Application.ScreenUpdating = displayAlerts

Установите архив = ничего
Установите fileNames = ничего
Установите ws = ничего
Установите newWS = ничего
Установите assemblyWorkbook = ничего
Установите dataWorkbook = ничего

Закончите подводную лодку
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us