toto sa tu tolko krat riesilo ze staci si tu precitat kazdu druhu temu co tu je a mate to hotove :)
ale pre zopakovanie rakto:
For x = 12500 To 1 Step -2
Rows(x).Delete
End Sub
ochvilu ma eLCHa opravi ze preco to robim takto komplikovane :) ked to ide urobit cez nejaky special ... uz ani neviem presne ako sa vola ten prikaz ale ked vas zaujima to lepsie riesenia tak si ho najdite je to asi 1-2tyzdne stara tema
no su dve moznosti:
1. makro X a Y prerobit na funkciu a to sa bude prepocitavat pri zmene tej hodnoty.
2. vytvorit v danom sheete sub typu change:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
ja osobne by som isiel po prvej moznosti
tu je doplneny combobox items
otazka bola preco nezobere heslo ostatne bugy som neriesil :) chcete aj to opravit?
trochu som to polepil .... mate tam zle zadefinovane range
tu je to robene cez funkciu Find:
ved uz ste si sam vyriesil problem .)
teraz staci len stlacit na zaznamenanie makra a
makro1:
1. click na object
2. nastavit mu tlac nie
3. stlacit print
4. ukoncit makro
makro2:
1. click na object
2. nastavit mu tlac ano
3. stlacit print
4. ukoncit makro
no nejak nerozumiem zadaniu
ale skus takto:
for x = 12 to 791
if cells(x, 12) = 0 then if cells(x, 11) = "netusim co"
next
ja by som daval hodnoty do array pola a objekty by som vyvolaval cez Controls
asi takto:
NAZEV() As String
For x = 1 To 60
ReDim Preserve NAZEV(1, x)
NAZEV(0, x) = Cells(x + 1, 1)
NAZEV(1, x) = ThisWorkbook.Path & "\" & NAZEV(1, x) & ".jpg"
Me.Controls.Item("im" & x).Picture = LoadPicture(NAZEV(1, x))
Next
chceto prilohu takto mozem len povedat mate to pokazene
nemam to odskusane niesom pri office ale skuste toto:
For Each aCondition In Range("A1:B200").FormatConditions
Next
tak dalsia rada pre zacinajucich programatoroch
naprikladd stane sa im toto:
for ..
for ..
for ..
for ..
for ..
next
next
next
next
next
ja tomu lajicky hovorim 5 vnorenych cyklov ... pre zapis je to hrozne neprehladne a ked uz sa dostane programator do takehoto stadia mal by zacat pouzivat objectove programovanie :)
a to len z dovodu toho aby kod vypadal prehladnejsie a rychlo sa s nim pracovalo
tak by to vypadalo asi takto:
sub test1()
for
test2
next
end sub
sub test2()
for
test3
next
end sub
sub test3()
for
test4
next
end sub
sub test4()
for
test5
next
end sub
sub test5()
end sub
.... kde je kod hned prehladnejsi
myslim ze LeslieBrown-ovi to ani nebude vadit :) kedze ani na prvi prispevok nereagoval
ja som chcel len pre zacinajucich programatorov povedat to ze s cyklom FOR a podmienkou IF dokazu naprogramovat uplne vsetko
ok tak skusme nieco univerzalnejsie co sa aj v praxy dost casto deje:
napr. potrebujem naplnit array pole a to len tie riadky ktore splnaju tieto podmienky: (bez pouzitia cyklu, SQL syntaxu)
stpci A:
- hodnoty od 400 do 500
- hodnoty NULL
stlpci B:
- nesmie mat OLD
Stlpci D:
- hodnoty aktualneho mesiaca
ako by som toto naplnil bez cyklu?
ono je to uz profesionalna deformacia ze to takto riesim. Samozrejme da sa to este urobit aj SQL syntaxov, ktora je brutalne dobra a rychla
a vidite teraz keby to bolo v cykle zmenim podmienku z = na <> a v tom je ta jednoduchost
pri tomto zapise musim hladat spravne slovne spojenie :)
takze asi toto:
Selection.SpecialCells(xlCellTypeConstants, 23).Select
aha uz vidim:
Selection.SpecialCells(xlCellTypeBlanks).Select
ale aj tak by ma zaujimalo co by bolo rychlejsie
ten hore prikaz alebo ten cyklus ale prerobeny tak ze najprv selectne riadky a nakonci ich vsetky naraz vymaze
:)
aj ta funkcia SpecialCells(xlCellTypeBlanks) musi mat nejaky cyklus zaznacovania
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.