To ji026441: Přesně takhle sem to myslel dík, ale narazil jsem na stejný problém jako předtím u sebe. Dej si do jakéhokoliv pondělí do nějakého produktu číslo 55555 a poté už to to makro neskousne a vyhodí chybu.
Nakonec sem to teda trochu předělal a funguje to dobře i na větší počet dat, jen by mě stále zajímalo, kde je rozdíl, že to moje funguje.
Sub pokus()
Dim Polozka As String
Dim PoPocet, PoSoucet, PoslSloupec, PoslRadek As Integer
Dim ws1, sw2 As Worksheet
Set ws1 = Worksheets("List1")
Set ws2 = Worksheets("List2")
'----------pondělí-----------------
PoPocet = 0
PoSoucet = 0
With ws1
PoslSloupec = .Cells(3, .Columns.Count).End(xlToLeft).Column
PoslRadek = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
For i = 3 To PoslRadek 'počet produktů (řádků)
Polozka = ws1.Cells(i, 1).Value 'název produktu
For j = 2 To PoslSloupec ' počet sloupců
If ws1.Cells(1, j) = "po" Then
PoPocet = PoPocet + 1
PoSoucet = PoSoucet + ws1.Cells(i, j).Value
End If
Next j
For a = 3 To PoslRadek 'počet produktů
If ws2.Cells(a, 1) = Polozka Then
ws2.Cells(a, 2) = PoSoucet / PoPocet
End If
Next a
PoPocet = 0
PoSoucet = 0
Next i
End Sub
To Opičák:
Také děkuji za pomoc. Sice sem zatim neměl moc času se podívat jak si to konkrétně dělal ty, rád se ale pak přiučím něco nového :-)
Hmm ok asi máš pravdu, tak až budu doma tak přiložím (jak sem psal, z práce nemám práva:-(
Ahoj potřeboval bych od Vás zase jednou pomocnou ruku.
Bohužel stále nemohu z práce přikládat přílohu.
Naštěstí je tabulka a zadání velice jednoduché, v případně zájmu soubor mohu poslat mailem.
_____________________
Popis tabulky:
List1:
ve sloupci A mám produkty (A3:Axx)
řádek1: dny v týdnu => B1 - Po, C1 - Út ... H1 - Ne (vím, že 1.1. není pondělí, ale to je jen pro představu :-)
řádek2: datum (1.1. - 31.12.)
tabulka uvnitř se každý den plní údaji produkce (na konkrétních číslech nezáleží)
List2:
sloupec A stejné produkty jako v listu 1
záhlaví pondělí - neděle
______________________
Výsledek?
Naplnit tabulku na Listu2.
Naplnit ji u každého produktu k příslušnému dni v týdnu průměrem všech hodnot daných dnů v týdnu (Průměr všech pondělí, úterý...)
(tzn.: Produkt 1 má průměr XY za všechna pondělí - zapsat do výsledné tabulky.
Produkt 1 má průměr YZ za všechna úterý - zapsat do výsledné tabulky...
...
Produkt X má průměr QQ za všechny neděle - zapsat do výsledné tabulky.
Funkční makro jsem si na to vytvořil, bohužel když je v tabulce hodně dat (hodně dnů na porovnávání), tak mi nedoběhne do konce a vyhodí chybu.
S menším množstvím dat funguje dobře.
To, že je napsaný určitě velice barbarsky nepopírám a sem si jistej, že existuje lepší (a plně funkční) řešení. :-)
Kdybyste měli někdo chvilku tak bych Vám byl velice zavázán.
Díky
Skoky
Geniální! Mockrát děkuji. Zase jsem o něco chytřejší :-)
Ahoj pánové, potřeboval bych poradit prosím.
Bohužel kvůli novým bezpečnostním opatřením ve firmě nemohu přiložit přílohu.
Vzorový soubor rád pošlu někomu emailem, je-li třeba! Jedná se ale o velice jednoduchou tabulku:
země kategorie třída hmotnost
ALBANIE A C 10
ALBANIE A C 16
ALBANIE A C 4,5
ALBANIE A C 123,8
ALBANIE A E 10
ALBANIE A E 12
ALBANIE A U 3,3
ARGENTINA A C 12,3
ARGENTINA A C 45,6
ARGENTINA A C 78,9
ARGENTINA A E 66,6
atd
To je krátký vzorek, který je ale v podstatě stejný pro celý soubor.
V kategorii se vyskytuje pouze možnost A, B
v třídě: C, E, U
Pointa:
Jde mi to to, že potřebuji u dané země nasčítat váhy do jednoho řádku v jedné kategorii a jedné třídě
(tzn: sečíst všechny váhy do jednoho řádku u Albánie;A;C;(celková váha)
Albánie;A;E;(celková váha)
...
né u všech zemí jsou všechny kategorie a třídy :-)
Bohužel je toho asi 9000 řádků, takže se mi do toho ručně moc nechce.
Děkuji za každou radu, jak se s tím vypořádat!
Skoky
Ahoj, nevíte někdo, zda je možné v otevřeném souboru zakázat klasické uložení (tzn. Uložit jako..., Ctrl + S atd.) Potřeboval bych aby bylo možné soubor uložit pouze přes makro. Šlo by to nějak?
Díky
Skoky
Mockrát děkuji Milane!!
Já to nakonec nějak zvládnul, ale když koukám na tvůj postup, tak sem to dělal pekelně složitě:-)
Je možno zamknout.
Ahoj potřeboval bych zase trochu poradit. Nejlépe to asi vysvětlí přiložený soubor s jednoduchým příkladem. krok 1) a 2) je v pohodě, ale nevím jak s tou trojkou. Kdyby někdo měl čas a chuť na to mrknout, tak Vám budu vděčný.
Dík moc
Skoky
1)Přidání aktuálního času k jedné ze tří událostí (A, B, C) v aktuální den u daného jména
2)Jestliže jméno tento den ještě nemá žádnou událost, vytvoří se mu nový řádek s časovým údajem hotové události
3)Jestliže již jméno v daný den má nějakou událost a chci přidat událost jinou, tak aby se zapsala do původního řádku(v aktuální den) na své správné místo
4)Jestliže již jméno v daný den má událost a já ji chci přidat podruhé vyhodit msgbox s upozorněnim
Ahoj, potřeboval bych prosím poradit s tímto:
jak napsat podmínku pro větší oblast buněk nikoliv pro každou buňku zvlášť viz:
if Range("A1").value = "pes" or range("A2").value = "pes"........range("AX")... then ...
Jak by to šlo napsat s celkovým výběrem Range("A1:AX").
Děkuji
jde o to, že není pevně dané jaké dva řádky budou plné a jaké nikoliv. Takže by to mělo najít dva plné a pak jim dát stejnou hodnotu podle toho nižšího. (tu stejnou hodnotu už bych asi pteoreticky i zvládnul sám, je o to, že nevím jak najít ty dva plné)
Název topicu jsem možná nezvolil uplně nejlépe, ale nic jiného mě nenapadlo :-)
Ahoj poradíte mi prosím jak na to.
Popis je v přiloženém souboru s ukázkou.
Děkuji
to Jeem:
Děkuji to je přesně ono.
Dík moc!
ok asi se neumim pořádně vyjádřit :-(
Jde mi o to, aby se mi z jakéhokoliv sloupce v aktuálním řádku po spuštění makra dostal kurzor do předem vybraného sloupce (stále stejný řádek), takže to nebude posun o vždy stejný počet sloupců a nemůžu teda použít pevně nastavenej ActiveCell.Offset(0, X).Select
Opičák: jj bylo by to pomocí cb
Př: vyberu si buňku C2 a po spuštění makra potřebuji aby se vybrala buňka třeba D2 (zachování řádku, ale posun sloupce třeba o +1)
Ahoj, potřeboval bych prosím poradit.
Mám-li kurzor v jakékoliv buňce, jak by bylo makro pro přesunutí kurzoru v aktuálním řádku na předem definovaný sloupec?
+ bonusová otázka :-)
Jak zjistím souřadnice aktuálně vybrané buňky?
Mockrát děkuji za odpověď
Skoky
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.