možno by si mal priložiť súbor ako by to malo vyzerať. Kedy by to malo vyhodiť chybu a kedy nie. Nemusíš 5000 riadkov, stačilo by 50.
Akosi mi chýba logika v zadaní.
Klikni pravýmm tlačítkom na list, ktorý chceš kopírovať, vyber "premiestniť alebo kopírovať",zaškrtni "vytvoriť kópiu" a zaraď kam potrebuješ. Potom list premenuj.
Tak to urob 20 krát.
Prípadne si nahraj na to makro.
Skús takýto kód. Treba si iba zoradiť tie obrázky.
Sub presun()
For j = 1 To 4
If Cells(2 + j, 1) = 0 Then Exit For
ActiveSheet.Shapes.Range(Array(Cells(2 + j, 1))).Select
Selection.Copy
Cells(2 + j, 2).Select
ActiveSheet.Paste
Next j
End Sub
Alebo takto
=VYHLEDAT(A1;{0;20;25,001;30,001};{"podváha";"normální";"mírná nadváha";"nadváha"})
lookup=vyhledat?
Tak to sa budeš diviť, že si na to sám neprišiel.
A prečo napríklad 100 musí byť ako 60+40 a nie 60+20+20?
No najlepšie zmena bunky v stlpci "A"
Presne tak ako ťa napadlo.
Alebo v kóde
c_Faktury = Worksheets("Nabídka").Cells(3, 1).Value & Worksheets("Nabídka").Range("A1").value
prípadne
c_Faktury = Worksheets("Nabídka").Cells(3, 1).Value & Worksheets("Nabídka").cells(1,1).value
Nebude to TRUNC?
Private Sub CommandButton1_Click()
Sheets("list1").Cells.Copy Sheets("list2").Cells
End Sub
Áno toto funguje.
tak mě napadá jedna možnost a to v Excelu v možnostech přepnout výpočty na "ruční" a teprve pak soubor otevřít - teoreticky by to mohlo zafungovat, prakticky nevím :-).
No tam to musíš prepísať.
Teda =dnes() na daný dátum.
Teda ak si to medzitým neuložila ešte raz. Inak sa k tomu dátumu asi nedostaneš.
To Pavolc
Ja som to tiež skúšal pri naťahovaní kurzov z NIKE. A tiež sa mi to zdalo najjednoduchšie. Len to prepínanie treba robiť manuálne.Makro sa mi nepodarilo.
No zrejme tam bude dátum kedy bol súbor uložený.
To by išlo možno v assembleri, ale do pola môžeš ukladať iba hodnoty(čísla alebo reťazce).
príkaz pole=array(x,y,z)
uloží do poľa aktuálne hodnoty premenných x,y,z.
Ak sa zmení x to neznamená že sa automaticky zmení aj hodnota v pole(0).
Tá sa zmení až po príkaze ARRAY. Inverzná funkcia k ARRAY nie je. to by si musel priraďovať manuálne. Teda v podprograme tých 120 priradení k tvojim premenným OK1...OK120.
Názov premennej je vlastne informácia pre prekladač a ten priradí tej premennej určité miesto v pamäti a stou bunkou sa potom pracuje.
Príkaz pole=array(x,y,z)
urobí to isté ako
pole(0)=x
pole(1)=y
pole(2)=z
a urobí to iba raz
ak sa neskôr zmenia hodnoty x,y,z, tak hodnoty v poli zostanú pôvodné, ako boli priradené príkazom array.
' mam vypocet ktory mi naplni premenne OK1 = 12, OK2 = 15, OK3 = 45 ...................... (v dalsom cykle sa zmenia)
pole = Array(OK1, OK2, OK3, OK4, OK5, OK6, OK7, OK8, OK9, OK10, OK11, OK12, OK13, OK14, OK15, OK16, OK17, OK18, OK19, OK20, OK21, OK22, OK23, OK24, OK25, OK26, OK27, OK28, OK29, OK30, OK31, OK32, OK33, OK34, OK35, OK36, OK37, OK38, OK39, OK40, OK41, OK42, OK43, OK44, OK45, OK46, OK47, OK48, OK49, OK50, OK51, OK52, OK53, OK54, OK55, OK56, OK57, OK58, OK59, OK60, OK61, OK62, OK63, OK64, OK65, OK66, OK67, OK68, OK69, OK70, OK71, OK72, OK73, OK74, OK75, OK76, OK77, OK78, OK79, OK80, OK81, OK82, OK83, OK84, OK85, OK86, OK87, OK88, OK89, OK90, OK91, OK92, OK93, OK94, OK95, OK96, OK97, OK98, OK99, OK100, OK101, OK102, OK103, OK104, OK105, OK106, OK107, OK108, OK109, OK110, OK111, OK112, OK113, OK114, OK115, OK116, OK117, OK118, OK119, OK120)
' tu potrebujem vypisat hodnoty premenných do buniek (nie premenne ale ich skutocne hodnoty)
Myslím, že najjednoduchšie by bolo upraviť ten tvoj výpočet a naplniť OK(i) namiesto OKi.
Teda OK(1), OK(2),OK(3).....OK(100) namiesto OK1,OK2,OK3,....OK100
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.