1, Nerozumiem preco toto nefungovalo ako je to na obrazku vysie.
=IF(A2=NOT(FALSE);(A2&A3))
=IF(A2=NOT(FALSE);CONCATENATE(A2;A3))
Vysvetlis ? (oba sposoby nefunguju)
edit: prave ma napadlo ze NOT(FALSE) je TRUE. Ale ja som to myslel tak, ze vsetko ine okrem FALSE tam moze byt. Lebo napr "fg334" nie je FALSE, cize NOT, cize nie je nieco v zatvorke (ale nema to automaticky znamenat, ze opak. To som nechcel),ale hentam to tam ma iny zmysel. Skusal som aj napr. NOT("c") ale hlasi chybu, tak tipujem ze excel ma pre tento ucel nieco ine. Co ?
2, To, ci je FALSE excelovsky keyword som sa pytal preto, ze ked to budem pisat do vzorca, ci to ma byt bez dvojitych uvodzoviek alebo s nimi.
3, To co riesim by sa dalo vsetko naraz jednym makrom. Ale kedze to neviem a neviem ani co si napisal o makre(ked mi pises makrove veci len v indiciach, tak sa to neda spojit do celku. Ked to neviem tak si nemozem ako vycucat z prsta syntax a pod), tak som si chcel spravit 3 pomocne stplce, ktore maju vzorce, co sa daju potiahnut dole po 500-ty riadok(prvy stlpec robi meno Kodoveho setu +1, druhy stlpec spaja Kodovy set + vysledok prveho stplca + cast omacky. Treti stlpec mal byt ten akumulacny{mal spajat vysledky druheho stplca}, ale neviem ho spravit.) Tento treti co mal postupne akumulovat zretazenie sa neda v exceli vytvorit ? (bez toho aby sa manualne vpisovalo A1&B1 - prvy riadok. A1&B1&A2&B2 - druhy riadok atd ...
Nieco podobne ako sa da v programovani ze: a = b + 1 v loope. Ale napisat to do vzorca. V makre sa to asi da urcite.
4, Nemam striktne zadane kolko riadkov budem retazit. Zalezi ze kolko Kodovych setov potrebujem mat pokope v jednom stringu. Raz 10, niekedy 50, .... 500 som dal od brucha, pretoze ked neviem urobit vzorec, ktory staci potiahnut dole a bude robit svoju pracu, tak som musel najst sposob ako makru zadat fixne hranice aby to zretazil. Ked aj budem mat 10 Kodovych setov a UserDefinedFunkciu na 500 riadkov, tak blanks vynechavaju alebo su ako "", takze stale nic na zretazenie.
5, Uz som to spravil a funguje to. Pouzil som toto:
Function concat(useThis As Range, Optional dlm As String) As String
' this function will concatenate a range of cells and return one string
' useful when you have a rather large range of cells that you need to add up
Dim retVal As String
Dim cell As Range
retVal = ""
For Each cell In useThis
'Omit cells with blanks and that equal FALSE
If CStr(cell.Value) <> "" And _
CStr(cell.Value) <> " " And _
UCase(CStr(cell.Value)) <> "FALSE" Then
retVal = retVal & CStr(cell.Value) & dlm
End If
Next
concat = Left(retVal, Len(retVal) - Len(dlm))
End Function
Je to tam natvrdo zadane ze omituje iba false.Napisal som, ze to funguje, ale nemozem si nijako skopirovat ten output, neviem preco. Vidim ho ako text co presahuje tu bunku, ale ked ju oznacim a skopirujem, tak to robi hovadiny. Neviem preco ??
A tiez to pastne ine veci, ked to pastujem do inych miest pod tym vzorcom v rovnakom stplci. Co to ma znamenat
Tie pomocne stlpce som skryl, ale keby to sposobovalo problem, tak by nefungoval vzorec ale funguje. Ked nan nakliknem vidim: =F1&E2&F9&H1&F11