-
Един въпрос за Ексел
Имам един такъв въпрос:
Трябва да правя разни справки, които служебните програми не могат да направят [:(!]. Написъл съм един макрос за целта, но входните данни се намират в различни файлове, според необходимостта. Всеки път трябва да правя copy-paste в определен файл на входните данни преди да стартирам макроса.
Как да се направи така, че като се вкара стойност( да кажем "12345") в някоя клетка макросът да чете данните от файл с име "abc12345_d.dbf" [?]
-
Един въпрос за Ексел
Зависи как точно достъпваш dbf-файловете. Ако имаш вече работещ макрос, вероятно някъде в него се споменава името на файла, който ползваш. Трябва само да го смениш в низа, който извиква данните; нещо от типа да замениш навсякъде '12345' с '"+Sheet1.Range("FileName").Text+"' (без единичните кавички в двата края), при положение, че си кръстил въпросната клетка 'FileName'.
Ако не те съм се изказал много ясно, дай повече детайли, за да се уточня.
-
Един въпрос за Ексел
В момента макросът въобще няма отношение към .dbf -файловете. От .dbf намирам данните(ръчно), копи-пейст в определен шийт от файла, в който е макроса, стартирам макроса и той вади файл готов за разпечатване с необходимите справки. Другите данни(общите) съм сложил в отделни шиитове и взависимост от входните вади резултатите. Идеята е да добавя ред/ове/ в макроса и като сложа низа в клетка, определена от мен, да взима данните директно от .dbf. .dbf са с точно определени имена от типа "abc<font color="red">12345</font id="red">_a.dbf
-
Един въпрос за Ексел
Ами добре, започни от начало. Включи в нов файл да се записва макрос (Tools\Macro\Record New Macro...), за да видиш какво създава Excel. След това създай ODBC връзка към dbf-файловете: (Data\Import External Data\New Database Query...), използвай източник dBASE Files* или си създай нов, посочи някой от файловете, които ти трябват, избери колоните (вече в Microsoft Query), които ползваш (вероятно всичките - дръпни от списъка с колоните звездичката), щракни бутона 'Return Data', спри записа на макроса, копирай си го в твоя и ще си в положението, което имах предвид.
След това си коригирай макроса според конкретния ти случай.
По принцип ODBC връзката е относително бавна и предполага запис на данните някъде в Excel, но пък се настройва бързо.
-
Един въпрос за Ексел
@Avis,
Благодарности за помощта!