VBA కౌంటర్ | ఎక్సెల్ VBA లో కౌంటర్ ఎలా సృష్టించాలి? (ఉదాహరణలతో)
ఎక్సెల్ VBA కౌంటర్
విలువలు ఒక స్ట్రింగ్, సంఖ్యలు కాదా అని లెక్కించడానికి MS Excel లో వివిధ ఫంక్షన్ ఉంది. కొన్ని ప్రమాణాల ఆధారంగా లెక్కింపు చేయవచ్చు. ఎక్సెల్ లో COUNT, COUNTA, COUNTBLANK, COUNTIF మరియు COUNTIFS విధులు ఉన్నాయి. ఏదేమైనా, ఈ ఫంక్షన్లు కణాల రంగు ఆధారంగా లెక్కించడం, బోల్డ్ విలువలను మాత్రమే లెక్కించడం వంటి కొన్ని పనులను చేయలేవు. అందువల్ల మేము VBA లో ఒక కౌంటర్ను సృష్టిస్తాము, తద్వారా ఈ రకమైన పనులను ఎక్సెల్ లో లెక్కించవచ్చు.
ఎక్సెల్ VBA లో కొంత కౌంటర్ సృష్టిద్దాం.
ఎక్సెల్ VBA కౌంటర్ యొక్క ఉదాహరణలు
మీరు ఈ VBA కౌంటర్ ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA కౌంటర్ ఎక్సెల్ మూసVBA లోని కౌంటర్ యొక్క ఉదాహరణలు క్రింద ఉన్నాయి.
ఉదాహరణ # 1
మనకు 32 వరుసల కోసం పైన ఉన్న డేటా ఉందని అనుకుందాం. మేము ఒక VBA కౌంటర్ను సృష్టిస్తాము, ఇది విలువలను లెక్కిస్తుంది, అవి 50 కన్నా ఎక్కువ మరియు విలువలను లెక్కించడానికి మరో కౌంటర్, 50 కన్నా తక్కువ. మేము VBA కోడ్ను ఈ విధంగా సృష్టిస్తాము, తద్వారా వినియోగదారు డేటాను కలిగి ఉంటారు ఎక్సెల్ లో అపరిమిత వరుసలు.
అదే విధంగా చేయడానికి, దశలు ఇలా ఉంటాయి:
నిర్ధారించుకోండి డెవలపర్ టాబ్ ఎక్సెల్ కనిపిస్తుంది. టాబ్ కనిపించేలా చేయడానికి (కాకపోతే), దశలు:
పై క్లిక్ చేయండి ‘ఫైల్’ రిబ్బన్లో టాబ్ చేసి ఎంచుకోండి 'ఎంపిక' జాబితా నుండి.
‘ఎంచుకోండి‘రిబ్బన్ను అనుకూలీకరించండి ’ జాబితా నుండి, కోసం పెట్టెను ఎంచుకోండి ‘డెవలపర్’, మరియు క్లిక్ చేయండి అలాగే.
ఇప్పుడు ది ‘డెవలపర్’ టాబ్ కనిపిస్తుంది.
ఉపయోగించి కమాండ్ బటన్ను చొప్పించండి ‘చొప్పించు’ లో ఆదేశం అందుబాటులో ఉంది ‘నియంత్రణలు’ సమూహం లో ‘డెవలపర్’ టాబ్.
నొక్కేటప్పుడు ALT కీ, మౌస్తో కమాండ్ బటన్ను సృష్టించండి. మేము నొక్కడం కొనసాగిస్తే ALT కీ, ఆపై కమాండ్ బటన్ యొక్క అంచులు కణాల సరిహద్దుతో స్వయంచాలకంగా వెళ్తాయి.
సందర్భోచిత మెనుని తెరవడానికి కమాండ్ బటన్ పై కుడి క్లిక్ చేయండి (నిర్ధారించుకోండి ‘డిజైన్ మోడ్’ సక్రియం చేయబడితే మేము సందర్భోచిత మెనుని తెరవలేము).
ఎంచుకోండి ‘గుణాలు’ మెను నుండి.
కమాండ్ బటన్ యొక్క లక్షణాలను మార్చండి, అనగా పేరు, శీర్షిక మరియు ఫాంట్ మొదలైనవి.
మళ్ళీ కుడి క్లిక్ చేసి ఎంచుకోండి ‘వ్యూ కోడ్’ సందర్భోచిత మెను నుండి.
విజువల్ బేసిక్ ఎడిటర్ ఇప్పుడు తెరవబడింది మరియు అప్రమేయంగా, కమాండ్ బటన్ కోసం ఒక సబ్ట్రౌటిన్ ఇప్పటికే సృష్టించబడింది.
మేము ఇప్పుడు కోడ్ వ్రాస్తాము. మేము 3 వేరియబుల్స్ డిక్లేర్ చేస్తాము. లూప్ ప్రయోజనం కోసం ఒకటి, లెక్కించడానికి ఒకటి మరియు చివరి వరుస కోసం విలువను నిల్వ చేయడానికి ఒకటి.
సెల్ A1 ను ఎంచుకోవడానికి మేము కోడ్ను ఉపయోగిస్తాము, ఆపై సెల్ A1 యొక్క ప్రస్తుత ప్రాంతం, ఆపై చివరిగా నింపిన వరుస సంఖ్యను పొందడానికి చివరి నింపిన అడ్డు వరుసకు దిగుతాము.
మేము నడుపుతాము ‘కోసం’ A కాలమ్లోని చివరి నింపిన సెల్కు A2 సెల్లో వ్రాసిన విలువలను తనిఖీ చేయడానికి VBA లో లూప్ చేయండి. మేము విలువను పెంచుతాము ‘కౌంటర్’ విలువ 50 కంటే ఎక్కువగా ఉంటే 1 ద్వారా వేరియబుల్ మరియు సెల్ యొక్క ఫాంట్ రంగును మారుస్తుంది ‘నీలం’ మరియు విలువ 50 కన్నా తక్కువ ఉంటే సెల్ యొక్క ఫాంట్ రంగు ఉంటుంది ‘ఎరుపు’.
తనిఖీ చేసి, లెక్కించిన తరువాత, మేము విలువలను ప్రదర్శించాలి. అదే చేయడానికి, మేము ఉపయోగిస్తాము ‘VBA MsgBox‘.
కోడ్:
ప్రైవేట్ సబ్ కౌంటింగ్సెల్స్బైవాల్యూ_క్లిక్ () డిమ్ ఐ, కౌంటర్ ఇంటీజర్ డిమ్ లాస్ట్రో యాస్ లాంగ్ లాస్ట్రో = రేంజ్ ("ఎ 1"). కరెంట్ రీజియన్. కౌంటర్ = కౌంటర్ + 1 కణాలు (i, 1) .Font.ColorIndex = 5 ఇతర కణాలు (i, 1) .Font.ColorIndex = 3 ముగింపు తరువాత ఉంటే నేను MsgBox "50 కంటే ఎక్కువ ఉన్న" & కౌంటర్ & "విలువలు ఉన్నాయి" & _ vbCrLf & "ఉన్నాయి" & లాస్ట్రో - కౌంటర్ & "విలువలు 50 కన్నా తక్కువ" ఎండ్ సబ్
నిష్క్రియం చేయండి ‘డిజైన్ మోడ్’ మరియు క్లిక్ చేయండి ‘కమాండ్ బటన్’. ఫలితం ఈ క్రింది విధంగా ఉంటుంది.
ఉదాహరణ # 2
ఈ క్రింది విధంగా ఎక్సెల్ VBA ని ఉపయోగించి టైమ్ కౌంటర్ సృష్టించాలనుకుందాం:
మేము క్లిక్ చేస్తే ‘ప్రారంభం’ బటన్, టైమర్ మొదలవుతుంది మరియు మనం క్లిక్ చేస్తే ‘ఆపు’ బటన్, టైమర్ ఆగుతుంది.
అదే విధంగా చేయడానికి, దశలు ఇలా ఉంటాయి:
ఎక్సెల్ షీట్లో ఇలాంటి ఫార్మాట్ సృష్టించండి.
సెల్ A2 యొక్క ఆకృతిని ఇలా మార్చండి ‘Hh: mm: ss’.
విలీనం మరియు సెంటర్ ఎక్సెల్ ఉపయోగించి C3 కణాలను G7 కు విలీనం చేయండి లో ఆదేశం ‘అమరిక’ సమూహం లో ‘హోమ్’ టాబ్.
విలీనం చేసిన సెల్ కోసం సెల్ A2 యొక్క సూచనను ఇవ్వండి, ఆపై ఫాంట్ శైలిని తయారు చేయడం వంటి ఫార్మాటింగ్ చేయండి ‘బాస్కర్విల్లే’, ఫాంట్ పరిమాణం 60 నుండి మొదలైనవి.
రెండు కమాండ్ బటన్లను సృష్టించండి ‘ప్రారంభం’ మరియు ‘ఆపు’ ఉపయోగించి ‘చొప్పించు’ ఆదేశం లో అందుబాటులో ఉంది ‘నియంత్రణలు’ సమూహం లో ‘డెవలపర్’ టాబ్.
ఉపయోగించి ‘గుణాలు’ ఆదేశం లో అందుబాటులో ఉంది ‘నియంత్రణలు’ సమూహం లో ‘డెవలపర్’ టాబ్, లక్షణాలను మార్చండి.
ఆదేశాల బటన్లను ఒక్కొక్కటిగా ఎంచుకుని, ఎంచుకోండి ‘వ్యూ కోడ్’ నుండి ఆదేశం ‘నియంత్రణలు’ లో సమూహం ‘డెవలపర్’ ఈ క్రింది విధంగా కోడ్ రాయడానికి టాబ్.
డ్రాప్-డౌన్ నుండి తగిన కమాండ్ బటన్ ఎంచుకోండి.
మాడ్యూల్ను చొప్పించండి ‘ది వర్క్బుక్‘ కుడి క్లిక్ చేయడం ద్వారా ‘ఈ వర్క్బుక్’ ఆపై ఎంచుకోండి ‘చొప్పించు’ ఆపై ‘మాడ్యూల్’.
మాడ్యూల్లో ఈ క్రింది కోడ్ను వ్రాయండి.
కోడ్:
ఉప ప్రారంభ_ సమయం () అప్లికేషన్ .ఆన్టైమ్ నౌ + టైమ్వాల్యూ ("00:00:01"), "నెక్స్ట్_మోమెంట్" ఎండ్ సబ్ సబ్ ఎండ్_టైమ్ () అప్లికేషన్ .ఆన్టైమ్ నౌ + టైమ్వాల్యూ ("00:00:01"), "నెక్స్ట్_మోమెంట్" ,, ఫాల్స్ ఎండ్ సబ్ సబ్ నెక్స్ట్_మోమెంట్ () వర్క్షీట్లు ఉంటే ("టైమ్ కౌంటర్"). పరిధి ("ఎ 2"). విలువ = 0 అప్పుడు ఉప వర్క్షీట్ల నుండి నిష్క్రమించండి ("టైమ్ కౌంటర్"). పరిధి ("ఎ 2"). విలువ = వర్క్షీట్లు ("సమయం కౌంటర్ "). పరిధి (" A2 "). విలువ - సమయ విలువ (" 00:00:01 ") ప్రారంభ_ సమయ ముగింపు ఉప
మేము ‘సమయానికి‘పద్ధతి అప్లికేషన్ ఆబ్జెక్ట్, ఇది ఒక షెడ్యూల్ సమయంలో ఒక విధానాన్ని అమలు చేయడానికి ఉపయోగించబడుతుంది. మేము అమలు చేయడానికి షెడ్యూల్ చేసిన విధానం “Next_moment”.
కోడ్ను సేవ్ చేయండి. A2 సెల్లో సమయాన్ని వ్రాసి, దానిపై క్లిక్ చేయండి ‘ప్రారంభం’ టైమ్ కౌంటర్ ప్రారంభించడానికి బటన్.
ఉదాహరణ # 3
వారి స్కోరు చేసిన మార్కులతో పాటు విద్యార్థుల జాబితా మన వద్ద ఉందని అనుకుందాం. ఉత్తీర్ణులైన మరియు విఫలమైన విద్యార్థుల సంఖ్యను లెక్కించాలనుకుంటున్నాము.
అదే విధంగా, మేము VBA కోడ్ను వ్రాస్తాము.
దశలు ఇలా ఉంటాయి:
నొక్కడం ద్వారా విజువల్ బేసిక్ ఎడిటర్ను తెరవండి ఎక్సెల్ ఆల్ట్ + ఎఫ్ 11 లో సత్వరమార్గం మరియు డబుల్ క్లిక్ చేయండి ‘షీట్ 3 (విద్యార్థుల లెక్కింపు సంఖ్య)’ షీట్ 3 లోని ఈవెంట్ ఆధారంగా సబ్ట్రౌటిన్ను చొప్పించడానికి.
ఎంచుకోండి ‘వర్క్షీట్’ డ్రాప్డౌన్ నుండి.
మేము ఎంచుకున్నప్పుడు ‘వర్క్షీట్’ జాబితా నుండి, మనం చూడవచ్చు, ప్రక్కనే ఉన్న డ్రాప్డౌన్లో వివిధ సంఘటనలు ఉన్నాయి. మనం ఎన్నుకోవాలి ‘సెలెక్షన్ చేంజ్’ జాబితా నుండి.
మేము VBA వేరియబుల్ ను ప్రకటిస్తాము ‘లాస్ట్రో’ చివరి జాబితా సంఖ్యను విద్యార్థుల జాబితాగా నిల్వ చేయడానికి, ‘పాస్’ ఉత్తీర్ణులైన అనేక మంది విద్యార్థులను నిల్వ చేయడానికి మరియు ‘విఫలం’ విఫలమైన అనేక మంది విద్యార్థులను నిల్వ చేయడానికి.
మేము చివరి వరుస సంఖ్య యొక్క విలువను నిల్వ చేస్తాము ‘లాస్ట్రో’.
మేము సృష్టిస్తాము ‘ఫర్’ లూప్ షరతు ఆధారంగా లెక్కింపు కోసం.
మొత్తం మార్కులు 99 కన్నా ఎక్కువ ఉంటే మేము షరతును సెట్ చేసాము, ఆపై విలువను 1 కి జోడించండి ‘పాస్’ వేరియబుల్ మరియు 1 విలువను జోడించండి ‘విఫలం’ పరిస్థితి విఫలమైతే వేరియబుల్.
చివరి ప్రకటన శీర్షిక చేస్తుంది ‘సారాంశం’ బోల్డ్.
షీట్లో విలువలను ముద్రించడానికి, కోడ్ ఇలా ఉంటుంది:
కోడ్:
ప్రైవేట్ సబ్ వర్క్షీట్_సెలెక్షన్ చేంజ్ (బైవాల్ టార్గెట్ రేంజ్ వలె) డిమ్ లాస్ట్రో లాంగ్ డిమ్ పాస్ గా ఇంటీజర్ డిమ్ ఫెయిల్ గా ఇంటీజర్ లాస్ట్రో = రేంజ్ ("A1") గా విఫలమవుతుంది. కరెంట్ రీజియన్. )> 99 అప్పుడు పాస్ = పాస్ + 1 వేరే ఫెయిల్ = ఫెయిల్ + 1 ఎండ్ సెల్స్ (1, 7) .ఫాంట్.బోల్డ్ = ట్రూ నెక్స్ట్ ఐ రేంజ్ ("జి 1"). విలువ = "సారాంశం" పరిధి ("జి 2"). విలువ = "ఉత్తీర్ణులైన విద్యార్థుల సంఖ్య" & పాస్ రేంజ్ ("జి 3"). విలువ = "విఫలమైన విద్యార్థుల సంఖ్య" & ఎండ్ సబ్ విఫలమవుతుంది
ఇప్పుడు ఎంపికలో మార్పు వచ్చినప్పుడల్లా, విలువలు మళ్లీ క్రింద లెక్కించబడతాయి:
గుర్తుంచుకోవలసిన విషయాలు
- .Xlsm ఎక్సెల్ ఎక్స్టెన్షన్తో VBA లో కోడ్ రాసిన తర్వాత ఫైల్ను సేవ్ చేయండి లేకపోతే మాక్రో పనిచేయదు.
- VBA లూప్లోని కోడ్ ఎన్నిసార్లు నడుస్తుందో ఇప్పటికే నిర్ణయించినప్పుడు ‘ఫర్’ లూప్ను ఉపయోగించండి.