vy ste kynológ? čo máte za psíkov?
Bez problémov :)
Tak prečo si neupravíš to z linku, keď tvrdíš, že by si to zvládol?
Asi by malo ísť udalosťou Workbook_BeforePrint ošetriť nastavenie oblasti tlače, ničmenej, neskúšal som to, takže bez záruky...
to je slušné
Inšpirovať sa môžeš napr. tuná:http://stackoverflow.com/questions/19504858/find-all-matches-in-workbook-using-excel-vba; príspevok akéhosi B Harta-je to trochu robusnejšie riešenie, takže si ho môžeš prípadne zjednodušiť pre svoju potrebu
Sub NajdiMin()
Dim myRng As Range
Set myRng = [a1:a10]
MsgBox WorksheetFunction.Index(myRng, WorksheetFunction.Match(WorksheetFunction.Min(myRng), myRng, 0)).Address
Set myRng = Nothing
End Sub
Popis problému nič moc; skús to ešte raz a najlepšie rovno s prílohou.
šmankote, keď už sa pýtaš a pritom to z teba lezie ako z chlpatej deky, tak aspoň vyskúšaj, čo ti radil hneď v prvej odpovedi dingo
Na liste 90 v okrových bunkách máš riešenie (využitá pomenovaná funkcia a v nej evaluate). Ono to na teba síce bude kričať, že v súbore sú makrá, ale v skutočnosti v ňom nie sú.
ešte 2 tvary ma napadli - za prepokladu, že by som vermomocou chcel použiť NEBO z titulu otázky;
maticovo:=KDYŽ(SUMA(--NEBO($F$2:$F$100=B2))>0;"FED";"")v nematicovom tvare:=KDYŽ(SOUČIN.SKALÁRNÍ(--(NEBO($F$2:$F$100=B2)))>0;"FED";"")
Vzorec od marjankaja pmn fungovať nebude.
Funkčný vzorec v maticovom tvare by mohol byť napr.=ZVOLIT((SUMA(--(F:F=B2))=0)+1;"FED"; "")alebo=KDYŽ(SUMA(--(B2=F:F))=0;"";"FED")Opičákov vzorec bude fungovať korektne, akurát používa ošetrenie chyby, ktorému je možné sa vyhnúť inou konštrukciou. Do úvahy pre ilustráciu pripadajú nasledujúce možnosti (existuje ale i spústa ďalších spôsobov):=ZVOLIT((COUNTIF(F:F;B2)=1)+1;"";"FED")=ZVOLIT((COUNTIF(F:F;B2)=0)+1;"FED";"")=KDYŽ(COUNTIF(F:F; B2)=0; ""; "FED")=ZVOLIT(SOUČIN.SKALÁRNÍ(--(F:F=B2))+1; ""; "FED")
eLCHove slová by sa mali tesať do kameňa.
Prestávam rozumieť neutúchajúcej ochote niektorých riešiteľov chápať a pomáhať s riešením naprosto chaotických zadaní. Už nejakú dobu, pokiaľ zadanie nie som schopný rozkľúčovať kvôli jeho zmätenosti, tak je to pre mňa dostatočný dôvod, aby som sa o riešenie vôbec nepokúšal.
@lubo: s tou domnienkou si to vystihol presne
Díky za pomoc, trochu sa hanbím za svoju pohodlnosť zobraziť si nápovedu k IIf a tým pádom za oberanie Ťa o čas. Som trochu unavený a vystresovaný, inak by sa mi to snáď nestalo. Proste, základ je overiť si, ako ktorá funkcia pracuje a na to je v prvom rade nápoveda, až potom má človek vznášať dotazy, inak je za chumaja...
Ahoj,
dokáže mi niekto vysvetliť, prečo zakomentovaná časť nefunguje a podmienka if v nezakomentovanej časti kódu funguje? ' With TargetSheet.Shapes("Logo")
' .Left = IIf(ColInTiming = 1, [FirstInTiming].Offset(0, 1).Left, [FirstInTiming].End(xlToRight).Offset(0, 1).Left) - .Width
' End With
With TargetSheet.Shapes("Logo")
If ColInTiming = 1 Then
.Left = [FirstInTiming].Offset(0, 1).Left - .Width
Else: .Left = [FirstInTiming].End(xlToRight).Offset(0, 1).Left - .Width
End If
End WithPotrebujem posúvať tvar v závislosti na počte stĺpcov v sheete. Pokiaľ je posledným použitým stĺpcom stĺpec bunky [FirstInTiming] testované prostredníctvom premennej ColInTiming, tak zarovnať logo na úroveň tejto bunky, pokiaľ vpravo od nej sa nachádzajú ešte nejaké ďalšie použité stĺpce, tak logo zarovnať na úroveň posledného použitého stĺpca.
Viem, že problém je v: IIf(ColInTiming = 1, [FirstInTiming].Offset(0, 1).Left, [FirstInTiming].End(xlToRight).Offset(0, 1).Left) ale fakt by ma zaujímalo, aký???
Pokiaľ má niekto vysvetlenie, tak si ho rád vypočujem, radu, ako to urobiť, nepotrebujem, to mám vyriešené. Nakoniec som mohol napísať i With TargetSheet.Shapes("Logo")
.Left = [FirstInTiming].Offset(0, ColInTiming).Left - .Width
End With, čo je funkčné a pekne jednoduché. Zaujímalo by ma iba, prečo nešlo v tomto prípade použiť IIf
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.