< návrat zpět

MS Excel


Téma: VBA výpočet hodnoty místo vzorce po sloupci řádk rss

Zaslal/a 15.6.2018 11:43

Dobrý den, snažím se smrsknout soubor za použití VBA, kdy mi místo vzorce do polí budou dány pouze hodnoty s tím že kliknu na tlačítko přepočítat prázdné pole a nebo tlačítko přepočítat vše.

V řádku A:A je vzorec
Pro A1
=COUNTIFS(wins!R:R;$C$1;wins!R:R;$B$1)
Pro A2
=COUNTIFS(wins!S:S;$C$1;wins!S:S;$B$1)
Atd... sloupce se posouvají. :)
délka pro výčet je poslední vyplněný sloupec v řádku 2:2

V podstatě využívám i vzorce, Index(pozvyhledat;Pozvyhledat). Prosím o excelovský file, abych se přiučil funkčnosti a pochopil logiku. Děkuji moc 1

Zaslat odpověď >

#040698
avatar
Budu hnusný, ale vy se učit nechcete..

V řádku A:A je vzorec

V podstatě tři chyby v pár prvních slovech? Nemáte chuť si ani po sobě přečíst zadání. Ale jo, někdo se tu najde.citovat
icon #040702
eLCHa
Prosím o excelovský file, abych se přiučil funkčnosti a pochopil logiku.

Tohle vážně nemá chybu. Já doufám, že jste napsal něco jiného, než jste myslel. Protože jestli ne, tak si tento web pletete s něčím jiným. Toto není školící server a neuvěříte, za školení se platí.citovat
#040703
avatar
Špatně jsem to napsal...

Ve sloupci A:A je vzorec
Pro buňku A1
=COUNTIFS(wins!R:R;$C$1;wins!R:R;$B$1)
Pro buňku B1
=COUNTIFS(wins!S:S;$C$1;wins!S:S;$B$1)
Atd... :)

poslední vzorec se zapisuje podle řádku 2:2 podle poslední hodnoty "což určuje sloupec" kam až se budou hodnoty počítat.

Už jsem na řešeni přišel, bylo jednodušší, než jsem původně myslel, děkuji za nabuzení k dalšímu snažení, příště si to po sobě přečtu. :)citovat
#040714
elninoslov
Máte tam už vzorce, a chcete ich nahradiť hodnotami ?
Označte oblasť, Ctrl+C, pklik, Možnosti prilepenia - Hodnoty. Na to nieje treba makro.

Nemáte tam vzorce, a chcete ich vložiť do stĺpca A:A toľko, koľko je v riadku 2:2 hodnôt, a následne previesť na hodnoty ? Na to sa dá makro urobiť, ale vložte prílohu ako to vyzerá, nech vieme ako sú dáta umiestnené, odsadené, typ dát, či je pod tabuľkou niečo iné na čo treba brať ohľad pri zisťovaní počtu riadkov, či sú tam medzery a pod ...citovat
#040715
avatar
@elninoslov
Myslím, že si nepochopil zadanie. Prílohu nebude dávať zadávateľ, ale ju máme dodať my. 2citovat
#040716
elninoslov
Jáj :)

Ale okrem zámeny "řádku A:A" s "sloupcem A:A" mi tam do očí bije ešte to, že treba vkladať vzorce do A1, A2, A3, ... na základe riadku 2:2. Čo ale koliduje s vkladaním do A2, keďže je to 1. bunka 2. riadku, ktorý je referenčný pre počet vzorcov.

Alebo podľa druhého príspevku je vraj v sloupci A:A v bunke A1 vzorec X, v bunke B1 vzorec Y, ... Lenže problém je, že bunka B1 nieje v sloupci A:A.

No a do tretice mi neštimuje v B1 vzorec =COUNTIFS(wins!S:S;$C$1;wins!S:S;$B$1), ktorý odkazuje ako kritérium sám na seba, teda B1. A rovnaké to bude v bunke C1 keď bude zase prvé kritérium C1.

Teda ja predpokladám, že keď si dopletiete tie jablkohrušky, tak nám ukážete niečo v tom zmysle, že máte v riadku 2:2 (A2:Axxx) hodnoty, ktoré určujú počet vzorcov v riadku 1:1 (A1:Axxx). A tie vzorce do 1:1 (A1:Axxx) chcete vložiť, pričom ako kritérium bude odpovedajúca hodnota napr. z 2:2 (A2:Axxx). A pod. Proste niečo, čo nebude kolidovať navzájom. :)

Takže Dejwing, šup sem prílohu...citovat
#040717
avatar

marjankaj napsal/a:

@elninoslov
Myslím, že si nepochopil zadanie. Prílohu nebude dávať zadávateľ, ale ju máme dodať my.


Nová doba, řešitelé musí dodat řešení pro cokoliv do 30 minut bez ohledu na to, jestli existuje zadání, jestli se jim chce nebo je víkend :-D Tazatel má právo dožadovat se lahve značkového alkoholu, v případě, že by řešení nepochopil. A běda, jestli se o tazateli vyjádří nelichotivě, naruší tak jeho psychiku nebo je "emo auru". Prosím moderátory, aby upravili pravidla :-)citovat
#040732
avatar
Člověk se může vyjádřit blbě, když je unavený a fakt jsem toho ten den měl dost, zde přikládám přílohu i s řešením, lépe to nevymyslím, ale funguje mi to. :)

Snad z přílohy je již zadání jasné. 2 1
Příloha: zip40732_automatvzorce.zip (22kB, staženo 26x)
citovat
#040734
elninoslov
Načo je tam to "Ano" v A1 ?
Počítate určite hodnoty od A1 ? Nie náhodou až od B1 ?
Načo slúži v makre Dim AnoNe() ?
Ak si ujasníte absolútne a relatívne adresovanie buniek, nepotrebujete podľa mňa žiadny cyklus.
Napr.
Sub pokus()
With Range(Cells(2, 1), Cells(1, Columns.Count).End(xlToLeft).Offset(1, 0))
.Formula = "=COUNTIFS(WINS!$R:$R,A$1,WINS!$S:$S,B$1)"
.Value = .Value
End With
End Sub
citovat
#040735
avatar

elninoslov napsal/a:

Načo je tam to "Ano" v A1 ?
Počítate určite hodnoty od A1 ? Nie náhodou až od B1 ?
Načo slúži v makre Dim AnoNe() ?
Ak si ujasníte absolútne a relatívne adresovanie buniek, nepotrebujete podľa mňa žiadny cyklus.
Napr.
Sub pokus()
With Range(Cells(2, 1), Cells(1, Columns.Count).End(xlToLeft).Offset(1, 0))
.Formula = "=COUNTIFS(WINS!$R:$R,A$1,WINS!$S:$S,B$1)"
.Value = .Value
End With
End Sub


Dim AnoNe() mělo sloužit k tomu, jestli přepočítat všechno, nebo jen prázdné hodnoty, ale s tím jsem si zatím neporadil, ještě nad tím pracuji, tak jsem poslal jen tu část, která mi funguje. No upřímně jsem zatím do tématu absolútne a relatívne adresovanie buniek nezabrousil, děkuji za radu. Jinak počítám od hodnoty A1. Ještě jednou děkuji. 1citovat

Uživatelské menu

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

Menu

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