< návrat zpět

MS Excel


Téma: Přepiš buňku rss

Zaslal/a 18.8.2017 18:56

Ahoj.

Mohl by prosím někdo poradit kde mám chybu.

Mám vybranou oblast ve sloupci "X",kde se má provést to, že pokud buňka ve sloupci "M" a nebo ve sloupci "N" má formát buňky = Interior.Color = 5296274, tak do buňky ve sloupci "X" zapíše hodnotu "Vychystáno"

Sub Vychystano()
Dim rdLast As Long
rdLast = Cells(Rows.Count, 1).End(xlUp).Row
With Range(Cells(3, 24), Cells(rdLast, 24))

If Offset(0, -11).Range("A1").FormatConditions(1).Interior.Color = 5296274 Then
cell.Value = "Vychystáno"
Else
End If
End With
End Sub


Děkuji
Radek

Příloha: rar37309_test.rar (301kB, staženo 26x)
Zaslat odpověď >

#037310
elninoslov
Máte tam With, ale nemáte už bodku pred .Offset ani .Cells (navyše v .Cells chýba to "s" na konci"), netestujete celú oblasť, M nemá žiadny PF teda nemôžete checkovať žiadny FormatConditions, a navyše cez FormatConditions zistíte iba farbu, aká je nastavená v PF, nie či je zobrazená, ... atď.
Teda napr.:
Sub Vychystano()
Dim rdLast As Long, RNG As Range, Bunka As Range
With Worksheets("Dluhy")
rdLast = .Cells(Rows.Count, 1).End(xlUp).Row
For Each Bunka In .Range(.Cells(3, 24), .Cells(rdLast, 24)).Cells
      With Bunka
If .Offset(0, -11).DisplayFormat.Interior.Color = 5296274 Or .Offset(, -10).DisplayFormat.Interior.Color = 5296274 Then
If RNG Is Nothing Then Set RNG = Bunka Else Set RNG = Union(RNG, Bunka)
End If
End With
Next Bunka
End With
If Not RNG Is Nothing Then RNG.Value = "Vychystáno"
Set Bunka = Nothing: Set RNG = Nothing
End Sub
citovat
#037311
avatar
Děkuji za rychlou reakci a pomoc.
Jinak mohl bych požádat o vysvětlení níže uvedeného?

If RNG Is Nothing Then Set RNG = Bunka Else Set RNG = Union(RNG, Bunka)

A když jsem otestoval tak to havarovalo na
If .Offset(0, -11).DisplayFormat.Interior.Color = 5296274 Or .Offset(, -10).DisplayFormat.Interior.Color = 5296274 Then

Ale problém bude asi v Office, na 2016 jede v poho na Office 2007 havaruje 7

Děkujicitovat
#037313
elninoslov
RNG je oblasť do ktorej sa bude hromadne vpisovať. Túto oblasť postupne rozširujeme, ale na začiatku nemôžeme zlúčiť cez UNION nič+niečo, ale musíme nastaviť najskôr prvú bunku iba cez SET. Až následné bunky pridáme k RNG cez UNION, pretože už RNG nieje "nič" (Nothing). Nuž ako Vám to inak vysvetlím...

To s tým E2007 neviem posúdiť, mám 2016.citovat
#037319
avatar
Ok děkuji.

Asi by to šlo obejít jinak.

Pokud se hodnota buňky "N"= hodnotě buňky "M" a nebo hodnota buňky "O" = "M" tak buňka ve sloupci "X" = "Vychystáno".

Zde by snad rozdíl mezi Office 2007 a 2016 nemusel být.

Mrkne na to někdo prosím.

Děkuji
Radekcitovat
#037321
elninoslov
Ale to som Vám tuším vravel už minule (či to ste nebol Vy ???) - netestovať farbu spôsobenú PF, ale rovnakú podmienku akú má PF. Aj som Vám to chcel teraz napísať, ale keďže som nenašiel pre M žiadne PF, a chcel ste kontrolovať farbu, tak jediné, čo ma napadlo, že to farbíte ručne, a to by inak ako týmto makrom nešlo. Takže "M" nieje treba testovať na farbu.
O stĺpci "O" ste nič nevravel. Takže ako teda ?
Chcete do "X" napísať "Vychystáno" v týchto 3 prípadoch :
- v stĺpcoch N a M je rovnaká hodnota
- v stĺpcoch O a M je rovnaká hodnota
- v stĺpcoch N aj O aj M je rovnaká hodnota

Ak tam v "X" môžete mať vzorec, tak na to nepotrebujete ani makro, ak nie tak:
Sub Vychystano()
Dim R As Long, RNG As Range, i As Long, H()
With Worksheets("Dluhy")
R = .Cells(Rows.Count, 1).End(xlUp).Row - 2
If R = 0 Then Exit Sub
With .Cells(3, 24).Resize(R)
H = .Offset(0, -11).Resize(, 3).Value2
For i = 1 To R
If H(i, 1) = H(i, 2) Or H(i, 1) = H(i, 3) Then
If RNG Is Nothing Then Set RNG = .Cells(i) Else Set RNG = Union(RNG, .Cells(i))
End If
Next i
End With
End With
If Not RNG Is Nothing Then RNG.Value = "Vychystáno"
Set RNG = Nothing: Erase H
End Sub
citovat
#037323
avatar
Děkuji za úpravu, dělá to přesně to co potřebuji.

A omlouvá se za poskytnuté vstupní údaje.

Potřeboval jsem porovnávat sloupec N s M a O s M.

Děkuji moc
Radekcitovat

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