Total Pageviews

Tuesday, June 15, 2021

My freelance work - Subhajit Debnath

“Desktop end single user software for maintaining Cash Book.”


Description: Cashbook pro helps to keep track of all the cash transactions. It records user info and time of all transactions made in the software to track any unauthorized modification and a single user access was incorporated to keep it secure. Scheduled automatic backup of the database to a secure location. Project duration: 2 months. Team size: 1 (single contributor).

My roles and responsibilities:

  • Requirements gathering from client and office accountant
  • Design and share wireframes of tool UI and Cash Book Report Design on paper
  • Build software using VB .NET, MS SQL and MS Reporting
  • Onsite deployment of software for unit testing and system integration testing
  • Providing training for office users and support in case of report generation

--  Want to know more about it?


====================================================================

“Desktop end multi user software for maintaining Stock Book.”

Description: Stock book pro is developed to track purchase and distribution of all critical inputs of the organization. Multi User interface designed to allow access to different users from multiple departments. Also, records user details and access time to track all changes. Administrative privilege to users of administrator domain and minimized features to normal users from other domains. Provision for database backup and restore. Project duration: 1 month. Team size: 1 (single contributor).

My roles and responsibilities:

  • Understand client requirement and the purpose of the required software
  • UI design using wireframe diagrams on paper
  • Solution development using VB .net, MSSQL and MS Reporting
  • Deployment of software on client systems for beta testing
  • Further enhancements done based on change request before releasing software
  • Unit Testing, Integration testing and System testing of the enhancements
  • Conduct user acceptance testing with stakeholders
  • Provide training to users and sharing software user manual

-- Want to know more about it?

-- Fork the repository


====================================================================

“Standalone software for generating earthwork Estimate.” 

Description: Software to compute the construction cost of rain water harvesting structure and generating estimate reports. The generated report contains engineering dimensions and diagrams for construction work as well as costing details of all activities. Project duration: 2 months. Team size: 1 (single contributor).

My roles and responsibilities:

  • Understand the concepts of estimation and costing associated with excavation work from department civil engineer
  • Creating user intuitive design, interactive data entry provision and summary report design
  • Solution development using VB .NET, MS SQL and MS Reporting
  • Onsite deployment of s/w solutions and implementation of change request
  • Unit testing, system testing and integration testing of the enhancements
  • Conducted user acceptance tests with end users

-- Want to know more about it?

-- Fork the repository


====================================================================

“Account management software for Regional Office” 

Description: The software tracks the inflow and outflow of funds from their shareholders and generation of account statements for them. Also maintains a record of loans sanctioned to customers. Scheduled automatic backup of the database to a secure location. Project duration: 20 days

My roles and responsibilities:

  • Requirement understanding and clarification with internal and external stake-holders
  • Creating Design Documents, Interface Documents and Deployment plans
  • Solution design and development of the requirement VB.NET, MS SQL and MS Reporting
  • Unit testing and System testing
  • Providing Support and Maintenance of the software

====================================================================



Monday, November 5, 2018

Cell Selection of Contiguous Data


















Select the Last Cell of a Column of Contiguous Data

To select the last cell in a contiguous column D, use the following example:

ActiveSheet.Range("D1").End(xlDown).Select



Select the Blank Cell at Bottom of a Column of Contiguous Data

To select the cell below a range of contiguous cells, use the following example:

ActiveSheet.Range("E1").End(xlDown).Offset(1,0).Select



Select an Entire Range of Contiguous Cells in a Column

To select a range of contiguous cells in a column, use one of the following examples:

ActiveSheet.Range("B1", ActiveSheet.Range("B1").End(xlDown)).Select

   -or-

    End(xlDown).Address).Select

   -or-

   End(xlUp).Address).Select

   ActiveSheet.Range("A1").End(xlDown).End(xlToRight)).Select

   -or-

   ActiveSheet.Range("A1").End(xlDown).End(xlToRight).Address).Select

lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select

    -or-

lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & ActiveSheet.Cells(lastRow, lastCol).Address).Select


When this code is used with the sample table, cells A1 through A4 will be selected.

How to Select an Entire Range of Non-Contiguous Cells in a Column

To select a range of cells that are non-contiguous, use one of the following examples:

ActiveSheet.Range("A1",ActiveSheet.Range("A<lastRowInSheet>").End(xlUp)).Select


ActiveSheet.Range("A1:" & ActiveSheet.Range("A<lastRowInSheet>"). _


How to Select a Rectangular Range of Cells

In order to select a rectangular range of cells around a cell, use the CurrentRegion method. The range selected by the CurrentRegion method is an area bounded by any combination of blank rows and blank columns. The following is an example of how to use the CurrentRegion method:

ActiveSheet.Range("A1").CurrentRegion.Select

In some instances, you may want to select cells A1 through C6. The following examples will select all of the cells:

lastCol = ActiveSheet.Range("a1").End(xlToRight).Column

lastCol = ActiveSheet.Range("a1").End(xlToRight).Column

Saturday, October 27, 2018

SCOPE OF ON ERROR... STATEMENT

















The effect of ON ERROR ... ends as soon as one of the following is encountered:
  1. Another ON ERROR .... (Maybe in the form of ON ERROR RESUME x or ON ERROR GOTO x)
  2. Exit Sub / Exit Function within the same sub/function where defined.
  3. End Sub / End Function of the sub/function where defined.
IS IT BAD TO USE ON ERROR RESUME NEXT?
Yes and No.
Don't use without knowing what the effect of this statement would be. Avoid if possible. Keep the scope short wherever not possible.
To nullify the effect of an ON ERROR RESUME NEXT statement, you can call ON ERROR GOTO 0

How to Select the Intersection of Two or More Specified Ranges






















To select the intersection of the two named ranges "Address" and "Contact," you can use the following example:

Application.Intersect(Range("Address"), Range("Contact")).Select

Note that both ranges must be on the same worksheet for this example to work.

How to Select the Union of Two or More Specified Ranges





















To select the union (that is, the combined area) of the two named ranges "Address" and "Contact," you can use the following example:

Application.Union(Range("Address"), Range("Contact")).Select

Note that both ranges must be on the same worksheet for this example to work. Union method does not work across sheets. For example, this line works fine

Set y = Application.Union(Range("Sheet1!E5:F6"), _   Range("Sheet1!I9:J10"))

but this line

Set y = Application.Union(Range("Sheet1!E5:F6"), _   Range("Sheet2!I9:J10"))

returns the error message:
Union method of application class failed

How to Select a Specified Range, Offset It, and Then Resize It






















To select a range six rows below and six columns to the right of the named range "Address" and include three rows and three column more than the named range, you can use the following example:

Range("Address").Select
Selection.Offset(6, 6).Resize(Selection.Rows.Count + 3, Selection.Columns.Count + 3).Select

How to Select a Specified Range and Resize the Selection





















To select the named range "StudentDetails" and then extend the selection by six rows, you can use the following example:

Range("StudentDetails").Select
Selection.Resize(Selection.Rows.Count + 6,Selection.Columns.Count)_

    .Select

How to Select a Range of Cells Offset from a Specified Range





















To select a range of cells that is the same size as the named range "NewRecords" but that is shifted six rows down and six columns to the right, you can use the following example:

ActiveSheet.Range("NewRecords").Offset(6, 6).Select

If the named range is on another (not the active) worksheet (Sheet6), activate that worksheet first, and then select the range using the following example:

Sheets("Sheet6").Activate
ActiveSheet.Range("NewRecords").Offset(6, 6).Select

How to Select a Cell Relative to Another (Not the Active) Cell





















To select a cell that is six rows below and six columns to the right of cell F6, you can use either of the following examples:

ActiveSheet.Cells(6, 6).Offset(6, 6).Select
ActiveSheet.Range("F6").Offset(6, 6).Select

How to Select a Cell Relative to the Active Cell

















To select a cell that is three rows below and three columns to the left of the active cell, you can use the following example:

ActiveCell.Offset(3, -3).Select

To select a cell that is six rows above and six columns to the right of the active cell, you can use the following example:

ActiveCell.Offset(-6, 6).Select


Note An error will occur if you try to select a cell that is "off the worksheet." The first example shown above will return an error if the active cell is in columns A through C, since moving three columns to the left would take the active cell to an invalid cell address.

How to Select a Named Range on a Worksheet in a Different Workbook

















To select the named range "Records" on a worksheet (Sheet 5) in a different workbook (NewBook.xlsx), you can use the following example:

Application.Goto Workbooks("NewBook.xlsx").Sheets("Sheet5").Range("Records")

Or, you can activate the worksheet, and then use method 7 above to select the named range:


Workbooks("NewBook.xlsx").Sheets("Sheet5").Activate
Range("Records").Select

How to Select a Named Range on Another Worksheet in the Same Workbook
















To select the named range "Records" on another worksheet (Sheet2) in the same workbook, you can use the following example:

Application.Goto Sheets("Sheet2").Range("Records")

Or, you can activate the worksheet, and then use method 7 above to select the named range:


Sheets("Sheet2").Activate
Range("Records").Select

Thursday, October 25, 2018

How to Select a Named Range on the Active Worksheet



















To select the named range "StudentDetails" on the active worksheet, you can use either of the following examples:

Range("StudentDetails").Select

Application.Goto "StudentDetails"

How to Select a Range of Cells on a Worksheet in a Different Workbook




















To select the range E5:J10 on a worksheet (Sheet5) in a different workbook (Book5.xlsx), you can use either of the following examples:

Application.Goto Workbooks("BOOK5.xlsx").Sheets("Sheet5").Range("E5:J10")

Application.Goto Workbooks("BOOK5.xlsx").Sheets("Sheet5").Range("E5", "J10")

Or, you can activate the worksheet, and then use method 4 above to select the range:

Workbooks("BOOK5.xlsx").Sheets("Sheet5").Activate
ActiveSheet.Range(Cells(5, 5), Cells(10, 10)).Select

How to Select a Range of Cells on Another Worksheet in the Same Workbook



















To select the range E5:J10 on another worksheet (Sheet5) in the same workbook, you can use either of the following examples:

Application.Goto ActiveWorkbook.Sheets("Sheet5").Range("E5:J10")
Application.Goto ActiveWorkbook.Sheets("Sheet5").Range("E5", "J10")

Or, you can activate the worksheet, and then use method 4 above to select the range:

Sheets("Sheet5").Activate
ActiveSheet.Range(Cells(5, 5), Cells(10, 10)).Select