odpověď od eLCHa je vyčerpávající
Formátem čísla to jde, ale výsledek je jiný, buď odstraní nuly nebo tečkuje jako tisíce a miliony takže to vlastně nejde.
Otázkou je k čemu má takový formát s tečkama či lomítkem sloužit. Zadání je zřejmě z klávesnice, jinak bys nechtěl "nepsat" tečky a lomítka.
V příloze je způsob jak docílit "tečkovaného" čísla, ale vyžaduje to zápis do sloupce a jinde třeba funkcí zobrazení výsledku, takže asi taky nesmysl.
Rěšení mě napadá jen jedno (používám u jednoho programu). Při startu nebo nějakou klávesovou kombinací nebo před tiskem spustit makro, které příslušné buňky přerovná a nebo zapisovat úplně jinak a to podle Listu2 a nebo - varianta třetí - zvyknout si na formát bez lomítka a bez teček.
To eLCHa:
můj původní pokus byl na Win8, Off 2010, a klávesnici "bez numerické" a funguje všechno bez problémů
včera jsem to zkusil na Win7, Off 2007 a s numerickou klávesnicí a NIC, vůbec NIC
takže nevím
Musí být znám jakýsi vzor, tedy třeba to, že písmena A nebo AA nebo AAA jsou jako skupina, která není nikdy rozdělena tečkou. Tedy pokud to má být tak, že 1S0 je první skupina a <tečka> další je trojčíslí a <tečka>, další trojčíslí <tečka> a pak skupiny stejných písmen oddělených tečkou ?
Druhé číslo je vždy, ať je jakkoli dlouhé oddělené lomítkem mezi druhýma třetím zprava ?
slX = Array(1, 2, 3, 4, 12, 9, 10, 11, 7, 8)
pokud to bude zapsáno takto, zústává pořadí tak jak bylo, ale sloupec 5 a 6 bude prázdný, protože se do něj nic nezapíše.
tedy udaje se načetly od 1 do 10 a ve stejném pořadí jsou vyplivnuta do listu2. K přenosu údajů mezi listy je použito načtení údajů do pole o deseti prvcích a to v pořadí od sloupce A (tedy 1) do sl. J tedy 10. Tyto údaje jsou pak ve stejném pořadí zapsány na List2 ALE ! do jiných pozic !, první 4 stejně jako na Listu1, proto jsou čísla 1,2,3,4, ale dál je to přeházené, protože údaj, který byl původně na páté pozici (sl.E)jsi chtěl do 10. sloupce (J), proto je na pátém místě císlo 10 (- původní verze). Snad jsem to vysvětlil srozumitelně.
slX = Array(1, 2, 3, 4, 10, 7, 8, 9, 5, 6) ..takhle je to původně a kdybys chtěl třeba od páté položky někam jinam tak to bude
slX = Array(1, 2, 3, 4,x,x,x,x,x,x)
kde x je číslo sloupce. Takže sloupec F je 6, sl. B je 2, sl. M je 13.
V první části kodu, kde jsou hodnoty načítány načítá od sloupce 1 do 10 a v druhé, kde je "vyplivne" do různých buněk je 1 až 4 taky na pozici 1 až 4, takže stejně jako na Listu 1 , ale další si chtěl přeházet, proto jsou i čísla slX = Array(1, 2, 3, 4,10, 7, 8, 9, 5, 6)
přeházená, podle toho, do kterého sloupce to mělo být.
nebo s nepatrně jednodušším makrem
vyzkoušej
Nějakým způsobem to jde, ale ...
spíš se mrkni, jak to načítá komentář a jak ho to makrem vytvoří a vyplní. Třeba to můžeš nějak využít. Je to funkční pouze pro propojení typu =+List.... nebo jen =List..... .
Takže asi minimální efekt, ale to neznamená že to nějak jinak nejde, ale já nevím.
Takže pokud dáš kurzor na nějakou buňku (barevnou) na Listu2 a stiskneš tl. najde komentář dle zápisu v bu%nce a zapíše ho do Listu 2 .
Funguje samozřejmě i pro oblast, takže pokud se označí oblast nebo i celý list List2 a stiskneš tl. vyhledá a přepíše všechny komentáře.
Vyzkoušej tohle, jednoduché a funkční.
Samozřejmě musíš změnit řádek s odkazem na umístění souboru, ze kterého chceš získat data a zadat co chceš získat.
Sub ReferToExcel()
Dim xlApp As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim x As Long, y As Long
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open("C:\dokumenty_moje\pokus.xlsm")
Set ws = wb.Sheets("List1")
x = 5
y = 10
MsgBox "Row 5, Col 10 value=" & ws.Cells(x, y).Value
wb.Close False
Rem --- konec quit excel app ---
xlApp.Quit
Set xlApp = Nothing
Set wb = Nothing
Set ws = Nothing
End Sub
Něco podobnýho se tu řešilo. Bylo potřeba "vytahat" určitá data ze všech souborů v adresáři.
oprava:
http://wall.cz/index.php?m=topic&id=11684
JDE TO TAKTO
?? upravil jsem vzorec v E10
Netuším, jaké má být další použití. Tohle tu mám upravené už ani nevím z čeho. Jestli to bude k něčemu nevím.
řešení makrem.
lze upravit tak, aby bylo aktivované třeba zápisem data do sl. B
původně jsem to zkoušel i vzorcem (nakonec jsem příspěvek dal pryč), tohle mi připadá podstatně jednodušší.
Jde to i jednodušeji. Stačí
Private Sub CheckBox1_Click()
List2.CheckBox1.Value = List1.CheckBox1.Value
End Sub
vložit CheckBox:
karta "Vývojář" vložit "Active X" a vložíš
to samé na Listu 2
pak na Listu 1 klepneš na CheckBox a objeví se ti to co je výše (kod), ale jen první a poslední řádek
dopíšeš prostřední (a zavřít)
na CheckBou jsou po klepnutí pravým tl. přístupné Vlastnosti, zde můžeš přejmenovat = řádek Caption
pak zrušíš "Režim návrhu" a mělo by to být
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.