Jump to content

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


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

Здравей,

имам още едно питане - започваш процедурата търсене, след като ги намери какво да се случва; да ти изпише къде се намират, да ти отвори работните книги, подай ми още малко помощ, не мога да чета мисли.

Благодаря

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

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

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

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

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

Трябва ми да знам в кои работни книги се намира търсената информация (работните книги са разделени по различни критерии), работните книги ще бъдат отворени.
Link to comment
Сподели другаде

Здравей Vanka,

решението на твоят проблем с търсене в много отворени екселски файлове и намиращите се в тях Sheet-тове е тази приставка, която се внедрява в ексел лентата и се внедрява в Add-ins. В последствие имаш иконка, след натискането се появява следният прозорец(прикачен е като снимка) и отваряш всички файлове, след което започва търсенето и показването къде се намира търсеното нещо от твоя страна. Във файлът има обяснено как да се инсталира и как да се премахне, но е на английски език(ако желаеш ще ти го преведа).

Инсталация:

- Отворете файла Zip

- Разархивирайте всички файлове от Zip файл в една директория.

- Затворете Zip файл

- Отидете до директорията, в която сте разархивирали файловете на

- Отворете файл, наречен "Setup Flexfind.xls". Уверете се, че сте разрешили макросите.

- Натиснете върху бутона за инсталиране.

---------------------------------------------------------------------------------------------------------------------------------------------

Премахване:

Инсталационният файл включва и опция за премахване. Ако това се провали, следвайте тези инструкции.

- Отваряте Excel

- Изберете Tools -> Add-ins

- Махнете отметката "Flexible Find & Replace Utility"

- Затвори Excel

- Отворете прозорците Търсене на файлове или папки диалогови (натиснете прозорците ключ в комбинация с буквата F или щракнете върху Старт, да намерите, файлове или папки)

- Търсене за "flexfind.xla"

- Изтриване на всички файлове отговарящи на името "flexfind.xla"

- Стартирайте Excel отново

- Изберете Tools -> Add-ins

- Опитайте се да проверите "Flexible Find & Replace Utility"

- Excel го е премахнал от Add-ins в списъка.

И НАЙ-ВАЖНОТО ТАЗИ ПРИСТАВКА Е НАПЪЛНО БЕЗПЛАТНА

post-18983-0-45254000-1354096813_thumb.gif

flexfind2007.zip

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

Благодаря ти много, предполагам точно това ще ми свърши работа, но понеже не съм администратор на компютъра не ми е позволено да правя каквито и да е било инсталации и промени, ще видя какво мога да измисля.
Link to comment
Сподели другаде

Здравей

няма как да не се получи, то е макрос, само дето се инсталира сам, което не води до администраторски права на даден компютър. Ползвай я със здраве!

Поздрави

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

Здравейте!

Искам малко помощ от някой, който е запознат с макроси в ексел.

Имам направена таблица на ексел с много шийтове. Един основен (BD), на който се пишат данните и по един на всеки доставчик (1000; 2000; 3000; 4000).

От шийт BD искам да автоматизирам процеса и да разхвърля всичко натрупано от D42:BB2042 до момента за всеки отделен доставчик Е42:Е2042 и всичко това да отиде по съответните му шийтове 1000; 2000; 3000; 4000 отново на D42:BB2042.

Да знам, че може да става с филтриране и да си ги прехвърля ръчно но не са само 4 шийта, а към 50 и за това съм решен да стане по лесния начин.

Ако има някой, който може да ми помогне с кода ще съм му изключително благодарен.

XFILE.xls

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

Здравей fantomasbg,

Ето го решението на задачката:

Ще видиш във файлът че имаш 2 sheet-a единият е твоят BD и още един съм направил, който не изтривай или ако ще вземеш Макроса за да го поставиш на друго място, то тогава копирай Sheeta(Template) на другото място.

Следващото нещо:

Там където са ти номерата - 1000, 2000, 3000 и т.н - съм ти поставил по 1 BD, за да може да ти различава в кой Sheet да отива информацията.

Следващото нещо - Недей да правиш 50 шийта с имената на тези 1000, 2000(по ново му BD 1000, BD 2000 и т.н). Когато натиснеш бутона за изпращане на информацията ексел САМ ще си направи имената. След което ще ти натрупва всичко написано във всеки отделен и отговарящ на името си шийт.

Option Explicit
Option Base 1
Sub ContractList()
Application.ScreenUpdating = False
Dim AllCells As Range
Dim cell As Range, Rng As Range
Dim NoDupes As New Collection
Dim lrow As Long, Rlrow As Long
Dim Myval As Integer
Dim wks As Worksheet
Dim Item As Variant
Dim Hdrarray As Variant
Dim cnt As Long
Dim Ctempws As Worksheet
Set Ctempws = Sheets("Template")
lrow = Sheets("BD").Range("E15536").End(xlUp).Row
Set AllCells = Range("E42:E" & lrow)
For Each cell In AllCells
On Error Resume Next
NoDupes.Add cell.Value, CStr(cell.Value)
Next cell
On Error GoTo 0
For Each Item In NoDupes
Range("D41:BB41").Select
 Selection.AutoFilter
 With Selection
	 .AutoFilter Field:=2, Criteria1:=Item
 End With
	 Set Rng = ActiveSheet.AutoFilter.Range
	
	 Myval = Range("E42:E" & lrow).SpecialCells(xlCellTypeVisible).Count
	
		 On Error Resume Next
		 Rlrow = Sheets(Item).Range("E15536").End(xlUp).Row + 1
		 If Err = 9 Then
		
			 Ctempws.Copy after:=Worksheets(Worksheets.Count)
			 ActiveSheet.Name = Item
			
			 With Sheets(Item)
				
				 Rlrow = .Range("D15536").End(xlUp).Row + 1
				 Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy
				 .Cells(Rlrow, 4).PasteSpecial xlValue
				 Application.CutCopyMode = xlCopy
				 Sheets(Item).Cells.EntireColumn.AutoFit
				 Sheets(Item).Range("D41").Select
				 Sheets("BD").Activate
			 End With
		 Else
			 Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy
			 Sheets(Item).Cells(Rlrow, 4).PasteSpecial xlValue
			 Sheets(Item).Cells.EntireColumn.AutoFit
			 Sheets(Item).Range("D41").Select
			 Application.CutCopyMode = xlCopy
		 End If
Next Item
Selection.AutoFilter
End Sub

Поздрави

XFILE(1).xls

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

k0st4din!, перфектно си разработил макроса.

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

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

Тогава ги допиши ръчно и макроса ще го разчете, като "Този шийт го има и трябва само да добавя това което съдържа" и си готов.

BD 3000, BD4000, BD 5000, BD 6000 и т.н......................

Поздрави

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

Тогава ги допиши ръчно и макроса ще го разчете, като "Този шийт го има и трябва само да добавя това което съдържа" и си готов.

BD 3000, BD4000, BD 5000, BD 6000 и т.н......................

Поздрави

 

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

И другото, което забелязах след шийт "BD 1000" прехвърля всички данни от BD в тях BD 2000, 3000, 4000 ............

При ръчно създаден шийт на доставчик прехвърля отново всички данни от BD в него.

Това дали може да се избегне?

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

Здравей,

извинявай, но ще се наложи да го напиша отново, ЗАЩОТО ЯВНО НИКОЙ НЕ ЧЕТЕ НАПИСАНОТО ОТ МЕН В ЧЕРВЕНО.

нали се сещаш, че няма начин да знам точно какво иска всеки нуждаещ се.

Защото: Питания от сорта, ще може ли да направите еди какво си? И някой от форума помогне.

След това се започва: А дали ще може още малко да се направи еди какво си, а след него пък се случва не знам си какво и т.н.

Подчертавам - И НА МЕН МИ СЕ Е СЛУЧВАЛО ДА СЕ НУЖДАЯ ОТ ПОМОЩ, НО НИКОГА НЕ СЪМ ПИТАЛ ПО БЕЗБРОЙ ПЪТИ.

Обяснявам от какво имам нужда, за да бъде напълно ясно какви са моите нужди, в даденият ми проблем.

относно твоето питане:

[/b]От шийт BD искам да автоматизирам процеса и да разхвърля всичко натрупано от D42:BB2042 до момента за всеки отделен доставчик Е42:Е2042 и всичко това да отиде по съответните му шийтове 1000; 2000; 3000; 4000 отново на D42:BB2042[b]

- как според теб как мога да се сетя, по колко пъти натискаш бутона? Откъде мога да знам, че не искаш да се натрупва информацията? Няма начин да ти прехвърля инфото например BD 1000, да ти отиде в BD 2000, BD 3000 или където и да било. Преди да ти го изпратя съм го пробвал достатъчно пъти, за да видя че всичко е наред, за да може потребителят(в случая ти) да не се занимавате с грешки, а да остане доволен.

И за да докажа, че съм прав, прикачам файл, на всеки един шийт заедно с главният BD за да видиш, че нямаш никакви повторения в нито един шийт отговарящ на своя "код" (ако може така да го нарека - BD ..............)

Поздрави

post-18983-0-56979800-1354390804_thumb.jpg

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

Здравейте!

 

Ще помоля за малко помощ при Microsoft Excel-a. Имам да правя курсова работа и от два дена мъча една формула безуспешно. Ще кача файла и снимка на условието. Благодарен ще съм на всякакви отзиви и предложения.

 

Снимка с условието: http://prikachi.com/images/150/5568150P.jpg

Линк за сваляне на файла: http://dox.bg/files/dw?a=fa53e45cb2

 

Формулата, по която би трябвало да се изведат числата съм я написал в клетка G8, но получавам грешката "#VALUE!".

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...

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