Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Изменить точку на запятую при трансляции данных
 
Cells.Replace ".", ".", 2

Несколько часов назад пробовал работал. А сейчас, точку убирает а запятую не подставляет. Подскажите пожалуйста как исправить
Изменено: novinky - 25.12.2024 12:39:47
Изменить точку на запятую при трансляции данных
 
Цитата
написал:
Cells.Replace ".", ".", 2
А что означает 2 в этой строке подскажите пожалуйста
Изменено: novinky - 25.12.2024 04:31:15
скопировать столбец в строку
 
Цитата
написал:
Ну или заставить, чтоб Абра-кадабра взлетела.
Спасибо, только не понял он будет в каждой ячейке открывать и закрывать файл источник или всего 1 раз.
скопировать столбец в строку
 
Цитата
написал:
Если в каждой ячейке диапазона D3:N появилась эта формула
Понятно. Если вставлять в каждой ячейке и без Абра-кадабра" работает. Но надеялся одним обращением считать и вставить во все 11 ячеек строки данные с файла источника а не открывать-закрывать его для каждой ячейки  
скопировать столбец в строку
 
Цитата
написал:
Ctrl+Shift+Enter
Спасибо, с первого раза не понял и никогда ранее об этом не слышал, немного почитал. В строке формул появилась
{=Get_Value_From_Close_Book("F:\Doc\test-ok\pattern\101006649.csv";"101006649";"J7")}
но на результат это не повлиял.
скопировать столбец в строку
 
Цитата
написал:
=ТРАНСП(Get_Value_From_Close_Book("F:\101006649.csv";"101006649";"J2:J12"))
Спасибо но не работает, или может к такому запросу и функцию как то надо адаптировать
D2:N6 заполнены вызовом
=Get_Value_From_Close_Book("F:\Doc\test-ok\pattern\101006649.csv";"101006649";"J7")
в каждой ячейке, только менял название файла, листа и запрашиваемую ячейку, в каждой строчке меняю и файл источник. Результат в скрин1.png
Код
Function Get_Value_From_Close_Book(sWb As String, sShName As String, sAddress As String)

    Dim vData, objCloseBook As Object
    Set objCloseBook = GetObject(sWb)

    vData = objCloseBook.Sheets(sShName).Range(sAddress).Value   ' чтение из .csv
    objCloseBook.Close False   ' закрытие .csv
    Set objCloseBook = Nothing

    Get_Value_From_Close_Book = Replace(vData, ".", ",")   ' результат с источника с заменой точек на запятые в вызываемую ячейку
End Function

один из файлов источников: 101006649.csv
22;11;24;09;26;15;101006649;
001;28;00;00;D2;76;44;19;28;-24.72;
002;28;00;00;D2;76;44;11;12;-18.77;
003;28;00;00;D2;76;44;EA;FE;-13.24;
004;28;00;00;D2;76;44;D9;00;-8.71;
005;28;00;00;D2;76;44;1A;23;-5.02;
006;28;00;00;D2;76;44;7A;5A;-2.75;
007;28;00;00;D2;E8;00;4D;FB;-1.78;
008;28;00;00;D2;E8;00;15;84;-1.45;
009;28;00;00;D2;E8;00;19;D9;-1.45;
010;28;00;00;D2;E8;00;2C;D1;-1.77;
011;28;00;00;D2;E8;00;3C;3F;-1.88;
Изменено: novinky - 03.12.2024 05:33:59
скопировать столбец в строку
 
Цитата
написал:
Сумбур какой-то.
Извиняюсь, пытаюсь решить задачу копирования J2:J12 с файла источника в "D" & NRow & ":N" & NRow целевого файла, один файл источник для каждой строки в целевом файле.
Пока решил копированием по одному значению, соответственно вызовом функции в каждой ячейке. Для заполнения строки файл источник открывается и закрывается 11 раз. Для следующих строк другие файлы так же.
Хотел бы оптимизировать так чтобы прописывать вызов 1 раз на строку с передачей в аргументе только  имени файла для этой строки. И так для каждой строки.
Изменено: novinky - 02.12.2024 03:26:14
скопировать столбец в строку
 
Код
Function Get_Value_From_Close_Book(sWb As String, sShName As String, sAddress As String)
    Dim vData, objCloseBook As Object
    Set objCloseBook = GetObject(sWb)
 
    vData = objCloseBook.Sheets(sShName).Range(sAddress).Value
    objCloseBook.Close False
    Set objCloseBook = Nothing
 
    Get_Value_From_Close_Book = vData
End Function
В ячейках с D2 по N2 прописал
=Get_Value_From_Close_Book("F:\101006649.csv";"101006649";"J2")
, меняю только с J2 до J12 с шагом 1.
В следующих строках аналогично с D3 по N3, меняется только название файла и листа источника.

Могу получить номер строки методом NRow = Application.ThisCell.Row
Хотел бы одним вызовом заполнить всю строку.
Пробовал разные методы напр
Код
objCloseBook.Sheets(sShName).Range("J2:J12").Copy Destination:=vData.Range("D2:N2")
Код
Range("J2:J12").Copy Destination:=Range("D" & RowNum & ":N" & RowNum)
Код
vData.Range("D2:N2") = Application.Transpose(objCloseBook.Sheets(sShName).Range("J2:J12"))
Не получается, что то не так делаю, помогите пожалуйста.
Изменено: novinky - 01.12.2024 13:13:50
Ссылка на ячейку в закрытой книге
 
Цитата
написал:
objCloseBook.Close False
Но при попытке открыть файл источник ругается что уже открыт. А когда закрываю файл куда импортирую значения, то открывается и сохраняется файл источник без проблем.
Ссылка на ячейку в закрытой книге
 
Цитата
написал:
Исправить никак нельзя. Либо Вы получаете данные из закрытой книги, либо ничего у Вас не тормозит. Одно из двух.
Спасибо, но совсем непонятно.
Так же по ссылке
Цитата
написал:
Как получить данные из закрытой книги?
методом "Получение данных из закрытой книги при помощи UDF"
Но как указано выше
Цитата
написал:
Если в каждую ячейку зайти и нажать Enter то данные появляются.
Есть ли решение, подскажите пожалуйста.
Страницы: 1
Наверх