Acest tutorial va arăta cum să formatați celulele folosind VBA.
Formatarea celulelor
Există multe proprietăți care pot fi setate pentru o (gamă de) celule ca aceasta:
1234567891011 | Sub SetCellFormat ()Cu foi de lucru („Sheet1”). Range („B5: C7”).HorizontalAlignment = xlHAlignDistributed.AddIndent = Adevărat.Font.FontStyle = "Italic".NumberFormat = "General".Interior.Color = RGB (128, 100, 250)Se termina cuSfârșitul Sub |
Să le vedem în ordine alfabetică:
AddIndent
Prin setarea valorii acestei proprietăți la Adevărat, textul va fi indentat automat atunci când alinierea textului din celulă este setată, orizontal sau vertical, la distribuție egală (consultați Alinierea orizontală și Alinierea verticală).
12345 | Cu foi de lucru („Sheet1”). Range („A1”).Orientation = xlVertical.VerticalAlignment = xlVAlignDistributed.AddIndent = AdevăratSe termina cu |
Frontiere
Puteți seta formatul de chenar al unei celule. Vedeți aici pentru mai multe informații despre granițe.
De exemplu, puteți seta o linie întreruptă roșie în jurul celulei B2 de pe foaia 1 astfel:
1 | Foi de lucru ("Sheet1"). Range ("B2"). BorderAround LineStyle: = xlDash, ColorIndex: = 3 |
Font
Puteți ajusta formatul fontului celulei setând numele fontului, stilul, dimensiunea, culoarea, adăugând subliniere sau efecte (strikethrough, sub- sau supercript). Vedeți aici pentru mai multe informații despre fonturile celulare.
Aici sunt cateva exemple:
12345 | Cu Range („A1: C5”). Font.Name = "Century".FontStyle = "Bold".Strikethrough = AdevăratSe termina cu |
FormulaHidden
Această proprietate returnează sau setează o valoare variantă care indică dacă formula va fi ascunsă atunci când foaia de lucru este protejată. De exemplu:
1 | Foi de lucru („Sheet1"). Range („A1: B1"). FormulaHidden = True |
Aliniere orizontala
Această proprietate proprietate format celulă returnează sau setează o valoare variantă care reprezintă alinierea orizontală pentru obiectul specificat. Constantele returnate sau setate pot fi: xlGeneral, xlCenter, xlDistributed, xlJustify, xlLeft, xlRight, xlFill, xlCenterAcrossSelection. De exemplu:
1 | Foi de lucru („Sheet1"). Range („D3"). HorizontalAlignment = xlRight |
IndentLevel
Returnează sau setează o valoare întreagă între 0 și 15 care reprezintă nivelul de indentare pentru celulă sau interval.
1 | Foi de lucru („Sheet1”). Range („A1”). IndentLevel = 7 |
Interior
Puteți seta sau obține informații returnate despre interiorul celulei: Culoare, ColorIndex, Pattern, PatternColor, PatternColorIndex, PatternThemeColor, PatternTintAndShade, ThemeColor, TintAndShade, astfel:
123 | If Not Range ("A1"). Interior.ThemeColor = ThemeColorLight2 AtunciRange ("A1"). Interior.Pattern = xlPatternUpEnd If |
Blocat
Această proprietate returnează True dacă celula sau zona este blocată, False dacă obiectul poate fi modificat atunci când foaia este protejată sau Nul dacă intervalul specificat conține atât celule blocate, cât și deblocate. Poate fi folosit și pentru blocarea sau deblocarea celulelor.
Acest exemplu deblochează celulele A1: B2 pe Sheet1 astfel încât să poată fi modificate atunci când foaia este protejată.
12 | Foi de lucru („Sheet1”). Range („A1: B2”). Blocat = FalseFișe de lucru („Sheet1”). Protejați |
Uneste celulele
Setați această proprietate la True dacă trebuie să îmbinați un interval. Valoarea sa devine True dacă un interval specificat conține celule îmbinate. De exemplu, dacă trebuie să îmbinați intervalul C5: D7, puteți utiliza acest cod:
1 | Foi de lucru ("Sheet1"). Range ("C5: D7"). MergeCells = True |
NumberFormat
Puteți seta formatul numerelor din celulă (celulele) la General, Număr, Monedă, Contabilitate, Dată, Oră, Procentaj, Fracțiune, Științific, Text, Special și Personalizat.
Iată exemple de formate științifice și numerice procentuale:
12 | Gama ("A1"). NumberFormat = "0,00E + 00"Gama ("B1"). NumberFormat = "0,00%" |
NumberFormatLocal
Această proprietate returnează sau setează o valoare variantă care reprezintă codul de format pentru obiect ca un șir în limba utilizatorului.
Orientare
Puteți seta (sau primi întoarcerea) orientarea textului în celulă (celulele) de această proprietate. Valoarea sa poate fi una dintre aceste constante: xlDownward, xlHorizontal, xlUpward, xlVertical sau o valoare întreagă de la -90 la 90 de grade.
1 | Foi de lucru ("Sheet1"). Range ("A1"). Orientare = -60 |
Mamă
Aceasta este o proprietate de numai citire care returnează obiectul părinte al unui obiect specificat.
ShrinkToFit
Această proprietate returnează sau setează o valoare variantă care indică dacă textul se micșorează automat pentru a se încadra în lățimea coloanei disponibile.
1 | Foi de lucru ("Sheet1"). Range ("A1"). ShrinkToFit = True |
Aliniere verticală
Această proprietate proprietate format celulă returnează sau setează o valoare variantă care reprezintă alinierea verticală pentru obiectul specificat. Constantele returnate sau setate pot fi: xlCenter, xlDistributed, xlJustify, xlBottom, xlTop. De exemplu:
1 | Foi de lucru ("Sheet1"). Range ("A1"). VerticalAlignment = xlTop |
Încadra textul
Această proprietate returnează True dacă textul este înfășurat în toate celulele din intervalul specificat, Fals dacă textul nu este înfășurat în toate celulele din intervalul specificat sau Nul dacă intervalul specificat conține unele celule care înfășoară text și alte celule care nu.
De exemplu, dacă aveți această gamă de celule:
acest cod de mai jos va returna Null în fereastra imediată:
1 | ? Foi de lucru ("Sheet1"). Range ("A1: B1"). WrapText |