Note: The other languages of the website are Google-translated. Back to English

Conas Macra a spreagadh nó a rith trí chill shonrach a chliceáil in Excel?

Agus tú ag obair le Microsoft Excel, b’fhéidir go mbeidh a fhios agat conas Macra áirithe a reáchtáil le Cnaipe Ordú. Ach an bhfuil a fhios agat conas Macra a reáchtáil trí chliceáil ar chill ar leith i mbileog oibre? Taispeánfaidh an t-alt seo modh duit chun Macra a spreagadh trí chliceáil ar chill shonrach go mion.

Spreag nó rith Macra trí chill shonrach a chliceáil le cód VBA


Spreag nó rith Macra trí chill shonrach a chliceáil le cód VBA

Is féidir leis an gcód VBA seo a leanas cabhrú leat Macra a reáchtáil trí chill shonrach a chliceáil in Excel. Déan mar a leanas le do thoil.

1. Ar an mbileog oibre leis an gcill ní mór duit cliceáil chun Macra a rith, cliceáil ar dheis ar an táb bileog, agus ansin cliceáil Féach an cód ón roghchlár comhthéacs.

2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cóipeáil agus greamaigh an script VBA thíos i bhfuinneog an Chóid.

Cód VBA: Déan Macra a spreagadh nó a rith trí chill ar leith a chliceáil

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("D4")) Is Nothing Then
            Call MyMacro
        End If
    End If
End Sub

nótaí:

1. Sa chód, is é D4 an chill a chliceálfaidh tú chun Macra a rith;

2. Cuir an t-ainm cód in áit Mo Mhacro leis an Macra a rithfidh tú sa bhileog oibre. Féach an pictiúr:

3. Brúigh an Eile + Q eochracha ag an am céanna chun an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.

As seo amach, agus tú ag cliceáil ar chill D4 sa bhileog oibre reatha, spreagfar do Macra sonraithe láithreach.


Earraí gaolmhara:


Na hUirlisí Táirgiúlachta Oifige is Fearr

Réitíonn Kutools for Excel an chuid is mó de do chuid Fadhbanna, agus Méadaíonn sé do Tháirgiúlacht 80%

  • Athúsáid: Cuir isteach go tapa foirmlí casta, cairteacha agus aon rud a d'úsáid tú roimhe seo; Cealla a Chriptiú le pasfhocal; Cruthaigh Liosta Ríomhphoist agus seol ríomhphoist ...
  • Barra Foirmle Super (cuir línte iolracha téacs agus foirmle in eagar go héasca); Leagan Amach Léitheoireachta (líon mór cealla a léamh agus a chur in eagar go héasca); Greamaigh go dtí an Raon Scagtha...
  • Cumaisc Cealla / Sraitheanna / Colúin gan Sonraí a chailleadh; Ábhar Cealla Scoilt; Comhcheangail Sraitheanna / Colúin Dúblacha... Cill Dúblach a Chosc; Déan comparáid idir Ranganna...
  • Roghnaigh Dúblach nó Uathúil Sraitheanna; Roghnaigh Blank Rows (tá na cealla uile folamh); Aimsigh Super agus Fuzzy Aimsigh i go leor Leabhar Oibre; Roghnaigh go randamach ...
  • Cóip Díreach Cealla Il gan tagairt fhoirmle a athrú; Tagairtí Cruthaigh Auto chuig Bileoga Il; Cuir Urchair isteach, Boscaí Seiceála agus go leor eile ...
  • Sliocht Téacs, Cuir Téacs leis, Bain de réir Poist, Bain Spás; Subtotals Paging a chruthú agus a phriontáil; Tiontaigh Idir Ábhar Cealla agus Tráchtanna...
  • Scagaire Super (scéimeanna scagaire a shábháil agus a chur i bhfeidhm ar bhileoga eile); Ard-Sórtáil de réir míosa / seachtaine / lae, minicíocht agus níos mó; Scagaire Speisialta le cló trom, iodálach ...
  • Comhcheangail Leabhair Oibre agus Bileoga Oibre; Cumaisc Táblaí bunaithe ar eochaircholúin; Roinn Sonraí i Ilbhileoga; Baisc Tiontaigh xls, xlsx agus PDF...
  • Níos mó ná 300 gné chumhachtach. Tacaíonn Office / Excel 2007-2021 agus 365. Tacaíonn sé le gach teanga. Imscaradh éasca i d'fhiontar nó d'eagraíocht. Gnéithe iomlána triail saor in aisce 30-lá. Ráthaíocht airgid ar ais 60-lá.
cluaisín kte 201905

Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca

  • Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
  • Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
  • Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!
bun officetab
Sórtáil tuairimí de réir
Comments (37)
Níl rátálacha ar bith fós. Bí ar an gcéad duine a rátáil!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Truicear Nó Rith Macra Trí Chliceáil ar Chill Sonrach le Cód VBA, níorbh fhéidir é seo a chur ag obair. Bhain mé triail as go leor bealaí éagsúla, ach ní bhain sé amach cad a bhí geallta.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Ní oibreoidh an cód seo ach amháin má chuireann tú sa mhodúl "This Workbook" é. Ní oibríonn sé ar mhodúl ginearálta.
ainm an leabhair oibre > Microsft Excel Objects > An Leabhar Oibre Seo.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Oibreoidh an cód seo ar mhodúl cód bileog oibre. Ní mór duit cliceáil ar dheis ar tháb na mbileog agus cliceáil ar 'View Code'. Osclóidh sé seo modúl cód don bhileog oibre sin amháin. Ansin greamaigh an cód luaite.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Más mian leat go mbeadh il macraí, cealla ag rith macraí éagsúla ar an leathanach céanna - an bhfuil sé sin indéanta?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
A Shíomóin a chara,
Is féidir leis an script VBA thíos cabhrú leat macraí éagsúla a reáchtáil trí chliceáil ar chealla ar an leathanach céanna.

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Má tá Target.Count = 1 Ansin
Más rud é Not Intersect(Sprioc, Raon ("D4")) An bhfuil faic ansin Glaoigh ar MyMacro1
Más rud é Not Intersect(Sprioc, Raon ("D8")) An bhfuil faic ansin Glaoigh ar MyMacro2
Más rud é Not Intersect(Sprioc, Raon ("D10")) An bhfuil faic ansin Glaoigh ar MyMacro3
Deireadh Má
Fo Deireadh

Cuir líne le do thoil "Mura dtrasnaíonn (Sprioc, Raon ("D10")) An bhfuil aon rud ansin Glaoigh ar MyMacro" chun níos mó macra a rith trí chliceáil ar chill). Agus athraigh na hainmneacha cille agus macra sa chód bunaithe ar do chuid riachtanas.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Níl sé ag obair ar mo Excel. Tá an cód ceart?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit Camila,
Leithscéal as an míchaoithiúlacht. Bain triail as an gcód VBA thíos.

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Dim xRgArr Mar Leagan
Dim xFunArr Mar Leagan
Dim xFNum Mar Shlánuimhir
Dim xStr Mar Teaghrán
Dim xRg Mar Raon
xRgArr = Eagar ("A1", "D1", "C1") 'Cealla a úsáidtear chun macra a spreagadh
xFunArr = Eagar("Códainm1", "Códainm2", "Códainm3") 'Na hainmneacha cóid comhfhreagracha
Má tá Selection.Count = 1 Ansin
Le haghaidh xFNum = 0 Go UBound(xRgArr)
Socraigh xRg = ActiveSheet.Range(xRgArr(xFNum))
Más rud é Not Intersect(Sprioc, xRg) Is Faic Ansin
xStr = xFunArr(xFNum)
Iarratas.Rith xStr
Deireadh Má
Ar Aghaidh
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
D'oibrigh sé seo go foirfe agus sábhálfaidh sé go leor ama dom - go raibh maith agat as do chuid eolais a roinnt - an-bhuíoch!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá áthas orm go bhféadfainn cabhrú.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go hiontach. Oibríonn sé go maith... Go raibh maith agat....
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit.

Tá sé seo ag obair go maith agam, ach ba mhaith liom coinníoll a chur leis an macra a rith. Ní theastaíonn uaim an macra a rith ach amháin má tá luach áirithe sa chill taobh leis an gcill a chliceálann mé isteach.
m.sh. Nuair a chliceálann mé ar chill F6, ba mhaith liom an macra a rith má tá "x" i gcill E6, ach má tá cill E6 bán, ní féidir leis an macra a rith.
Dóchas a dhéanann ciall.
Go raibh maith agat

Seo é mo bhunchód gan an coinníoll:


Rogha Sonraithe

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Má tá Selection.Count = 1 Ansin
Mura Trasnaíonn (Sprioc, Raon ("F6: F18")) An bhfuil aon rud ansin
Call datePick
Deireadh Má
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Haigh,
Is féidir leis an gcód VBA seo a leanas cabhrú leat an fhadhb a réiteach. Bain triail as agus go raibh maith agat as do thuairim.

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Dim xRg Mar Raon
Mura Trasnaíonn (Sprioc, Raon ("F6: F18")) An bhfuil aon rud ansin
Socraigh xRg = ActiveSheet.Cells(Sprioc.Row, Target.Column - 1)
Más rud é (xRg.Value="") Nó (xRg.Value <> "X") Ansin Scoir Fo
Pioc dáta glaonna
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go raibh maith agat ach cad faoi chealla cumaisc?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit Alber,
Ní oibríonn an cód do chealla chumaisc.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá OpenOffice in úsáid agam agus tá deaschliceáil déanta agam ar chluaisín leatháin agus imeachtaí roghnaithe agus roghnaigh an macra seo ansin ó MyMacros. athróg gan sainmhíniú...
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hi James,
Ní oibríonn an cód ach do Microsoft Office Excel. Go raibh maith agat as do thuairim.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Is é mo chód iomlán sa mhacra seo:


Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)

Dim val As Teaghrán
REM val = Raon ("A2").Luach

Má tá Selection.Count = 1 Ansin
Mura Trasnaíonn (Sprioc, Raon ("D24")) An bhfuil Rud ar bith ansin
REM Glaoigh ar MyMacro
val = Raon ("D24").Luach
Raon ("B27").Luach = val
Deireadh Má
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá an t-ábhar seo an-suimiúil agus tá suim agam ach níl a fhios agam cá bhfaighidh tú, go raibh maith agat cruthaíonn tú an t-ábhar seo, tá súil agam go gcabhróidh gach duine liom http://run-3.online
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Excel 2002 (XP): Má osclaítear leabhar oibre trí "File" a roghnú agus "Shift" a bhrú, díchumasaíonn sé macraí sa bhileog sin, is é an fhadhb atá ann má roghnaíonn mé "Uirlisí> Macra> Macraí ..." is féidir liom an macra a rith. mar sin féin, conas a réiteach?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hi Roger,
Níl an cód tástáladh againn in Excel 2002(XP). Cén fáth nach n-úsáidfeá an leagan níos nuaí de Microsoft Office? Beidh sé níos éasca do do chuid oibre.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Toradh céanna in 2010.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Cén fáth nach bhfuil ach úsáid a bhaint as leagan níos nuaí beidh sé níos éasca
https://games.lol/racing/
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go raibh maith agat, ach cad faoi roinnt cealla as cliceáil le haghaidh roinnt macraí a rith.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Haigh,
Bain triail as an gcód VBA thíos.

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Dim xRgArr Mar Leagan
Dim xFunArr Mar Leagan
Dim xFNum Mar Shlánuimhir
Dim xStr Mar Teaghrán
Dim xRg Mar Raon
xRgArr = Eagar ("A1", "D1", "C1") 'Cealla a úsáidtear chun macra a spreagadh
xFunArr = Eagar("Códainm1", "Códainm2", "Códainm3") 'Na hainmneacha cóid comhfhreagracha
Má tá Selection.Count = 1 Ansin
Le haghaidh xFNum = 0 Go UBound(xRgArr)
Socraigh xRg = ActiveSheet.Range(xRgArr(xFNum))
Más rud é Not Intersect(Sprioc, xRg) Is Faic Ansin
xStr = xFunArr(xFNum)
Iarratas.Rith xStr
Deireadh Má
Ar Aghaidh
Deireadh Má
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go raibh maith agat as an gcód seo. An féidir é seo a chur ag obair trí chliceáil ar chill atá cumaiscthe le cinn eile?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit M.Simonds,
Is féidir leis an gcód san Airteagal seo bhfabhar a thabhairt duit: https://www.extendoffice.com/documents/excel/4354-excel-click-on-cell-to-run-macro.html
Go raibh maith agat as do thuairim.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, bhí mé ag iarraidh an cód seo a úsáid chun macra greamaigh a rith ach ní féidir liom a dhéanamh amach conas an macra a ghreamú i gceart.

Seo é mo Marco bunaidh

Foghreamú()
'
' Greamaigh Macra
'

'
Raon ("B34").Roghnaigh
Formáid ActiveSheet.PasteSpecial:="HTML", Nasc:=Bréagach, DisplayAsIcon:= _
Bréagach, NoHTMLFormatting:=Fíor
Fo Deireadh


is mór aon chabhair
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, Go raibh maith agat as do ábhar suimiúil. Cad a tharlóidh má theastaíonn uaim, mar shampla, cliceáil ar D4 i mBileog 1 agus toradh Macra a fheiceáil i Sheet2!F3.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Ní oibríonn a thuilleadh.
Níl Worksheet_SelectionChange ann de réir réamhshocraithe. Is é sin le rá nach féidir leat é sin a úsáid chun macra a spreagadh.

Déantar tagairt don t-aon fhoshuíomh leabaithe is féidir leat a úsáid sa liosta anuas "Leabhar Oibre", mar sin...

Is é an t-aon rud is gaire duit a dhéanamh ná Workbook_SheetBeforeDoubleClick a úsáid. Ach beidh dul isteach Edit mód (go fóill nach bhfuil le déileáil go mór).
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit CodeKiller.Worksheet_SelectionChange Níl ann ach in eagarthóir na mBileog(Cód). Deaschliceáil ar an táb bileog agus cliceáil ar View Code chun an t-eagarthóir Bileog (Cód) a ghníomhachtú.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá sé tábhachtach a threisiú nach ritheann an macra ach sa bhileog oibre.
Iad siúd againn a úsáideann an t-eagarthóir bunúsach amhairc rialta, is minic a stórálann siad macraí in áiteanna eile seachas sa bhileog oibre reatha.
Ní oibreoidh aon cheann de na cóid seo sa chás sin.
Is dóigh liom go bhfuil an cód seo i bhfad níos simplí agus oibríonn sé go han-mhaith domsa: 

Fo-bhileog Oibre Príobháideach_SelectionChange(Sprioc ByVal Mar Excel.Range)
Mura dtrasnaíonn (Raon ("d1"), Sprioc) Aon Rud Ansin
Glaoigh ar aa
Deireadh Má
Fo Deireadh
Fo aa() ' cuir do chód anseo
Raon ("D1").Roghnaigh
Roghnú.Cóip
Raon ("F1").Roghnaigh
ActiveSheet.PasteEnd Fo
John toibreacha
jnw.wells@gmail.com
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit John Wells, Go raibh maith agat as a roinnt.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dóibh siúd ar mian leo go n-oibreodh sé seo do chealla cumaiscthe, is é an bealach is gasta agus is salacha ná Líne 2 a nuashonrú mar seo a leanas:
Rogha Soiléir

Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Má tá Selection.Count> 0 Ansin
Mura Trasnaíonn (Sprioc, Raon ("D4")) An bhfuil Rud ar bith ansin
Cuir glaoch ar MyMacro
Deireadh Má
Deireadh Má
Tá Deireadh Fo-Roghnú.Count á úsáid chun a fháil amach an bhfuil rogha déanta roimh an macra atá fágtha a chur i gcrích. Más ceithre chill atá cumasctha i do rogha, beidh 4 chill ag Selection.Count agus ní fhorghníomhófar an cód atá fágtha choíche. Is féidir leat líne 2 a athrú go dtí líon beacht na gceall a cumascaíodh, ach cruthóidh sé sin fadhbanna má dhéanann tú chumasc cealla breise.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Grandioso! Grazie, ré una vita che sognavo di poterlo fare, se può essere utile a qualcuno avendo necessità di eseguire più codici su più celle per
Tá an rogha il uimhriúil opzioni basta aggiungere le nuove struzionisempre sotto la stessa rogha sainráite altrime ci viene detto che il riferimento al
bileog oibre non è univoco. Is féidir liom a fheiceáil go bhfuil an chuma ar an scéal go bhfuil an cód le feiceáil;

Rogha Sonraithe
Fo-bhileog Oibre Príobháideach_SelectionChange(ByVal Target As Range)
Má tá Selection.Count = 1 Ansin
Mura Trasnaíonn (Sprioc, Raon ("Y64")) Ní dhéanfaidh aon ní Ansin
Raon ("Y65:Y78").Roghnaigh
Raon ("Y65"). Gníomhachtaigh
Roghnú.ClearContents
Raon ("Y65").Roghnaigh
Deireadh Má
Mura Trasnaíonn (Sprioc, Raon ("A33")) An bhfuil aon rud ansin
Raon ("A33").Roghnaigh
Roghnú.Cóip
ActiveWindow.WindowState = xlMinimized
Seol Eochracha "^v"
SendKeys "{BACKSPACE}"
Deireadh Má
Deireadh Má
Fo Deireadh

Grazie ancora è stat un'autentica meraviglia!

Massimo
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Ní raibh aon ionchais agam maidir leis an teideal sin, ach is mó a bhí ionadh orm. Rinne an t-údar jab iontach. Chaith mé cúpla nóiméad ag léamh agus ag seiceáil na fíricí. Tá gach rud an-soiléir agus intuigthe. Is maith liom poist a líonann do bhearnaí eolais. Tá an ceann seo den sórt.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit,

Níl aon encuentro la manera de hacer lo que necesito. Espero de veras que me podáis ayudar.
Ní mór duit a bheith i gceist le MACRO al hacer clic en una celda, ach ní féidir é a bheith sa celda va ser, ní féidir leat comparáid a dhéanamh idir (má tá sé suite ar an celda A3, mar shampla, is féidir leat a bheith i mbun oibre) le haghaidh feidhmeanna fichero, las celdas se van a mover de sitio (se han podido insertar, mas o menos filas encima). Necesitaría poder saber qué celda es la que se ha eleccionado.
An bhfuil an bealach is fearr leat alguna?
Go raibh míle maith agat roimh ré.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hi Hola,
Tá seoladh na cille tairiseach. Ní féidir leat ach luach na cille a bhogadh.
Is é an chill a shonraigh tú sa chód VBA fós an chill a spreagann an cód VBA sonraithe.
Níl aon tráchtanna curtha suas anseo go fóill
Fág do chuid tuairimí
Ag postáil mar Aoi
×
Ráta an post seo:
0   Carachtair
Suímh Molta

Lean orainn

Cóipcheart © 2009 - www.extendoffice.com. | Gach ceart ar cosaint. Cumhachtaithe ag ExtendOffice. | léarscáil an tSuímh
Is trádmharcanna nó trádmharcanna cláraithe de chuid Microsoft Corporation sna Stáit Aontaithe agus / nó i dtíortha eile iad lógó Office agus Office.
Cosanta ag Sectigo SSL