Jump to content

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


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

Здравейте, 

Имам нужда от макрос, който да прави следното нещо:

За всички клетки в диапазона А1:А10,  които съдържат "Аб.*",  диапазона A:H(само реда на който е клетката), да се оцвети RGB(244, 244, 244)

Примерно ако в клетка А1 и А2 има Аб.23490584, диапазона А1:H1 и диапазона А2:H2 да се оцвети

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

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

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

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

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

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

Здравейте, 

Имам нужда от макрос, който да прави следното нещо:

За всички клетки в диапазона А1:А10,  които съдържат "Аб.*",  диапазона A:H(само реда на който е клетката), да се оцвети RGB(244, 244, 244)

Примерно ако в клетка А1 и А2 има Аб.23490584, диапазона А1:H1 и диапазона А2:H2 да се оцвети

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

Здравейте Vanka,

само ако се съдържа "Аб."

или трябва да се прави сравнение за А1 и А2 и ако двете съдържат Аб.23490584, то тогава да се оцветят в желания цвят?

Или да се прави сравнение между всяка една клетка от А1 до А10?

И ако в например А6 имаме Аб.111111111111, то тогава какво се случва?

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

Здравей,

Само ако съдържат "Аб.", независимо колко са те.

Примерно ако А1 и А2 съдържат Аб.230948, оцветява се А1 до H1 и A2 до H2

Ако се съдържа "Аб.*" в А2,А3,А4, да се оцвети А2 до H2, А3 до H3, А4 до H4. 

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

Здравейте Vanka,

използвайте CF и поставете според вашите клетки показаната формула и желаното оцветяване, заедно с желаният диапазон от клетки за оцветяване! (вж. снимката)

post-18983-0-37812300-1368889938_thumb.jpg

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

Здравей,

Мерси за това, но тези редове, които съдържат "Аб.*", се трият и добавят други и ми трябва автоматично за  тези клетки, които съдържат "Аб.*" да се оцветява диапазона A1:H1, тоест този диапазон да си е оцветен постоянно за клетките съдържащи "Аб.*"

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

Не ви разбирам!? Всеки ред или колона(ако не е Hidden(скрита))) при изтриване си остава след изтриването със същото име, което невидимо си остава същата.

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

Да получава се, но като копираш цял ред на някой от тези редове, CF не е валиден, тоест ако се копира ред 10 от лист 2 и се постави в ред 3 в лист 1, този ред в лист 1 не е оцветен, тази информация за "Аб.*" се взема и поставя автоматично от друг лист(копира се целия ред) и после ми трябва да се осветява също автоматично за всички съдържащи"Аб.*". Извинявам се, че не се изразих правилно още в началото.

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

Имате възможност да използвате Paste Values и тогава няма да имате проблем с това нещо!

Изпробвах го и работи!

Ако е макрос то тогава променете малко кода някъде в края с (PasteSpecial xlValue).

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

  • 2 weeks later...

Здравейте,

Възможно ли е да се създаде макрос, който да съхранява лист 3(примерно) в нов създаден файл в определена папка в зависимост от критерий посочен в лист 2, клетка C5 (Критериите са градове(Варна, Русе, Велико Търново), папките съответно са озаглавени на тези градове(Варна, Русе, Велико Търново)) и да пита потребителя само за името на файла. След като се пусне макроса изкача диалогов прозорец, който да пита за име, копира се лист 3 поставя се в нов създаден файл, поставен в папка за съответния град с името посочено от потребителя.

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

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

Здравейте Vanka,

имате 1 работна книга(workbook)

в нея - 3 листа(sheet's)

в лист2 клетка С5 - има град,

вие се намирате в лист3

следва save as, последвано от в "кой град(папка) да запаметя Лист3"

от тук вече не ми става ясно а т.е 

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

ако в клетка С5 на лист2 е град Варна, а вие се намирате на Лист3, то защо ви е този критерии за клетка С5, след като макроса пита потребителя "Къде да запаметя този Лист3"? - това само по себе си няма никаква логика

Това копиране на Лист3 в нов създаден файл - дори и само един Лист да има, то той винаги се запаметява в нова Работна книга(Workbook), то тук питането ми е следното - Искате всеки Лист3 да се запазва в една и съща Работна книга и вътре в нея да има добавяне на този лист3 или всеки Лист3 да си бъде в отделна Работна книга в съответният град?

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

Здравей,

намираме се в лист 1 и от там управляваме, чрез натискане на бутон, лист 2 и лист 3 се създават( след изпълнение на друг макрос) и съответно града в C5 всеки път е различен, дадох пример с около 3 града, но всъщност те са над 20 и за да се избегне търсенето в папки, при съхраняването, целта ми след натискане на бутон да изкочи диалогов прозорец, който да пита за име и наименования файл сам да знае къде да се съхрани в папката за съответния град(тоест ако в лист 2, C5 е Варна, създава се файл в папка Варна).Запаметяването винаги трябва да става в нова работна книга, а не с натрупване.

 

Всъщност ако може да се вземат, да се съхранят лист 2 и 3 заедно(а не само 3), защото и двата са нужни.

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

Здравейте Vanka,

извинявайте, че закъснях с отговора, но имах доста лични неща за вършене!

Option Explicit

Sub kTest()
    
    Dim strDesktopFolder    As String
    Dim strCity             As String
    Dim wbkActive           As Workbook
    Dim wbkNew              As Workbook
    Dim strFName            As String
    
    strDesktopFolder = CreateObject("WScript.Shell").Specialfolders(10)
    
    strCity = ThisWorkbook.Worksheets("Sheet2").Range("c5")
1:
    If CBool(Len(Dir(strDesktopFolder & "\Countries\" & strCity, vbDirectory))) Then
        Set wbkActive = ThisWorkbook
        Set wbkNew = Workbooks.Add(xlWBATWorksheet)
        wbkActive.Worksheets(Array("Sheet2", "Sheet3")).Copy before:=wbkNew.Worksheets(1)
        strFName = Application.InputBox("File Name", "FileName", Type:=2)
        wbkNew.SaveAs strDesktopFolder & "\Countries\" & strCity & "\" & strFName, 51
        wbkNew.Close 0
        Set wbkNew = Nothing
    Else
        If MsgBox("Folder '" & strDesktopFolder & "\Countries\" & strCity & "' не съществува." & vbLf & _
            "Искате ли да създадете този файл?", vbYesNo) = vbYes Then
            MkDir strDesktopFolder & "\Countries\" & strCity
            GoTo 1
        Else
            Exit Sub
        End If
    End If
    
End Sub

Направете си един Module, и поставете този код, след което един бутон в Sheet1, който да задейства макроса.

!!!Важно -> това *Countries е името на моя опит, т.е при вас поставете името на папката в която ви се намират всички градове!

 

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

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