Articles

Eisimpleirean de Excel Macros sgrìobhte le VBA

Chaidh na h-eisimpleirean macro Excel sìmplidh a leanas a sgrìobhadh a’ cleachdadh VBA 

Ùine leughaidh tuairmseach: 3 minuti

Eisimpleir VBA a 'cleachdadh Array

Bidh an Fo-mhodh a leanas a 'leughadh luachan bho cheallan ann an colbh A den duilleag-obrach gnìomhach, gus an coinnich e ri ceal bàn. Tha na luachan air an stòradh ann an sreath. Tha an eisimpleir macro Excel sìmplidh seo a’ sealltainn cleachdadh:

  • Dearbhaidhean caochlaideach;
  • Arrays fiùghantach;
  • Cearcall Do Until;
  • Thoir sùil air ceallan anns an duilleag-obrach Excel làithreach;
  • An gnìomh VBA Ubound builtin (a thilleas an clàr-amais as àirde de raon).
' 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

Bidh am modh-obrach a’ stòradh nan luachan ann an colbh A den duilleag-obrach gnìomhach ann an sreath, thoir an aire:

  • An cearcall Do Until a’ toirt a-mach luachan gach cealla ann an colbh A den duilleag-obrach gnìomhach, a’ seachnadh cheallan bàn
  • Tha an suidheachadh "If UBound(dCellValues) < iRow” dèan cinnteach gu bheil an sreath dCellValues ​​​​mòr gu leòr airson am fiosrachadh a chumail, mura h-eil, cleachd ReDim gus meud an t-sreath àrdachadh le 10
  • Mu dheireadh, foghlam​​dCellValues(iRow) = Cells(iRow, 1).Value” A ’stòradh a’ chill gnàthach anns an raon CellValues

Eisimpleir VBA le obrachaidhean matamataigeach

Bidh an dòigh-obrach a leanas a’ leughadh na luachan bho cholbh A den duilleag-obrach leis an ainm “Sheet2” agus a’ coileanadh obrachaidhean àireamhachd air na luachan. Tha na luachan a thig às air an clò-bhualadh ann an colbh A den duilleag-obrach gnìomhach gnàthach.

Tha am macro seo a’ nochdadh:

Leabhar-latha ùr-ghnàthachaidh
Na caill na naidheachdan as cudromaiche mu ùr-ghnàthachadh. Clàraich gus am faighinn air post-d.
  • Dearbhaidhean caochlaideach;
  • Rudan Excel (gu sònraichte, cleachdadh am prìomh fhacal Set agus mar a gheibh thu cothrom air an nì ‘Columns’ bhon nì ‘Sheets’);
  • Cearcall Do Until;
  • Cothrom air duilleagan-obrach agus raointean cealla anns an leabhar-obrach Excel gnàthach.
' 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

Eisimpleir VBA le clàradh ceann-latha atharrachaidh

Sgrìobhamaid macro VBA sìmplidh a bhios a 'losgadh nuair a thèid cealla ann an raon sònraichte den duilleag againn ùrachadh. Can gu bheil thu airson sùil a chumail air atharrachaidhean ann an colbh B (B4 gu B11) agus ceann-latha agus uair an atharrachaidh ann an colbh A a chlàradh.
Rachamaid air adhart mar seo:

  • Anns an taba Developer cliog air an roghainn"Visual Basic” gus deasaiche VBA fhosgladh.
  • Anns an deasaiche VBA, cliog dùbailte air an deasaiche còd co-cheangailte ri Duilleag2.
  • Tagh Duilleag-obrach bhon taba deas (no clì) agus tagh an roghainn Atharraich.
  • Cuir còd VBA ris:
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

Sàbhail an leabhar-obrach le macros air a chomasachadh (mar eisimpleir, mar fhaidhle .xlsm).


A-nis, a h-uile uair a bhios sinn ag ùrachadh cealla ann an colbh B (bho shreath 1 gu sreath 10), seallaidh an cealla ann an colbh A gu fèin-ghluasadach an ceann-latha agus an àm làithreach.

Ercole Palmeri

Leabhar-latha ùr-ghnàthachaidh
Na caill na naidheachdan as cudromaiche mu ùr-ghnàthachadh. Clàraich gus am faighinn air post-d.

Altan o chionn ghoirid

Tha Veeam a’ nochdadh an taic as coileanta airson ransomware, bho dhìon gu freagairt agus faighinn seachad air

Leanaidh Coveware le Veeam a’ toirt seachad seirbheisean freagairt tachartas saidhbear. Bidh Coveware a’ tabhann comasan forensics agus leigheas…

23 Giblean 2024

Ar-a-mach Uaine is Didseatach: Mar a tha cumail suas ro-innseach ag atharrachadh gnìomhachas na h-ola is a’ ghas

Tha cumail suas ro-innse ag atharrachadh roinn na h-ola & gas, le dòigh-obrach ùr-ghnàthach agus for-ghnìomhach a thaobh riaghladh planntrais.…

22 Giblean 2024

Riaghladair antitrust na RA a’ togail inneal-rabhaidh BigTech thairis air GenAI

Tha CMA na RA air rabhadh a chuir a-mach mu ghiùlan Big Tech anns a’ mhargaidh fiosrachaidh fuadain. An sin…

18 Giblean 2024

Casa Green: tionndadh lùtha airson àm ri teachd seasmhach san Eadailt

Tha an t-òrdugh “Taighean Uaine”, a chuir an Aonadh Eòrpach ri chèile gus èifeachdas lùtha thogalaichean a neartachadh, air a phròiseas reachdail a thoirt gu crìch le…

18 Giblean 2024