Mataupu Faavae

Fa'ata'ita'iga o Excel Macros na tusia ma VBA

O faʻataʻitaʻiga faigofie Excel macro na tusia e faʻaaoga ai le VBA 

Taimi faitau fa'atatau: 3 minute

VBA faʻataʻitaʻiga faʻaaoga Array

O lo'o mulimuli mai e faitau fa'atatauga mai sela i le koluma A o le pepa galue galue, se'ia o'o ina fa'afeiloa'i ma se sela avanoa. O tau o loʻo teuina i se laina. O lenei faʻataʻitaʻiga faigofie Excel macro e faʻaalia ai le faʻaogaina o:

  • Ta'utinoga fesuia'i;
  • Fa'asologa fa'amalosi;
  • O se taamilosaga Do Until;
  • Va'ai i sela o lo'o iai nei le Excel worksheet;
  • Ole galuega ole VBA Ubound builtin (lea e toe fa'afo'i ai le fa'ailoga maualuga o se laina).
' Sub procedure store values in Column A of the active Worksheet
' into an array
Sub GetCellValues()
Dim iRow As Integer            ' stores the current row number
Dim dCellValues() As Double  ' array to store the cell values
iRow = 1
ReDim dCellValues(1 To 10)
' Do Until loop to extract the value of each cell in column A
' of the active Worksheet, as long as the cell is not blank
Do Until IsEmpty(Cells(iRow, 1))
   ' Check that the dCellValues array is big enough
   ' If not, use ReDim to increase the size of the array by 10
   If UBound(dCellValues) < iRow Then
      ReDim Preserve dCellValues(1 To iRow + 9)
   End If
   ' Store the current cell in the CellValues array
   dCellValues(iRow) = Cells(iRow, 1).Value
   iRow = iRow + 1
Loop
End Sub

O le faʻagasologa e teu ai tau i le koluma A o le pepa galue galue i se laina, ia maitauina:

  • O le taamilosaga Do Until ave'ese le tau o sela ta'itasi i le koluma A o le pepa galue galue, e le amana'ia sela avanoa
  • O le tulaga"If UBound(dCellValues) < iRow” siaki o le dCellValues ​​​​array e lava le tele e taofi ai faʻamatalaga, a leai, faʻaaoga ReDim e faʻateleina le tele o le laina ile 10
  • Mulimuli ane, a’oga​​dCellValues(iRow) = Cells(iRow, 1).Value” Teuina le sela o iai nei i le CellValues ​​​​array

Fa'ata'ita'iga VBA fa'atasi ai ma fa'agaioiga fa'a-matematika

O lo'o i lalo le fa'agasologa o lo'o i lalo e faitau ai tau mai le koluma A o le pepa o galuega e ta'ua o le "Sheet2" ma fa'atino galuega fa'atusa i luga o tau. O tau fa'ai'uga o lo'o lolomi i le koluma A o le pepa galue o lo'o iai nei.

O lenei macro e faʻaalia:

Talafou fou
Aua nei misia le tala sili ona taua e uiga i mea fou. Saini e maua i latou ile imeli.
  • Ta'utinoga fesuia'i;
  • Excel mea faitino (fa'apitoa, fa'aoga o le Set keyword ma le auala e maua ai le 'Columns' mea mai le 'Sheets' object);
  • O se taamilosaga Do Until;
  • Avanoa i pepa o galuega ma vaega sela i le tusi galuega Excel o iai nei.
' Sub procedure to loop through the values in Column A of the Worksheet
' "Sheet2", perform arithmetic operations on each value, and write the
' result into Column A of the current Active Worksheet ("Sheet1")
Sub Transfer_ColA()
Dim i As Integer
Dim Col As Range
Dim dVal As Double
' Set the variable 'Col' to be Column A of Sheet 2
Set Col = Sheets("Sheet2").Columns("A")
i = 1
' Loop through each cell of the column 'Col' until
' a blank cell is encountered
Do Until IsEmpty(Col.Cells(i))
   ' Apply arithmetic operations to the value of the current cell
   dVal = Col.Cells(i).Value * 2 + 1
   ' The command below copies the result into Column A
   ' of the current Active Worksheet - no need to specify
   ' the Worksheet name as it is the active Worksheet.
   Cells(i, 1) = dVal
   i = i + 1
Loop
End Sub

Fa'ata'ita'iga VBA fa'atasi ai ma le fa'amauina o aso o suiga

Sei o tatou tusia se VBA macro faigofie e mu pe a faʻafouina se sela i se vaega patino o la tatou laupepa. Fa'apea e te mana'o e siaki suiga ile koluma B (B4 i le B11) ma fa'amaumau le aso ma le taimi o le suiga ile koluma A.
Se'i tatou fa'apea:

  • I le lisi Developer kiliki i luga o le filifiliga "Visual Basic” e tatala ai le faatonu VBA.
  • I le fa'atonu VBA, kiliki fa'alua le fa'atonu code e feso'ota'i ma le Pepa2.
  • Filifili Pepa Galuega mai le itu taumatau (poʻo le agavale) ma filifili le Suiga filifiliga.
  • Fa'aopoopo le VBA code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
        Target.Range("A1:A1").Value = Now
    End If
End Sub

Faasaoina le api galuega ma macros ua mafai (mo se faataitaiga, o se faila .xlsm).


I le taimi nei, o taimi uma lava matou te faʻafouina ai se sela i le koluma B (mai le laina 1 i le laina 10), o le cell i le koluma A o le a otometi lava ona faʻaalia le aso ma le taimi.

Ercole Palmeri

Talafou fou
Aua nei misia le tala sili ona taua e uiga i mea fou. Saini e maua i latou ile imeli.

Talu ai nei tala

Veeam o loʻo faʻaalia le lagolago sili ona atoatoa mo ransomware, mai le puipuiga i le tali atu ma le toe faʻaleleia

Coveware e Veeam o le a faʻaauau pea ona tuʻuina atu auaunaga faʻalavelave faʻalavelave faʻafuaseʻi. Coveware o le a ofoina atu faʻamatalaga faʻafomaʻi ma faʻaleleia gafatia ...

23 Aperila 2024

Green and Digital Revolution: Fa'afefea ona Suia e le Tausiga Va'ai le Suau'u & Kesi Alamanuia

O le tausiga fa'anatinati o lo'o fa'afouina ai le vaega o le suau'u ma le kesi, fa'atasi ai ma se faiga fou ma le fa'agaoioia ile pulega o la'au.…

22 Aperila 2024

Ua fa'atupuina e le pule fa'atonu a le UK antitrust le fa'ailoga BigTech i luga o GenAI

Ua tuʻuina atu e le UK CMA se lapataiga e uiga i amioga a Big Tech i le maketi atamai faʻapitoa. O iina…

18 Aperila 2024

Casa Green: suiga malosi mo se lumanaʻi gafataulimaina i Italia

O le "Green Houses" Decree, na faia e le Iuni a Europa e faʻaleleia ai le malosi o fale, ua maeʻa lana faiga faʻatulafonoina ma ...

18 Aperila 2024