Tips & tricks
15 отговора
1093 прегледа
Tips & tricks
Дайте да направим една такава редовна рубрика, в която да съобщаваме някакви интересни и полезни трикове, които сме отркрили при работа.
Например наскоро съвсем случайно открих, че когато се прехвърлят данни от Аксес в Ексел по подразбиране шрифтът е MS Sana Serif. Ако се промени на добре познатият ни Times New Roman това сваля обемът на файла значително. В моя случай от 58 мегабайта на около 51 мегабайта, което си е повече от десет процента
То, не че не мога, ама има ли смисъл, като няма значение
Например наскоро съвсем случайно открих, че когато се прехвърлят данни от Аксес в Ексел по подразбиране шрифтът е MS Sana Serif. Ако се промени на добре познатият ни Times New Roman това сваля обемът на файла значително. В моя случай от 58 мегабайта на около 51 мегабайта, което си е повече от десет процента
То, не че не мога, ама има ли смисъл, като няма значение
Re: Tips & tricks
Поради проявения интерес, публикувам тук следния трик
Във версиите на Ексел след 97 с Find може да се търси не само в текущия шийт, но и във всички шийтове на файла. Само трябва да се маркират всички (или само тези, които ви интересуват) шийтове. Иначе Find търси само в текущия.
м/у другото същото е положението и с Replace
То, не че не мога, ама има ли смисъл, като няма значение
Във версиите на Ексел след 97 с Find може да се търси не само в текущия шийт, но и във всички шийтове на файла. Само трябва да се маркират всички (или само тези, които ви интересуват) шийтове. Иначе Find търси само в текущия.
м/у другото същото е положението и с Replace
То, не че не мога, ама има ли смисъл, като няма значение
Re: Tips & tricks
Помните я тая тема, нали? Всъщност това, което искам да споделя с вас може би трябва да бъде в тема "Миг красота носи вечна радост".
Всички сме забелязали, че една таблица изглежда по-прегледно и информацията се чете по-добре, ако четните редове са оцветени в един цвят, а нечетните - в друг. Особено, ако става въпрос за някаква справка за голям шеф.
До днес постигах този ефект с помощтта на множество гимнастики и две допълнителни колони. Но тази сутрин открих много фино, елегантно и бих казал гениално решение на проблема. За повече подробности, четете тук.
Сега нямам много време (щото правя справки за един немалък шеф), затова не го превеждам на български. Но при проявен интерес ще го сторя.
То, не че не мога, ама има ли смисъл, като няма значение
Всички сме забелязали, че една таблица изглежда по-прегледно и информацията се чете по-добре, ако четните редове са оцветени в един цвят, а нечетните - в друг. Особено, ако става въпрос за някаква справка за голям шеф.
До днес постигах този ефект с помощтта на множество гимнастики и две допълнителни колони. Но тази сутрин открих много фино, елегантно и бих казал гениално решение на проблема. За повече подробности, четете тук.
Сега нямам много време (щото правя справки за един немалък шеф), затова не го превеждам на български. Но при проявен интерес ще го сторя.
То, не че не мога, ама има ли смисъл, като няма значение
Re: Tips & tricks
сичко добре, ама нещо с тая формула =mod(row(),2)=1 не става
има няква грешка в това ,2 - иска няква друга стойност
К.
........I WASN'T REALY DRUNK AT THE TIME.......
има няква грешка в това ,2 - иска няква друга стойност
К.
........I WASN'T REALY DRUNK AT THE TIME.......
Re: Tips & tricks
Защото според синтаксиса на Mod(), формулата трябва да е:
=mod(row();2)=1
;o))))) Четете бре.
Щирлиц
=mod(row();2)=1
;o))))) Четете бре.
Щирлиц
Re: Tips & tricks
За разделител на параметрите във формулите се използва List Separator-а (Разделител за списъци), който е посочен в Регионалните настройки.
Предполагам, че List Separator ти е ";".
Ако е така, формулата трябва да има вида:
=mod(row();2)=1
Предполагам, че List Separator ти е ";".
Ако е така, формулата трябва да има вида:
=mod(row();2)=1
Re: Tips & tricks
виж това вече беше правилния отговор - благодаря, баш точно си стана
10х
К.
........I WASN'T REALY DRUNK AT THE TIME.......
10х
К.
........I WASN'T REALY DRUNK AT THE TIME.......
Re: Tips & tricks
ето нещо и от мен по този въпрос
Sub Color()
Dim i As Integer
For i = 1 To 10 Step 2
Rows(i).Interior.ColorIndex = 6
Next
End Sub
Go Install Analysis Toolpack!
Sub Color()
Dim i As Integer
For i = 1 To 10 Step 2
Rows(i).Interior.ColorIndex = 6
Next
End Sub
Go Install Analysis Toolpack!
Re: Tips & tricks
;о))) Като сме почнали - хайде да го равием докрай.
Този код:
иска да му бъдат въведени начални и крайни - колона и ред, и ги запълва с избран цвят. Сега остава да се направи така, че тези стойности за начален и краен ред и колона да се "вземат" автоматично от предварително селектирана област. Т.е. да си маркираш с мишока някаква област, и да стартираш макроса, а той без да пита - да запълни избраната област.
Хайде помагайте сега. ;о)
Щирлиц
Този код:
Sub Macro1()
Dim iRowStart As Long
Dim iRowEnd As Long
Dim iColStart As String
Dim iColEnd As String
Dim iStep As Long
Dim iCount As Long
Dim iColor As Long
iRowStart = Val(InputBox("От ред:", "Запълване", "1"))
iRowEnd = Val(InputBox("До ред:", "Запълване", "65536"))
iColStart = InputBox("От колона:", "Запълване", "A")
iColEnd = InputBox("До колона:", "Запълване", "ZZ")
iStep = Val(InputBox("Стъпка:", "Запълване", "2"))
iColor = Val(InputBox("Цвят:", "Запълване", "6"))
For iCount = iRowStart To iRowEnd Step iStep
Range(iColStart & iCount & ":" & iColEnd & iCount).Select
With Selection.Interior
.ColorIndex = iColor
.Pattern = xlSolid
End With
Next iCount
End Sub
иска да му бъдат въведени начални и крайни - колона и ред, и ги запълва с избран цвят. Сега остава да се направи така, че тези стойности за начален и краен ред и колона да се "вземат" автоматично от предварително селектирана област. Т.е. да си маркираш с мишока някаква област, и да стартираш макроса, а той без да пита - да запълни избраната област.
Хайде помагайте сега. ;о)
Щирлиц
Re: Tips & tricks
а бре, момци, що се морите с VВА, като хората са го направили пиррррфектну и така?
То, не че не мога, ама има ли смисъл, като няма значение
То, не че не мога, ама има ли смисъл, като няма значение
Re: Tips & tricks
Кои хора, и как са го направили? Искам да си запълня пред ред само част от таблицата... Е?
Щирлиц
Щирлиц
Re: Tips & tricks
В отговор на:Кои хора, и как са го направили?
Вж. линка от постинга на f(x)dx () 16.02.05 12:26
В отговор на:Искам да си запълня пред ред само част от таблицата... Е?
Маркираш само част от таблицата и задаваш условното форматиране
PS
Напр. за три цвята:
Редактирано от NDeu на
Re: Tips & tricks
Да бе. Верно. ;о))
Но остава нерешен въпроса ми как да "взема" адресите на лява-горна и дясна-долна клетка от маркирана област. ;о) Има приложение.
Щирлиц
Но остава нерешен въпроса ми как да "взема" адресите на лява-горна и дясна-долна клетка от маркирана област. ;о) Има приложение.
Щирлиц
Re: Tips & tricks
Напр.
MsgBox "ГореЛяво $" & Chr(Asc("A") + Selection(1).Column - 1) & "$" & Selection(1).Row & Chr$(13) & "ДолуДясно $" & Chr(Asc("A") + Selection(Selection.Count).Column - 1) & "$" & Selection(Selection.Count).Row
PS
Това не работи коректно, когато имаме няколко селектирани области (селекция с дупки).
MsgBox "ГореЛяво $" & Chr(Asc("A") + Selection(1).Column - 1) & "$" & Selection(1).Row & Chr$(13) & "ДолуДясно $" & Chr(Asc("A") + Selection(Selection.Count).Column - 1) & "$" & Selection(Selection.Count).Row
PS
Това не работи коректно, когато имаме няколко селектирани области (селекция с дупки).
Редактирано от NDeu на
Re: Tips & tricks
Знам, че вече е направено, заинтересува ме задачата вчера и се пробвах да стигна до решение (както казах съм начинаещ в VB и експериментирам къде каквото видя). Та това измислих:
Sub ocweti()
Dim Cell As Range
Dim i As Integer
Dim j As Integer
Dim b As Integer
Dim iColor As Long
Dim jColor As Long
iColor = Val(InputBox("Първи цвят:", "запълване", "6"))
jColor = Val(InputBox("Втори цвят:", "запълване", "none"))
Let i = -1
Let j = Selection.Columns.Count
For Each Cell In Selection
Let i = i + 1
Let b = Int(i / j)
If b / 2 = Int(b / 2) Then Cell.Interior.ColorIndex = iColor Else Cell.Interior.ColorIndex = jColor
Next
End Sub
Sub ocweti()
Dim Cell As Range
Dim i As Integer
Dim j As Integer
Dim b As Integer
Dim iColor As Long
Dim jColor As Long
iColor = Val(InputBox("Първи цвят:", "запълване", "6"))
jColor = Val(InputBox("Втори цвят:", "запълване", "none"))
Let i = -1
Let j = Selection.Columns.Count
For Each Cell In Selection
Let i = i + 1
Let b = Int(i / j)
If b / 2 = Int(b / 2) Then Cell.Interior.ColorIndex = iColor Else Cell.Interior.ColorIndex = jColor
Next
End Sub