![]() |
Запрос диалогового окна выбора excel файла
Доброго времени суток!!!
Помогите со скриптом. Есть Excel файл, нужно по нажатию кнопки выходило диалоговое окно выбора excel файла из которого копируется определённый диапазон с данными и вставляется в текущий. Заранее спасибо. |
Например, так:
|
Спасибо огромное!!!
А можно ли сделать так в том файле из которого импортируется даные есть запись, но там ячейки объеденены, а надо чтобы скопировал эту запись и вставил в другой файл в одну ячейку? еще вопрос в файле из которого импортируется есть ячейка там указаны размеры например 100Х300Х100 (указаны в см) можно ли при импорте разбить эти данные в три разные ячейки и перевести их в метры. |
Цитата:
Цитата:
|
Вложений: 2
Прикладываю два файла исходный и результирующий, ячейки откуда и куда выделены соответствующими цветами.
|
Примерно так:
Код:
Sub Sample2() Цитата:
Цитата:
|
Если у меня в исходном файле ячейка называется TTNNum то код получается
objWorksheet.Range("H9").Value = .Names.Item("TTNNum").RefersToRange.Value а если у меня просто ячейка C9 objWorksheet.Range("H9").Value = .Names.Item("С9").RefersToRange.Value выдает ошибку.... |
Цитата:
Код:
… .Sheets.Item("сторона 1").Range("L9").Value … Код:
objWorksheet.Range("H9").Value = .Sheets.Item("сторона 1").Range("C9").Value |
Вложений: 2
Спасибо тебе огромное, но у меня еще вопрос, обновил файлы!
В исходном файле есть "вид упаковки"(Pallet #1) это площадка, на ней стоят коробки, количество площадок и количество коробок не постоянное и может меняться. Как сделать цикл так чтобы во первых скопировав одну строку проверял есть ли данные в другой если есть то копировал их. Во вторых надо сделать чтобы ккопировал данные которые Pallet #1 потом отделял их толстой линией, и потом копивал данные которые Pallet #2 и т.д. соответственно ячейки Размеры грузовых мест и Масса (кг). |
storm_Zcooler, изложенное Вами задание мне не понятно. Попробуйте уточнить более детально.
|
ок. Давайте по порядку.
В исходном файле есть диапазон с9:с17(это коробки), этот диапазон не постоянен может быть больше коробок может быть меньше, этот диапазон определяется объединением ячеек J9(Pallet #1 это площадка на которой размещаются эти коробки). Как можно сделать чтобы копировались данные (коробки которые стоят на площадке Pallet #1) только которые в диапазоне объединения ячеек J9. наверное опять не понятно сказал =) |
storm_Zcooler, использование запятых в предложениях облегчит понимание собеседнику.
|
Спасибо за помощь закрываем тему там на самом деле всё гораздо сложней чем казалось изначально...
|
Вложений: 1
Как сделать в примере, чтобы числа во втором столбце, через запятую, опустились ниже на ячейку, и остальные данные, которые в этой же строке скопировались так же вниз. На примере думаю видно.
|
storm_Zcooler, примерно так:
Перед исполнением макроса необходимо выделить потребный диапазон со значениями. В Вашем примере это «B2:B4». А вообще, какое отношение теперешний вопрос имеет к озвученной теме — «Запрос диалогового окна выбора excel файла»? |
Вложений: 1
Приветствую, спасибо за советы но вот задачка немного изменилась, надо чтобы значения после запятой опускались вниз и всё что слева тоже копировались, а справа только в 1 раз оставались. Прикладываю файл там думаю понятней будет.
P.S. у тебя есть яндекс кошелек? Отблагодарю. |
Цитата:
Код:
.Offset(XXX, XXX).Value = … 2007: Offset Property 2010: Offset Property Впрочем, никакой разницы по версиям нет. Ну, да ладно. Цитата:
Цитата:
|
Вложений: 1
Цитата:
Если её удаляю, то значения не будут копироваться вообще, а мне надо только, чтобы в первая строка копировалась полностью, а ниже добавлялись строки со значениями, которые отделяются запятой и всё, что справа было от них, а слева было пусто. Обновил пример во вложении, может так наглядней будет. |
storm_Zcooler, не доглядел с первого раза, не понял до конца Вашей потребности. Приношу Вам свои извинения.
Значит, будет достаточно проверять счётчик и на последнем проходе цикла разбора дублировать и ячейки справа, наподобие: Или вовсе на последнем проходе новую строку не добавлять, саму оригинальную строку не удалять, а просто менять значение разбираемой ячейки на последнее значение разбора: Думаю, так даже лучше будет. |
Время: 16:25. |
Время: 16:25.
© OSzone.net 2001-