Diskuze: Ciklus VBA pomoc
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Potřebuješ makra? Nešlo by to přes nějaké šikovné podmíněné formátování?
Potřebuji makra, protože hodnoty se ve sloupci A neustále mění a jejich
počet narůstá a klesá.
Navíc je to jedna z pod procedur z celého makra.
...bez prílohy je to na prd. Skúste makro nižšie poprípade si ho upravte
alebo dajte vedieť.
Upravte si názvy listov v makre.
Nechápem:
lastrowA = Cells(Rows.Count, 1).End(xlUp).Row
....
For Each cell In Range("C2:C" & lastrowA)
Sub StrategickeDily()
Dim rngUrgence As Range, rngBunka As Range
Dim rngStrategickeDily As Range
With Sheets("Strategicke dily")
Set rngStrategickeDily = .Range(.Cells(1, "A"), .Cells(.Cells(Rows.Count, "A").End(xlUp).Row, "A"))
End With
With Sheets("Urgence")
Set rngUrgence = .Range(.Cells(1, "C"), .Cells(.Cells(Rows.Count, "C").End(xlUp).Row, "C"))
For Each rngBunka In rngUrgence
If WorksheetFunction.CountIf(rngStrategickeDily, rngBunka.Text) > 0 Then
rngBunka.Interior.Color = RGB(0, 255, 0)
End If
Next
End With
End Sub
Dobře. Jenom bych chtěl podotknout, že podmíněné formátování funguje
i když se hodnoty mění a navíc jde nastavit na celý sloupeček naráz,
musíš tuším kliknout na písmenko toho sloupečku, to samé u funkcí:
můžeš vybrat celý sloupeček tím, že klikneš na písmeno sloupce
Ale jestli to už máš rozdělané
v makrech, asi to už bude rozumnější v tom nechat.
Petr Stastny má pravdu. Podmienene formátovanie by na zvýrazňovanie bolo
ideálne, lepšie než použivať makro. Menný počet hodnôt ničomu
nevadí.
Len to skúste, nič za to nedáte. Označte cely stĺpec "C" na liste
"urgence". Pridajte podmienene formátovanie podľa vzorca a ako vzorec použite
-> =COUNTIF('Strategicke dily'!$A:$A;$C1)>0
Len upravte názov listu.
Tarantula222 -no tak to smekám. Pracuje úplně skvěle a když to takto vidím, tak mi to dává i smysl.
Jelikož jsem zde nový, nevím ještě kam přílohy nahrát, proto jsem ji neposkytl.
Chtěl bych požádat ještě o jeden cyklus a to:
pokud se číslo zakázky z listu "Urgence" nachází ve sloupci "B" na listu "Strategické díly", do sloupce "M" na listě "Urgence" datum které se nachází vedle vyhledané hodnoty na listě "Strategické díly".
Momentálně to dělám pro každou buňku zvlášť pomocí
Sub Makro68()
Dim lastrowA As Long
lastrowA = Cells(Rows.Count, 1).End(xlUp).Row
HledanaHodnota = Sheets("Strategické díly").Range("B3:B3").Value
For i = 1 To lastrowA
rozsah = "A" & i
With Range(rozsah)
Set FoundCell = .Cells.Find(What:=HledanaHodnota, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
searchorder:=xlByRows, _
searchdirection:=xlNext, _
MatchCase:=False)
End With
If FoundCell Is Nothing Then
Else
FoundCell.Offset(0, 12).Range("A1").Value = Sheets("Strategické díly").Range("C3:C3")
End If
Next i
End Sub
Děkuji Radek
...prílohu napríklad cez leteckú poštu.
Druhe makro je:
Sub Makro68()
Dim rngOblastZakazkaU As Range, rngZakazkaU As Range
Dim rngOblastZakazkaS As Range, rngZakazkaS As Range
Dim Zakazka As String
With Sheets("Urgence")
Set rngOblastZakazkaU = .Range(.Cells(2, "A"), .Cells(.Cells(Rows.Count, "A").End(xlUp).Row, "A"))
End With
With Sheets("Strategické díly")
Set rngOblastZakazkaS = .Range(.Cells(3, "B"), .Cells(.Cells(Rows.Count, "B").End(xlUp).Row, "B"))
End With
For Each rngZakazkaU In rngOblastZakazkaU
Zakazka = rngZakazkaU.Text
For Each rngZakazkaS In rngOblastZakazkaS
If Zakazka = rngZakazkaS.Text Then
Sheets("Urgence").Cells(rngZakazkaU.Row, "M").Value = Sheets("Strategické díly").Cells(rngZakazkaS.Row, "C").Value
Exit For
End If
Next rngZakazkaS
Next rngZakazkaU
End Sub
Děkuji i toto rovněž pracuje skvěle.
Výsledek své práce najdeš na http://leteckaposta.cz/839170982.
To jen aby jsi viděl k čemu jsem to potřeboval.
Moc děkuji
Radek
Zobrazeno 9 zpráv z 9.