Total Pageviews

Monday, 30 April 2018

கேள்வி - பதில் பகுதி - 1

கேள்வி :  WORD இல் EXCEL SPREAD SHEET கொண்டு வந்து நமக்கு தேவையான உள்ளீடுகளை செலுத்திய பின் நாம் WORD OPTION கு வந்தால் ஒரு குறிப்பிட்ட ROW மட்டும் நம் கண்ணுக்கு புலனாகிறது எப்படி நாம் உள்ளீடு செய்த அனைத்து DATA வையும் எப்படி வெளி கொண்டுவருவது (PRINT எடுக்கும் வகையில் இருக்கும் பட்சத்தில் இது அவசியம் ஆகிறது)


பதில் :  எப்போது தேவை ஏற்படுகிறதோ அப்போது அந்த டேபிளில் (EXCEL SHEET ) CLICK செய்யவும்.  இப்போது மெனுவும் எக்ஸல் மெனுவாக மாறி விடும்.  மெனுவை பயன்படுத்தி அச்சு எடுக்கலாம்.


அல்லது டேபிளில் click செய்த பிறகு நான்கு பக்களிலுள்ள HANDLE களில் தேவையானவற்றை பிடித்து இழுத்து சரி செய்து கொள்ளவும். 




கேள்வி : EXCELL CELL இல் உள்ள FORMULA வை வெளிக்கொண்டு வருவது எப்படி?
FORMULA முன் உள்ள = இல்லாமல் அதற்கு அடுத்துள்ள வார்த்தைகள் மட்டும் வெளிக்கொண்டு வர முடியுமா?
முடியும் எனில் எவ்வாறு என்பதை விளக்கவும்

பதில் :  Please add an ' before = sign.
Control key + ~ will show all formulas and functions in a worksheet.  It is a toggle key. 

அல்லது


மெனுக்களை உபயோகித்தும் FORMULA AND FUNCTIONS பார்க்கலாம்.

கேள்வி :  Excel இல் A column இல் தேவையான பல்வேறு வகையான string data உள்ளது ஆனால் அவை தொடர்ச்சியாக இல்லாமல் குறிப்பிட்ட இடைவெளியில் உள்ளது எனில் நான் if formula வை கொண்டு எவ்வாறு அதை கொண்டு வருவது
Ex எனக்கு வேண்டிய data A column இல் 10 வது வரிசையில் ஒன்றும் 30வது வரிசையில் ஒன்றும் உள்ளது நான் B column இல் if பயன் படுத்தும் போது B1முதல் B10 வரை அந்த data உம் B11 முதல் பி30 வரை பி30 இல் உள்ள data வும் வர வேண்டும்

பதில் :  =IF(ROW()<=10,$A$1,$A$30) 
                                                         --*--




கேள்வி :  இது ஒவ்வொரு முறையும் தனி தனியாக formula பயன்படுத்தும் வகையில் உள்ளது
எனக்கு A1 முதல் A9 வரை blank cell A10 இல் string அதன் பின்னர் A11 முதல் A24 வரை blank cell A25 இல் string பின் A26 முதல் A29 வரை blank A30 இல் string இவ்வாறு தொடர்ந்து உள்ளது
தற்போது எனக்கு B1 முதல் B10 வரை A10 இல் உள்ள string வர வேண்டும் பின் B11 முதல் B25 வரை A25 இல் உள்ள string வர வேண்டும் பின் B26 முதல் B30 வரை A30 இல் உள்ள string வர வேண்டும் இவ்வாறு நான் தொடர்ந்து செய்ய எந்த formula பயன்படுத்த வேண்டும்





கேள்வி :  உங்கள் கேள்வி மிக அருமையாக உள்ளது.  இதற்கு விடையை ஒரு செயலியில் கூற முடியாது .  இதற்கு ஒரு மேக்ரோ தான் வேண்டும்.   அதை  எழுதி கீழே கொடுத்துள்ளேன்.  இதை உங்களது EXCEL  WORKBOOK  ல் சேர்த்துக்கொள்ளவும். இதை எப்படி சேர்த்துக்கொள்வது என்பதை அந்த மேக்ரோவிற்கு கீழே கொடுத்துள்ளேன்.


தட்டச்சு செய்யும்போது தவறில்லாமல் பொறுமையாக செய்யவும்.


Sub FillCell()
    Dim rng As Range
    Dim c(1 To 10) As Variant
    Dim x As Integer
    Dim CountRow As Integer
    Dim i As Integer
    Dim b, y As String
    Set rng = Selection
    CountRow = rng.EntireRow.Count
    For i = 1 To CountRow
        b = "a" & i
        If Range(b) <> "" Then
            x = x + 1
            c(x) = Range(b).Value
        End If
        ActiveCell.Offset(1, 0).Select
    Next i
    x = 1
    y = 0
    For i = 1 To CountRow
        b = "b" & i
        y = "a" & i
        Range(b).Select
        If (Range(b).Value = 0 Or Range(b).Value = "") And _
            (Range(y).Value = 0 Or Range(y).Value = "") Then
             Range(b).Value = c(x)
            GoTo 10
        Else
            Range(b).Value = c(x)
            x = x + 1
        End If
        
10  Next

End Sub





(Developer tab தெரியவில்லை என்றால் Macro வை பற்றி வெளிவந்துள்ள தகவலை படிக்கவும்)

இந்த மேக்ரோவை எக்செல்லில் சேர்ப்பதற்கு 

1. Developer tab click  செய்யவும்.
2. visuval  basic click  செய்யவும். வரும் மெனுவில்
3. Insert  என்ற tab click செய்யவும்.
4. வரும் மெனுவில் Module என்பதை click  செய்யவும்
5.அடுத்து வரும் Window வில்  General என்ற பகுதிக்கு கீழே உள்ள பெரும் இடத்தில்

மேற் கண்ட Macro வை பிழையின்றி தட்டச்சு செய்யவும்






வெளிவருவதற்கு File  என்ற Tab ஐ கிளிக் செய்து வரும் மெனுவில் Close and Return to Microsoft Excel என்ற மெனுவை கிளிக் செய்யவும்










இப்போது எக்சலிற்கு திரும்பியிருப்பீர்கள். பத்தியில் எங்கெங்கு தகவலை நிரப்ப வேண்டுமோ அங்கு நிரப்பி அத் தகவலை செலக்ட் செய்யவும்.  பின்பு Developer - Macros - Fill Cell - Run என்பவைகளை வரிசையாக கிளிக் செய்யவும்.


இப்போது உங்கள் விடையை பார்க்கலாம்.



கேள்வி:   01-01-2018 என்பது வருடத்தின் முதல் நாள்.  31-12-1017 என்பது அந்த வருடத்தின் கடைசி நாள்.  இன்றைய தேதியோ அல்லது ஏதாவது ஒரு தேதியோ அவ்வருடத்தின் எத்தனையாவது நாள் என்று கண்டுபிடிக்க முடியுமா ?


பதில்:    நிச்சயமாக.  செல் A1 ல் ஒரு தேதி 13-05-2018 இருப்பதாகக் கொள்வோம். B1 ல் கர்சரை வைத்து =A1-DATE(YEAR(A1),1,0) என்று தட்டச்ச செய்து என்டர் கீயை அழுத்தவும்.  13-5-2018 என்பது 2018ம் வருடத்தின் 133 வது நாளாகும்.



இன்றைய தேதி TODAY() என்ற செயலியை உபயோகிக்க விரும்பினால் syntax பின் வருமாறு அமையவேண்டும்.

=TODAY()-DATE(YEAR(TODAY()),1,0)

Friday, 27 April 2018

MACRO - 1


Macro என்பது   நாம் word லோ அல்லது எக்ஸெல்லிலோ அடிக்கடி செய்யும் வேலைகளை திரும்ப திரும்ப செய்வதிற்கு பதில் (Step) ஸ்டப் களை ஓரிடத்தில் சேமித்து வைத்து பின்பு தேவைப்படும்போது உபயோகித்துக் கொள்வது. மேக்ரோ என்பது கணினி புரிந்துக் கொள்ளக் கூடிய கணிப்பொறி மொழியில், ஒரு வேலையை செய்வதற்கான கட்டளைகளை வரிசையாக கோர்ப்பது. பெரும்பாலும் அடிக்கடி செய்யும் (REPETITIVE) வேலைகளுக்கே இது பயன்படுத்தப்படுகிறது.)

MACRO எழுத வேண்டுமென்றால் உங்களது  EXCEL  ரிப்பனில்  DEVELOPER  என்ற TAB  தெரிய வேண்டும்.

நீங்கள் வைத்திருப்பது MS OFFICE 2007 என்றால்


இம்மாதிரி DEVELOPER TAB தெரியவில்லை என்றால் கீழே கண்டுள்ளபடி செய்யவும் .

1. OFFICE BUTTON ல் கிளிக் செய்யவும் 

2. வரும் உரையாடல் பெட்டியில் EXCEL OPTION என்ற பெட்டியில் கிளிக் செய்யவும்.

3. இப்போது வரும் உரையாடல் பெட்டியில் இடது பக்க மெனு விருப்பத் தேர்வில் POPULAR என்பது தேர்வு செய்யப்பட்டிருக்கும். அதனுடைய மெனுக்கள் வலது பக்கத்தில் உள்ள பெட்டியில் தெரியும் 

4  தெரியும் விருப்பத் தேர்வுகளில் 3 வதாக உள்ள SHOW DEVELOPER TAB IN THE RIBBON என்ற பெட்டியில் கிளிக் செய்து OK செய்து வரவும்.

இப்போது உங்கள் எஸ்செலில் DEVELOPER TAB தெரியும்.

உங்களது MS OFFICE VERSION 2013 ஆக இருந்தால் கீழே உள்ள படத்தில் உள்ளது போல் தெரியும்.



அப்படி தெரியவில்லை என்றால் கீழே கண்டுள்ளபடி செய்யவும் .




இப்போது எக்ஸெல் ரிப்பனில் Developer Tab தெரியும்.  அதை கிளிக் செய்யவும்.





CODE GROUP ல் உள்ள Macros என்ற பட்டனை அழுத்தவும்.

.
 




வந்துள்ள உரையாடல் பெட்டியில் MACRO NAME என்ற பெட்டியில் பெயரை (உம். Lower  என்று)  தட்டச்சு செய்யவும். (இது நாம் உருவாக்கப்போகும் MACROவிற்கு நாம் அளிக்கும் பெயராகும். (MACRO NAME கொடுக்கும்போது MACRO NAME க்கு முன்போ நடுவிலோ இடைவெளிகள் SPACE  இருக்கக்கூடாது. தேவையிருந்தால் _ (under score) பயன்படுத்தலாம்இதற்கு முன்பே உருவாக்கிய பெயராகவும் - DUPLICATE இருக்கக்கூடாது.)  இதுவரையில் உருவாக்காத பெயராயிருந்தால் CREATE என்ற பட்டன் தெரியவரும்.  அதில் கிளிக் செய்யவும். இப்போது கீழே உள்ளவாறு ஒரு பெட்டி தோன்றும்.  (SHORTCUT KEY ALT + F8).








மேலே வந்துள்ள திரைக்கு பெயர் MICROSOFT VISUAL BASIC EDITOR WINDOW  என்று பெயர். ஒரு மேக்ரோவை உருவாக்கும்போது  எந்த பெயரில் உருவாக்குகிறோமோ அந்த பெயருக்கு முன்னால் SUB ம் பின்னால் ( ) அடைப்புக்குறியுடனும்அடுத்த வரியில் END SUB என்ற ஈரடிகள் தோன்றும்.  இந்த ஈரடிக்குள்தான் மேக்ரோவிற்கு வேண்டிய கட்டளை (CODE) வரிகளை எழுத வேண்டும்.   மேக்ரோக்கள் Visuval Basic மொழியில் எழுதப்படுகின்றன.  இவைகளை மைக்ரோசாப்ட் அப்ப்ளிகேஷன் பயன்பாடுகளுக்கு (Word, Excel, Power Point மற்றும் Access முதலியவைகளுக்கு ) எழுதும்போது அதை VBA (Visual Basic for Applications) என்று சொல்லுகிறோம். VBA என்பது பின்புலத்தில் வேலை செய்யக்கூடிய ஒரு backend டூல்.  VBA என்பது பயனாளருக்கும் மைக்ரோசாப்ட் பயன்பாடுகளுக்கும் இடையில் உள்ள ஒரு Programming Interphase என்றும் கூறலாம் 
Sub ()
End Sub  ஐ ஒரு Sub Routine என்றும் கூறலாம் 





எக்செல்லில்
Application
Workbook
Work Sheet
Range
Named Range
Cell
Pivot Table
Chart
இவைகளை Object  என்று கூறுவோம். Application என்ற Object ல் அதன் கீழ் உள்ள அத்தனை Object ம் அடக்கம்.  அதுபோல Workbook Object அதன் கீழ் உள்ள அத்தனை Object ம் அடக்கம்.

எக்செல்லில் FUNCTION அல்லது FORMULA வை பயன்படுத்தும்போது அது எந்த இடத்தில் இருக்கும் விவரங்களை எடுத்துக்கொள்ள வேண்டும் என்று சொல்லவேண்டும்.  இது ஒரு CELL  அல்லது ஒரு RANGE OF CELLS, அல்லது ROW OF CELLSஅல்லது COLUMN OF CELLS அல்லது  WORKSHEET   அல்லது ஒரு WORKBOOK ஆக இருக்கலாம். அடுத்ததாக மேக்ரோ எங்கு செயல்படுத்தப்பட வேண்டும் என்பதற்க்கு இடத்தை தேர்ந்தெடுக்கவேண்டும்.  இதற்க்கு SELECT என்ற METHOD பயன்படுத்துகிறோம்.

சில உதாரணங்களை பார்ப்போம்.

கர்சர் தற்போது இருக்குமிடத்தை செலக்ட் செய்வதற்க்கு 

Activecell.Select    என்று  எழுத வேண்டும்.

இப்படி எழுதும்போது Activecell என்று எழுதி ஒரு புள்ளி வைத்தவுடனேயே திரையில் ஒரு பெட்டி தோன்றும்.  அதில் தானாகத் தோன்றும் ஒரு பட்டியல் வரும். (METHODS, PROPERTIES AND SOME PARAMETERS ) இவற்றில் நமக்கு தேவையானவற்றை தேர்ந்தெடுக்கலாம் அல்லது நாமே தட்டச்சு செய்யலாம். PROPERTIES என்பது ஒரு OBJECT ஐப் பற்றிய விவரம் என்பது ஒரு METHOD  OBJECT  னுடைய செயல்முறை. 




தற்போதுள்ள செல்லில் 10 என்ற மதிப்பை உள்ளீடாக கொடுக்க வேண்டுமென்றால் 
ActiveCell.Value = 10 என்று கொடுக்க வேண்டும்.







Activecell.value=10 என்று தட்டச்சு செய்து என்டர் கீயை அழுத்தியவுடனே, நாம் தட்டச்சு செய்தது சரியாக இருந்தால் சொற்களின் முதல் எழுத்துக்கள் தானாகவே பெரிய எழுத்தில் மாறுவதுடன் தேவையான இடங்களில் இடைவெளிகளும் தானாகவே தோன்றும்.  மேலே காட்டியுள்ள இரு படங்களையும் கவனிக்கவும்

CELL A10 SELECT செய்ய 

RANGE("A10").SELECT  என்று எழுத வேண்டும்.  CELL ADDRESS ன் இரு பக்கங்களிலும் " " போடவேண்டும்.

இப்போது கர்சர் A10 ல் இருக்கும் 

CELL(1,10).SELECT என்றும் எழுதலாம்.  இங்கு முதலில் உள்ள 1 என்பது A என்ற பத்தியையும் , 10 என்பது வரியையும் (ROW,COLUMN) குறிக்கிறது.

[C10].Select என்றும் எழுதலாம்

ஒரு செல்லிற்கு மேல் செலக்ட் செய்ய 

RANGE("A10:B20").SELECT  (A10 முதல் B20 வரை செலக்ட் ஆக) 

அல்லது  

 Range ( Cells(1,1) : Cells(10,1) ).SELECT  அல்லது

[C1:C10].Select  என்று எழுத வேண்டும்.

இங்கு கவனத்தில் கொள்ளவேண்டியது பகர அடைப்பு (square bracket not parantheses ) உபயோகிக்க வேண்டும்.

நாம் செலக்ட் செய்த ரேஞ்சில் 10 என்ற ஒரு மதிப்பை எழுத வேண்டுமென்றால் 

RANGE("A10:B20").SELECT

RANGE("A10:B20").VALUE=10















என்று எழுதலாம் அல்லது RANGE("A10:B20").SELECT என்று எழுதாமல் நேரடியாகவே RANGE("A10:B20").VALUE=10 என்றும் எழுதலாம்.  அல்லது [C10:C20].Value = 10  என்று எழுதலாம்

RANGE("A10:B20").VALUE=”Murugan”









[C1:C20].Value = “22-05-2018”





(கொடுக்கும் மதிப்பு எண்ணாயிருந்தால் அப்படியேயும், எழுத்தில் இருந்தால் ("MURUGAN") இரட்டை கோடுகளுக்குள் கொடுக்கவேண்டும்.  ஒரு தேதியை உள்ளீடாக கொடுப்பது என்றாலும் தேதிக்கு இருபுறமும் இரட்டை கோடிடவேண்டும். (RANGE("A1").VALUE = "05/13/2018").



செலக்ட் செய்வதை மற்றொரு முறையிலும் செய்யலாம்.
செலக்ட் செய்யப்போகும் செல் மற்றொரு ஷீட்டில் இருக்குமானால் முதலில் அந்த ஷீட்டை செயல்பாட்டிற்கு
 (ACTIVATION)கொண்டுவரவேண்டும்.  பின்புதான் அதில் எந்த செல்ல வேண்டுமோ அதை செலக்ட் செய்யவேண்டும், அதற்கு பின் வருமாறு எழுதவேண்டும்.
WORKSHEETS(SHEET'S NAME).SELECT   மூன்றாவது ஷீட்டில் A10 தான் செலக்ட் செய்யப்போகிறோம் என்றால் 
WORKSHEETS("SHEET3").ACTIVATE 
RANGE("A10").SELECT 
என்று எழுதவேண்டும் 

செலக்ட் செய்யப்போகும் செல் மற்றொரு எக்ஸெல் கோப்பில் இருக்குமானால் அந்த கோப்பையும் தேவையான  ஷீட்டையம் முதலில்  செயல்பாட்டிற்கு (ACTIVATION) கொண்டுவரவேண்டும்.

WORKBOOKS("BOOK1.XLSX").WORKSHEETS("SHEET3").ACTIVATE
RANGE("A10").SELECT 
என்று  எழுதவேண்டும். 

சில சமயங்களில் மேக்ரோவை எந்த செல்களுக்கு பயன்படுத்தப் போகிறோம் என்பதை அனுமானிக்க முடியாது.  எங்கெங்கு வேண்டுமானாலும் அதை பயன்படுத்துவோம். அந்த மாதிரி நேரங்களில் கர்சர் எங்கு இருக்கிறதோ அதை செலக்ட் செய் என்று சொல்ல 

ACTIVECELL.SELECT        

என்று எழுதிவிட்டு அடுத்தாற்போல் என்ன செய்ய வேண்டுமோ அதை எழுதலாம்.  

சில சமயங்களில் ஒரு செல்லிற்கோ அல்லது பல செல்களுக்கோ சில செயலை தொடர்ந்து செய்ய வேண்டியிருக்கும்.  அம்மாதிரியான நேரங்களில் சில LOOP களை பயன்படுத்த வேண்டும்.  அதில் ஒன்று FOR ......NEXT. கட்டமைப்பு.

FOR COUNTER = START TO END (STEP INCREMENT)
     STATEMENTS
NEXT (COUNTER)



தொடரும்........