Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  102 103 104 105 106 107 108 109 110   další » ... 302

Tu je príklad. Vzhľadom na pokročilú hodinu viac nerobím ...

??? Predstavoval som si nejaký lepší popis toho čo potrebujete vyriešiť. Napríklad cieľ potrebujete vždy pri zápise posúvať pod seba, alebo že zdroj aj cieľ sú variabilné na nejakej závislosti a samé si to má určiť veľkosť cieľa podľa zdroja, a pod. Navyše aj príloha je nejednoznačná. Do TO!C8:E10 chcete skopírovať FROM!A1:C3 ? Ale dáta sú vo FROM!C8:E10, nie v A1:C3. A v TO nieje nič.

Merlin99 napsal/a:

... posunout cilovou lokaci...
to bude ten "problém". Podľa mňa v pohode s prílohou či lepším popisom riešiteľné.

Použite Offset
Workbooks("POKUS.xlsm").Worksheets(8).Range("E13:G15").Offset([Koľko riadkov od 13-teho]).Value = Workbooks("POKUS.xlsm").Worksheets(7).Range("A13:C15").Value

prípadne Cells(riadok, stĺpec).Resize(riadkov, stĺpcov)
bodla by príloha

@Jiří497: preklep - bodka 1
@Fantasyk: A čo ak nenájde?
Sub pokus()
Dim Compld As Range
Set Compld = Range("C:N").Find(What:=Range("A1").Value, LookIn:=xlValues, lookat:=xlWhole)
If Compld Is Nothing Then
Range("B1").ClearContents
MsgBox "Nenalezeno !", vbExclamation
Exit Sub
End If
Range("B1").Value = Cells(Compld.Row, 3).Value
'...
End Sub

W10 x64 Pro SK, Office 2019 Pro x64 SK - makro funguje.
Ako bolo napísané, to nieje funkcia s návratovou hodnotou - teda má to byť procedúra sub.
Je v liste alebo v module?
Volá sa z listu alebo z mobulu?
Alebo je v PERSONAL.XLSB?
Čo má vstupovať ako parameter, string alebo Range?
Určite by som vynechal Select...
Príloha by bodla.
Sub doubleLine(aktRange As Range)
With aktRange
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
End With
With .Borders(xlEdgeTop)
.LineStyle = xlDouble
.Weight = xlThick
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
End With
With .Borders(xlEdgeRight)
.LineStyle = xlDouble
.Weight = xlThick
End With
End With
End Sub

Sub pokus()
doubleLine Worksheets("Hárok1").Range("B3:D10")
End Sub

Som iba na mobile, tak si prílohu nepozriem, každopádne ak chcete vypisovať alebo inak pracovať s položkami, nemôžete použiť
MsgBox strNames()
ale
MsgBox Item
Alebo
For i = LBound(strNames) To UBound(strNames)
MsgBox strNames(i)
Next i

Parameter procedúry Open ?
ReadOnly:=True

Čistý nezmysel. To chcete upravovať aj riadky v liste, aj zároveň riadky v kóde, a to tak, že sa vždy spoľahnete na to, že sa nepomýlite? A to nevravím o logike veci, keďže výrobky iba vyrábate na sklad, no nevyskladňujete. Tie "vzorce", ktoré niesú vzorcami ... to vážne keď máte na sklade 100 pomarančov a vyrobíte ďalšie 2 pomaranče, tak na sklade ich bude zrazu 200 ?

Ak chcete urobiť normálny odpis skladu, tak uvádzajte príjem, výdaj (započítajte poškodenie) a stav sa bude dať predsa dopočítať univerzálnym riadkom/riadkami kódu, bez ohľadu na pozíciu. Ak nie, musíte uviesť skutočné výpočty, čo s čím a prečo počítate. Ak máte 4 druhy absolútne iných výpočtov (čo nesedí s načrtnutou prílohou), tak si zaveďte tabuľku, kde bude uvedené aký druh výpočtu platí pre aký výrobok, a podľa tejto tabuľky sa určí spôsob výsledku.

Tak či tak, ja osobne nerozumiem o čo iné by tu mohlo ísť.

To nie sú vzorce, ale riadky kódu.
Jedine ma napadá len tak z hlavy niečo v zmysle:
R = 3
Cells(R, "B").Value = Cells(R, "B").Value - Cells(R, "D").Value: R = R + 1
Cells(R, "B").Value = Cells(R, "B").Value + Cells(R, "D").Value: R = R + 1
Cells(R, "B").Value = Cells(R, "B").Value * Cells(R, "D").Value: R = R + 1
Cells(R, "B").Value = (Cells(R, "B").Value + Cells(R, "C").Value) * (Cells(R, "D").Value): R = R + 1

aj keď najlepšie by bolo, pridať prílohu a vysvetliť to tam, či sa to nedá urobiť aj inak, lebo z tohto nevieme presne čo potrebujete robiť.

Všetky zošity majú 1 list, a ten s rovnakým názvom? Umiestnenie dát je rovnaké a začína na A1? Počet stĺpcov je rovnaký alebo rôzny? Riadky sa zisťujú podľa A:A?
Síce sa mi to fakt nechce robiť, ale keď to upresníte, možno ...
EDIT: Ešte sa dá použiť aj ADO aj dolovanie vzorcami.

VLOOOKUP / SVYHLEDAT

Dobré je vložiť požadovaný počet riadkov medzi posledný a predposledný, skopíruje sa tak formát buniek, podmienený formát sa nefragmentuje, a potom už iba natiahnete vzorce, prípadne orámovanie.

Pozor na to, maticový súčin (teda "AND", v CZ "A") sa zadáva pomocou * (hviezdička) a maticový súčet (teda "OR", v CZ "NEBO") sa zadáva pomocou + (plus) a testu na väčšiu hodnotu od 0.

Ja som to spichol takto, s pomocným stĺpcom.
Ak nemáte Office 2019 tak treba MAXIFS a MINIFS nahradiť maticovým vzorcom rovnakej funkcionality. To dajte prípadne vedieť.


Strana:  1 ... « předchozí  102 103 104 105 106 107 108 109 110   další » ... 302

Uživatelské menu

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

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje