[ darkos1 @ 14.04.2019. 20:39 ] @
Kako da napišem makro koji će da sakrije kolonu C ako je u ćeliji F1 vrijednost manja od 10, a ako je vrijednost 11 da sakrijem kolonu D, a ako je vrijednost veća od 12 da sakrijem kolonu E.
I drugo pitanje da li se može formatirati neka ćelija u kojoj će uvek biti velika slova bez obzira kako napisana (u pitanju je ime i prezime da budu ispisana velikim slovima u ćeliji u kojoj se piše)
[ bokinet @ 14.04.2019. 23:00 ] @
Pod skariti se podrazumeva da bude sakrivena vizuelno ali da bude tu (onda se podesava sirina) ili da bude trajno obrisana (onda se radi delete kolone)?

Cela kolona - kod bi bio nesto poput ovoga gde u primeru se sakrivaju sve kolone od A do C:
Code:

Columns("A:C").EntireColumn.Hidden = True


odnosno samo jedna, kod bi bio
Code:

Columns("C").EntireColumn.Hidden = True


Za to sto ste trazili gore i ako je ovo prvo onda da bi ste dobili to sto hocete dodajte IF uslove i reseno.
[ darkos1 @ 15.04.2019. 08:09 ] @
Hvala na odgovoru, do ovoga sam i ja dosao snimajući makro, ali nisam znao kako da zavisno od navedenih uslova skriva različite kolone.
[ jaskojsako @ 15.04.2019. 08:19 ] @
Pozdrav
pokušaj sa ovim kodom

Private Sub CommandButton1_Click()
If Range("F1").Value < 10 Then
Columns("C").EntireColumn.Hidden = True
Else
Columns("C").EntireColumn.Hidden = False
End If
If Range("F1").Value = 11 Then
Columns("D").EntireColumn.Hidden = True
Else
Columns("D").EntireColumn.Hidden = False
End If
If Range("F1").Value > 12 Then
Columns("E").EntireColumn.Hidden = True
Else
Columns("D").EntireColumn.Hidden = False
End If
End Sub
[ Jpeca @ 15.04.2019. 08:55 ] @
jaskojsako ti je već dao odgovor. Umesto višestrukih if možeš da koristiš select case ... - nije bitna razlika
Što se tiče pretvaranja u velika slova
a/ Možeš da instaliraš neki font koji ima samo velika slova (ALL CAPS) i onda sa tim fontom da formatiraš kolonu
b/ Da koristiš makro koji će na promenu sadržaja ćelije da pretvori sadržaj u velika slova. Npr za kolonu A (od drugog do 2000 reda)

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A2:A2000")) Is Nothing Then
    If Target.Cells.Count = 1 Then
        Application.EnableEvents = False
        Target.Value = UCase(Target.Value)
        Application.EnableEvents = True
    End If
End If
End Sub



U primeru sam ti i skrivanje kolona dodao na promenu ćelije F1
[ darkos1 @ 19.04.2019. 09:30 ] @
Hvala na odgovoru nisam stigao ranije da se javim.
Vezano za drugi dio problema kako da dodam još jednu kolonu za velika slova a nije susujedna.
Kako da dodam taj range ili da se izmijeni dio koda (npr treba mi još i kolona C2:C2000)
[ Jpeca @ 19.04.2019. 11:49 ] @
Nesusedni opseg možeš da jednostavno dodaš u Range nakon zareza, npr.
...Intersect(Target, Range("A2:A2000,C2:C2000"))
[ darkos1 @ 19.04.2019. 15:09 ] @
Hvala