Jump to content

Ръководства за работа с Excel 2003


Препоръчан пост

Tragedy,

Не ми харесва този начин - аз и сега го правя по подобен начин ръчно, но ако се промени ширината на междинен ред се премества и последния на друга страница.

Ако става въпрос само за отпечатване - това е друго нещо. Това става чрез Page Setup -> Sheet, Rows to repeat at top.

 

 

Здравейте! В последните 2 часа преглидах цялата тема за да не повторя вече зададен въпрос. Не намерих нещо подобно.

Имам тектови файл, напр. Abc.tmp

Всеки ред съдържа някакво име и стойност. Да кажем 15 символа + 3 интервала + 15символа.

Трябва да направя макрос, който да прочита текстовия файл, да го записва приимерно в 2 масива

Dim Name(n),Stst(n). Последващото използване на тези данни за попълване на различни клетки от Worksheet ще го уточнявам по-нататък и ще си го направя сам.

Не ми е ясно как да направя изчитането на текстовея файл. Той може да е произволно дълъг, но с фикс.дължина реда - примелно 33 символа.

Второто ми питане е как да направя този макрос да се изпълвава при отварянето на екселския файл.Може да би трябва да започва с Sub Auto_Open() ?

Благодаря!

Привет,

 

Чудя се дали Text to Columns опцията в Data менюто би Ви свършила работа?

Link to comment
Сподели другаде

  • Отговори 1.5k
  • Създадена
  • Последен отговор

ТОП потребители в тази тема

ТОП потребители в тази тема

Публикувани изображения

Привет,

 

Чудя се дали Text to Columns опцията в Data менюто би Ви свършила работа?

 

Здравейте!

Тази опция не съм я ползвал и не знам дали ще свърши работа. Ще трябва да я проуча от любопитство.

Аз се поразрових и намерих ръководства за програмиране на VBA, макар и на Руски, и примерни програмни фрагменти.

Не съм "на ти" с Обектното програмиране, crying.gif но успях да скалъпя този макрос който ми върши работа.

Клетките които попълвам са предварително именувани. Тези имена, последвани от някакви стойноти се намират в текстовия файл, който от своя стана е създаден от някаква програма.

Благодаря за отделеното времи и внимание!

Винаги когато имам време преглеждам написаното във форумите и ръководствата.:thumbsup:

 

Sub Auto_Open()

Dim Puth As String, strRed As String, CelName As String, StSt As String, I As Integer
Puth = "C:\Temp\Nopr.tmp"
I = 1
'---------------------------------------------------
Open Puth For Input As #1
Do Until EOF(1)
Input #1, strRed '÷òåíèå îäíîãî ýëåìåíòà èç ôàéëà
CelName = Left(strRed, 15)
StSt = Right(strRed, 15)
' MsgBox I & " --- " & CelName & StSt
I = I + 1
Sheet1.Range(CelName) = StSt
Loop
Close #1

End Sub

Link to comment
Сподели другаде

Скоро не бях влизал във форума, ама като човек има нужда от помощ..... конкретно въпроса ми е: как да направя така, че като маркирам дадена клетка, вдясно от нея да се появява стрелка като за "Auto filter" и като я натисна да се появява падащо меню с предварително дефинирани текстове. Когато ги посоча да ми запълват клетката и ми спестят писането на повтарящи се неща.Виждал съм го готово, но не можах да намеря Help по въпроса.

Благодаря предварително.

P.S. Мисля си, че може би трябва макрос, но не съм сигуре.

Link to comment
Сподели другаде

Можеш да включиш лентата с бутони Forms и да вмъкнеш Combo Box. След това в свойствата му задаваш местоположението на списъка с данни, от които ще се избира.
Link to comment
Сподели другаде

Благодаря за бързия отговор. Това обаче не е каквото ми трябва или просто използването на лента Forms не е достатъчно. Създадените полета са като обекти върху клетките, а не съдържание в клетките. Освен това във файла, който видях първоначално, стрелката за падащия списък се появявашв само когато маркирах клетката. Когато клетката не е маркирана изглеждаше като обикновена клетка, а тук стрелката се вижда постоянно. Използвах eдин справочник за Excel 5.0 за допълнителна информация, но след обясненията за преместването на различните елементи в работното поле имаше примерни кодове за елемента на VBA, а пък аз нямам понятие от него.

Но все пак благодаря.

Link to comment
Сподели другаде

Здравейте на всички помагащи.Радвам се че открих този форум.Страхотни сте. Не познавам Excel, но ми се налага да направя една таблица.От няколко дни се боря с нея, но възникнаха въпроси с които не мога да се оправя.Ще помоля ако някой може да ми разясни проблема.По същество правя таблица за разни детайли които влизат като елементи в готов продукт. Отделните детайли пристигат в различни количества и се използват според разходната норма.Направих голяма таблица / примерна/ която искам да заключа за да не се пишат други неща по нея, но същевременно от направих и малка таблица , която ще е извадка на голямата без повечето колони.Та въпросите са следните:

1.Може ли от малката таблица чрез формула или друг начин да се прехвърлят данни/ числа/ в голямата таблица автоматично.Т.е. числата от колона "общо количество" в малката таблица да е еднакво с числата от колона "получено количество" в голямата таблица.Ще променям числата само в малката таблица в зависимост от доставките на материали.

2.Колона "общо количество " в малката таблица е сума от съседната колона "получено количество" и числото в колона "старо общо количество".При получаването на определен детайл трябва да запиша бройката в колона " получено количество", а в колона " старо общо количество " да препиша числото което е в момента в колона "общо количество", за да имам натрупване/сумиране/ на ново полученото количество, с това което имам до момента.Това ако може да се оптимизира и да избегна едната колона и преписването на наличното число до момента ще е по добре.

3.Възможно ли е по някакъв начин по всяко време да мога да си разпечатам документ в който да влизат само три колони В,С и О / дефицит/ и само редове на които има дефицит, защото цялата таблица ще е десетина листа.Да ми се разпечатват само детайлите които имат дефицит.

Това е за сега, дано да съм бил достатъчно ясен.Качвам и двете примерни таблици.

Благодаря предварително на всеки отзовал се .

kasowi aparati.xls

Книга2.xlsx

Link to comment
Сподели другаде

Здравейте на всички помагащи.Радвам се че открих този форум.Страхотни сте. Не познавам Excel, но ми се налага да направя една таблица.От няколко дни се боря  с нея, но възникнаха въпроси с които не мога да се оправя.Ще помоля ако някой може да ми разясни проблема.По същество правя таблица за разни детайли които влизат като елементи в готов продукт. Отделните детайли пристигат в различни количества и се използват според разходната норма.Направих голяма таблица / примерна/ която искам да заключа за да не се пишат други неща по нея, но същевременно от направих и малка таблица , която ще е извадка на голямата без повечето колони.Та въпросите са следните:

1.Може ли от малката таблица чрез формула или друг начин да се прехвърлят данни/ числа/ в голямата таблица автоматично.Т.е. числата от колона "общо количество" в малката таблица да е еднакво с числата от колона "получено количество" в голямата таблица.Ще променям числата само в малката таблица в зависимост от доставките на материали.

2.Колона "общо количество " в малката таблица е сума от съседната колона "получено количество" и числото в колона "старо общо количество".При получаването на определен детайл трябва да запиша бройката в колона " получено количество", а в колона " старо общо количество " да препиша числото което е в момента в колона "общо количество", за да имам натрупване/сумиране/ на ново полученото количество, с това което имам до момента.Това ако може да се оптимизира и да избегна едната колона и преписването на наличното число до момента ще е по добре.

3.Възможно ли е по някакъв начин по всяко време да мога да си разпечатам документ в който да влизат само три колони В,С и О / дефицит/ и само редове на които има дефицит, защото цялата таблица ще е десетина листа.Да ми се разпечатват само детайлите които имат дефицит.

Това е за сега, дано да съм бил достатъчно ясен.Качвам и двете примерни таблици.

Благодаря предварително на всеки отзовал се .

 

 

Здравей

 

1. За да стане автоматично прехвърлянето трябва таблиците ти да са в един документ на различни Sheet. Прехвърлянето на една стойност от Лист 1/Sheet 1 в Лист 2 / Sheet 2 става по следния начин =Лист1!C7 т.е. клетка C7 от лист 1/ Sheet 1 се записва във лист 2/ Sheet 2 /или друг по твой избор/.

 

2. Тук нещо не мога да схвана, след като събираш "получено количество" със "старо количество" как изчисляваш какво количество ти е останало? Изчислява ли се някъде, записва ли се?

 

 

3. Разпечатването на тези колони или редове които искаш може да стане като ги маркираш след това File>Print> и тук на Print what избираш Selection.

 

 

Link to comment
Сподели другаде

DAVIDOV, благодаря за бързата реакция.

Понеже не можах да измисля как да сумирам новото количество със получените количества преди това , затова направих тези три колони.Сумата е в колона "общо количество", но за да мога да го сумирам с ново число трябва да го препиша в другата колона "старо количество" и като въведа новата доставка в колона " получено количество " числото в колона " общо количество" отговаря на сумата от старото и новото.Ако някой може да даде съвет как да стане по рационално ?Целта е всяка нова доставка на определен детайл да се прибавя към сумата на всички предишни и тази обща сума да отиде в съответната клетка на колона "получено количество " в голямата таблица.А там не искам да се пипа защото при едно погрешно пипане ще загубя истинската бройка и после ще трябва да броим ръчно детайлите, а те са десетки хиляди.Проблема е че не можах да намеря формула с която да сумирам две числа в две колони, като добавям числа само в едната колона.

Link to comment
Сподели другаде

1. Това с прехвърлянето на данни от един файл в друг е възможно, но не ти го препоръчвам. Ето как става:

- отваряш и двата файла;

- в клетката, в която искаш да получиш данните от другия файл, пишеш = и отиваш в дугия файл в тази клетка от която искаш да вземеш данни. И после Enter.(Май сложно го обясних,а? :blush: )

Проблеми: Всяка клетка трябва да се попълва една по една. Има проблем ако не са отворени и двата файла едновременно...

 

2.Това с натрупването го разбрах така:1. Преди добавяш или променяш данните в колоните D и E, просто вземи колона F(copy) и я копирай с Paste special само стойностите(values) някъде в страни. Това са реални данни "преди" да започнеш да въвеждаш нови, т.е. "старо общо...".(надявам се и тук да ме разбереш :blush: )

 

3.Аз пък ти предлагам следното решение за принтирането:

1. Маркираш таблицата без заглавната част и даваш "Filter"

2. Избираш от филтъра на колона О съответното условие(в случая да бъде със стойност по-голяма от 0) - при това от цялата таблица ще останат редовете само с "дефицит".

3. После маркираш редовете, които са останали и принтираш, както е казал DAVIDOV.

Като свършиш принтирането, връщаш отново филтъра на колона О за All или махаш филтъра...

А за колоните - просто им дай Hide, за да се скрият по време на принтирането, а после маркираш предишната и последната колона и даваш Unhide, за да покажеш скритите колони...

Link to comment
Сподели другаде

Пропуснах да кача примерната таблица по добре.В трите таблици направих промяна в цифрите на колоните да е по ясно какъв искам да е резултата.

Книга2.xlsx

Книга2.xlsx

Книга2.xlsx

Link to comment
Сподели другаде

Здравейте,

имам следния проблем и моля за помощ!

След като затварям прозореца на Excel 2003 , започна да излиза следното съобщение:

http://i50.tinypic.com/2621w9g.jpg

 

Къде е проблема!:)

Link to comment
Сподели другаде

Здравейте,

имам следния проблем и моля за помощ!

След като затварям прозореца на Excel 2003 , започна да излиза следното съобщение:

http://i50.tinypic.com/2621w9g.jpg

 

Къде е проблема!:)

 

Дай още информация:

1. Кога точно го прави този номер:

- когато излизаш от програмата с записани данни или с незаписан файл.

- Къде записваш информацията (на диск, дискета, флаш)

2. Опитай се да изтеглиш данните за грешката:

- когато ти се появи този прозорец, отиди на What data does this error report contain?, копирай съдържанието в един текстов файл и го прикрепи към следващия си пост. Може и да се разбере понякога, кой модул прави грешка, а от там да ти дадем препоръка...

3. Офис пакета ти с СП2 ли е?

4. Пробвай това или това.

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...

×
×
  • Създай ново...