powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB энд EXCEL
7 сообщений из 7, страница 1 из 1
VB энд EXCEL
    #34630908
Tsinik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые Господа Знатоки!
Помогите, плс, чайнику в работе VB6 с Ёкселем.
Требуетцца вот что: с помощью VB6 ТУПО перенести даные из существующего ёкселевского файла во вновь создаваемый. Фишка вот в чём: даные-то переносятся, но вот примечания в ячейках - ни в какую, чего я только не пробовал... Зер шлехт просто какой-то! А самое гдавное - вся соль - в примечаниях. При помощи VBA задачу рещил просто в 3 минуты, а вот с VB6 - полная затыка.
Ести никто не знает, как это мона сделать - что-ж, тяжело вздохну, и буда продолжать пользоваться VBA, а так хотелось с помоссью VB6...
Вона как я залушпендил:

Private Sub Form_Load()
Dim Fxl1 As New Excel.Application
Dim FxlRyba As New Excel.Application

Fxl1.Workbooks.Open App.Path & "\" & "Рабочий файл БР № 1.xls"
Set Fxl1 = Fxl1.Application.Sheets.Application
FxlRyba.Workbooks.Open App.Path & "\" & "Рыба Общий справочник.xls"
Set FxlRyba = FxlRyba.Application.Sheets.Application

Fxl1.Sheets("БР № 1").Select
Fxl1.Range("A1").Select
Fxl1.Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy

FxlRyba.Sheets(1).Paste 'работает тока без вставки примечаний

Х-э-э-э-э-э-э-э-лп... (скромненько так...) :-)))
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34630938
Фотография gjghjc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так
Код: plaintext
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False, Transpose:=False


С уважением, Николай.
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34630941
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsinik

Основная трабла в том, что Вы создаете два экземпляра Excel и пытаетесь заставить их взаимодействовать.
Попробуйте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  Dim v_Excel As Excel.Application, v_Wb1 As Excel.Workbook, v_WbRyba As Excel.Workbook
  
  Set v_Excel = New Excel.Application
  Set v_Wb1 = v_Excel.Workbooks.Open(App.Path & "\" & "Рабочий файл БР № 1.xls")
  Set v_WbRyba = v_Excel.Workbooks.Open(App.Path & "\" & "Рыба Общий справочник.xls")
  
  v_Wb1.Activate
  v_Wb1.Worksheets("БР № 1").Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Copy Destination:=v_WbRyba.Worksheets( 1 ).Range("A1")
  
  '...........
  
  v_WbRyba.Save
  
  v_Excel.Quit
  Set v_Excel = Nothing
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34631220
Tsinik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lena_####

Огромное спасибо! Заработало.











На исходе века взял, и ниспроверг
Злого человека добрый человек...
Из гранатомёла - шлёп его, козла!
Всё-таки добро-то посильнее зла!!!!
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34831787
PKonstantin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем, помогите плиз.
Ситуация похожа, нужно скопировать часть данных из текущего открыого листа EXCEL (с которым работаю ) в новый созданный файл, причем создавать нужно динамически.
А так же нужно, что бы в новом файле, сохранялся формат старого (т.е. размер ячеек групировка и т.д.)
Вот начал писать макрос, но че то не выходит
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Dim objExcel As Excel.Application, objWB As Excel.Workbook, v_WbRyba As Excel.Workbook
  ...
 Set objExcel = New Excel.Application
 objExcel.Visible = False
 Set objWB = objExcel.Workbooks.Add 
 Set v_WbRyba = ЭтаКнига '- открытый файл откуда коп. данные
 v_WbRyba.Activate
 v_WbRyba.Worksheets( 1 ).Range("A1:B1").Copy Destination:=objWB.Worksheets( 1 ).Range("C1:D1")
 objExcel.ActiveWorkbook.SaveAs "C:\Temp1\Div"
 objExcel.Quit
 Set objExcel = Nothing
 

Ошибка в где то тут objWB.Worksheets(1).Range("C1:D1")
Текст ошибки Run-time error 1004
Application - defined or object - defined error
Может я не правльно как то обращаюсь, я VBA не писал раньше.
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34833160
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо не хочет в другое приложение кидать (только через буфер нужно). Вообще непонятно зачем вам создавать новое приложение Exel, если вы в экселе уже сидите.

Код: plaintext
1.
2.
3.
4.
5.
 Dim objWB As Workbook, v_WbRyba As Workbook
 Set objWB = Workbooks.Add
 Set v_WbRyba = ThisWorkbook
 v_WbRyba.Worksheets( 1 ).Range("A1:B1").Copy objWB.Worksheets( 1 ).Range("C1")
 objWB.SaveAs "C:\Temp1\Div"
 objWB.Close
...
Рейтинг: 0 / 0
VB энд EXCEL
    #34833965
PKonstantin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeggasadВидимо не хочет в другое приложение кидать (только через буфер нужно). Вообще непонятно зачем вам создавать новое приложение Exel, если вы в экселе уже сидите.
Идея такая, работаю в Exсel затем надо по опред. уловию данные из текущей страницы выгрузить в несколько разных Excel файлов.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB энд EXCEL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]