Heip,
Jos teen makron, joka pikasuodatuksessa kysyy lukuarvorajat (samassa sarakkeessa, suurempi kuin ja pienempi kuin) InputBox -funktion avulla, niin miten määrittelen muuttujat Criteria1 ja Criteria2 suodatukseen? Esimerkki:
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=">=13", Operator:=xlAnd, _
Criteria2:="
Jos teen makron, joka pikasuodatuksessa kysyy lukuarvorajat (samassa sarakkeessa, suurempi kuin ja pienempi kuin) InputBox -funktion avulla, niin miten määrittelen muuttujat Criteria1 ja Criteria2 suodatukseen? Esimerkki:
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=">=13", Operator:=xlAnd, _
Criteria2:="
Vastaukset 5
Vanhimmat
Tämä suodatetaan D-sarakkeen tiedot
Sub Suodata()
Alkuarvo = InputBox("Anna alkuarvo")
Loppuarvo = InputBox("Anna loppuarvo")
Range("A1").AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=">=" & Alkuarvo, Operator:=xlAnd, _
Criteria2:="
Moi,
Kiitokset... Tosiaankin, enpä hoksannut laianusmerkkejä siirrellessäni tehdä sitä noin...Kiitos..
No lisää pulmia on tullut...
Kun taulukkoaluetta käydään läpi, ja joku solu ei täytä tiettyä kriteeriä (esim. lukuarvo liian pieni) , niin miten saan värjättyä kyseisen solun sisältävän rivin vaikka punaiseksi?
Ongelma:
Iso taulukkoalue, jossa yhdessä sarakkeessa rivillä 2 on laskentakaava. Ko. kaavaa pitäisi makron avulla kopioida samaan sarakkeeseen niin monelle riville kuin taulukkoalue on , eli ilmeiseti CurrentRegionilla voisi pelata, mutta miten?
vrivi = Cells(Cells.Rows.Count, "A").End(xlUp).row
Range("H2:H" & vrivi).FormulaR1C1 = "=kaava tähän]"
Esimerkissä väritetään rivit, jotka eivät toteuta annettua alku- ja loppuarvon lukuja. Oletuksena on, että tietoalue on riviltä 1 alkaen sarakkeissa A-D ja ensimmäisellä rivillä on otsikko. Makro tutkii arvoja D-sarakkeesta.
Sub Väritärivit()
Dim Alkuarvo As Integer
Dim Loppuarvo As Integer
Application.ScreenUpdating = False
vr = Cells(Cells.Rows.Count, "D").End(xlUp).Row
Alkuarvo = InputBox("Anna alkuarvo")
Loppuarvo = InputBox("Anna loppuarvo")
For n = 2 To vr
If Range("D" & n).Value < Alkuarvo Or Range("D" & n).Value > Loppuarvo Then
'Tämä värittää koko rivin
'Range("A" & n).EntireRow.Interior.ColorIndex = 46
'Tämä värittää vain sarakkeet A-D
Range("A" & n & ":D" & n).Interior.ColorIndex = 46
End If
Next
End Sub