< návrat zpět

MS Excel


Téma: VBA pomoc se zacyklovaním rss

Zaslal/a 15.6.2018 12:22

Ahoj.
Chtěl bych požádat o pomoc se zacyklováním níže uvedeného.

Potřeboval bych dosáhnout toho, aby pokud v listu "Urgence" v sloupci "C" najdeš hodnotu z listu "Strategické díly" ze sloupce "A" , tak buňku v listě "Urgence" podbarvit zeleně.

Dim lastrowA As Long
lastrowA = Cells(Rows.Count, 1).End(xlUp).Row
t = 1
For Each cell In Range("C2:C" & lastrowA)
If cell(t).Value = Sheets("Strategické díly").Range("A3:A3").Value Then
cell(t).Interior.Color = RGB(0, 255, 0)
Else
t = t + 1
End If
Next

Jinak řečeno, nevím jak nahradit tento omezený výběr
Range("A3:A3").value

Děkuji
Radek

Příloha: zip40697_test.zip (75kB, staženo 27x)
Zaslat odpověď >

#040699
avatar
Další, co se chce něco naučit, že... Pomoc, pomoc, mám tu chybu, všichni ke mně! A do prdele podívat se na základní syntaxi pro Range a základy pro cykly, to ne? První pokus, který se nepovedl, posíláte sem. Na co to krokovat, na co to projet řádek po řádku alespoň jedním okem. Proměnná "t" vám jistojistě bude fungovat. A co znamená vlastně zacyklí, že...citovat
#040701
avatar
skus takto
Range(Cells(radek, sloupec), Cells(radek, sloupec).Value)

niekedy satci aj Cells(radek, sloupec).Value

za radek a sloupec samozrejme dosadis pozadovane čisla (ano aj stlpec oznacis cislom (A = 1; B = 2 ....)citovat
#040704
avatar
misocko - děkuji za reakci. Pokusil jsem se tedy přihodit viz níže, ale podbarví se jen to co mám na A3 a pak už nic.

If cell(t).Value = Sheets("Strategické díly").Cells(3, 1).Valuecitovat
#040711
elninoslov
A toto by nešlo ?
Sub NajdiOznac()
Dim PocetU As Long, PocetSD As Long, V, RNG As Range

PocetSD = Sheets("Strategické díly").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Urgence")
PocetU = .Cells(Rows.Count, 3).End(xlUp).Row

If PocetU = 1 Or PocetSD = 2 Then MsgBox "Není co řešit :)": Exit Sub
V = Evaluate("=IF(COUNTIF('Strategické díly'!A3:A" & PocetSD & ",Urgence!C2:C" & PocetU & ")>0,True)")

For PocetU = 1 To PocetU - 1
If V(PocetU, 1) Then
If RNG Is Nothing Then Set RNG = .Cells(PocetU + 1, 3) Else Set RNG = Union(RNG, .Cells(PocetU + 1, 3))
End If
Next PocetU
End With

If Not RNG Is Nothing Then RNG.Interior.Color = RGB(0, 255, 0)
End Sub
citovat
#040712
avatar
elninoslov - určitě šlo 1 , děkuji.

Jde i toto.

Sub StrategickeDily()

Dim rngUrgence As Range, rngBunka As Range
Dim rngStrategickeDily As Range

With Sheets("Strategické díly")
Set rngStrategickeDily = .Range(.Cells(3, "A"), .Cells(.Cells(Rows.Count, "A").End(xlUp).Row, "A"))
End With

With Sheets("Urgence")
Set rngUrgence = .Range(.Cells(2, "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


Každopádně děkuji všem.citovat

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