< návrat zpět

MS Excel


Téma: Nulovací tlačítko - bez změn v propojení rss

Zaslal/a 2.1.2016 15:16

Dobrý den,

prosím vás, vytvořil sem si vynulovací tlačítko, které mi vynuluje celý sloupec. Jenže potřebuji, aby se po vynulování tato změna nepromítla na listu 2 se kterým je list 1 (kde je talčítko) propojeno.

Potřebuji abych na listu 1 zadal hodnoty které se promítnou na list 2, a po vynulování na listu 2 zůstaly.

Zaslat odpověď >

Strana:  « předchozí  1 2
#028984
avatar

AL napsal/a:

Milan, ty budeš veľký vtipálek. Zdá sa iba mne, že tvoja prvá príloha je "trošičku" iná, než tá druhá?
Skús toto:Option Explicit

Sub PrijemNaSklad()
Dim shPrijem As Worksheet, shSklad As Worksheet, rngAdr As String, srcArr, tgtArr, i As Integer, j As Byte
Set shPrijem = Sheets("prijem")
Set shSklad = Sheets("sklad")
rngAdr = "E5:F999"
srcArr = shPrijem.Range(rngAdr)
tgtArr = shSklad.Range(rngAdr)
For i = LBound(srcArr, 1) To UBound(srcArr, 1)
For j = LBound(srcArr, 2) To UBound(srcArr, 2)
tgtArr(i, j) = tgtArr(i, j) + srcArr(i, j)
Next j
Next i
shSklad.Range(rngAdr) = tgtArr
End SubAko malé cvičenie pre prácu s arrays mi to stačilo, tým končím. V posledných dňoch som už pracoval s Excelom viac, než dosť
Nie som si síce istý, že som pochopil pomerne vágny popis potřebuji na listech opět prijem a sklad bunkdy E5 až E999 a F5 až F999 na obou listech :), ale ten kódik je pomerne jednoduchý a nemal by byť problém si ho doupraviť.


1 Výborná práce :) ještě malé doladění a šlape to! :) Moc děkuju a omlouvám se, zda jsem někomu způsobil nějaké přepracování nebo něco podobného :) ste hodný! :) díkcitovat
icon #028985
avatar
Ešte som si uvedomil, že po tom, čo sa data z listu prijem prenesú na list sklad, požaduješ vymazanie údajov z listu prijem. Takže na koniec (pred End Sub) treba ešte zapísať

shPrijem.Range(rngAdr).ClearContents:

Option Explicit

Sub PrijemNaSklad()
Dim shPrijem As Worksheet, shSklad As Worksheet, rngAdr As String, srcArr, tgtArr, i As Integer, j As Byte
Set shPrijem = Sheets("prijem")
Set shSklad = Sheets("sklad")
rngAdr = "E5:F999"
srcArr = shPrijem.Range(rngAdr)
tgtArr = shSklad.Range(rngAdr)
For i = LBound(srcArr, 1) To UBound(srcArr, 1)
For j = LBound(srcArr, 2) To UBound(srcArr, 2)
tgtArr(i, j) = tgtArr(i, j) + srcArr(i, j)
Next j
Next i
shSklad.Range(rngAdr) = tgtArr
shPrijem.Range(rngAdr).ClearContents
End Sub
A samozrejme, aby to fungovalo korektne, je treba mať ošetrené to, aby riadky na listoch spolu lícovali, to tak síce v prílohe máš, ale radšej na to upozorňujem, že makro pracuje s týmto predpokladom a nekontroluje prípadný posun, či prehádzanie riadkov.citovat

Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse