Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to auto number merged cells in Excel?

How could we fill series numbers into a list of different size merged cells in Excel? First in our mind is to drag the Autofill handle to fill the merged cells, but, in this case, we will get the following warning message, and can’t fill the merged cells.

doc-fill-merged-cells-1

Since the fill handle does not support the merged cells, here, I can talk about some other tricks for solving this problem.

Auto number / fill merged cells with VBA code

Office Tab Enable Tabbed Editing and Browsing in Office, and Make Your Work Much Easier...
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
  • Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
  • More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
  • Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
  • Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
  • Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
  • Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
  • More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.

arrow blue right bubble Auto number / fill merged cells with VBA code


The following VBA code can help you to number the selected merged cells quickly. Please do as follows:

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Auto number merged cells

Sub NumberCellsAndMergedCells()
	'Update 20141028
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId = "KutoolsforExcel"
	Set WorkRng = Application.Selection
	Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng = WorkRng.Columns(1)
	xIndex = 1
	Set Rng = WorkRng.Range("A1")
	Do While Not Intersect(Rng, WorkRng) Is Nothing
		Rng.Value = xIndex
		xIndex = xIndex + 1
		Set Rng = Rng.MergeArea.Offset(1)
	Loop
End Sub

3. Then press F5 key to run this code, and a prompt box will pop out to let you select the merged cells you want to fill, see screenshot:

doc-fill-merged-cells-1

4. After selecting the merged cells, and click OK, now, your selected merged cells have been filled with sequential numbers, see screenshot:

doc-fill-merged-cells-1


Related articles:

How to auto number or renumber after filter in Excel?

How to quickly merge adjacent rows with same data in Excel?

How to unmerge cells and fill with duplicate values in Excel?


Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom

 

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Robin · 1 years ago
    Is there a way to exclude a merged cell that has text in it? This script works perfectly but I'm traversing a document that includes several horizontally merged cells that are made into title bars and I want to skip over/exclude those. Any help would be greatly appreciated!
  • To post as a guest, your comment is unpublished.
    piyush · 1 years ago
    This code is working perfectly.


    Sub NumberCellsAndMergedCells()
    'Update 20141028
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
    Set WorkRng = WorkRng.Columns(1)
    xIndex = 1
    Set Rng = WorkRng.Range("A1")
    Do While Not Intersect(Rng, WorkRng) Is Nothing
    Rng.Value = xIndex
    xIndex = xIndex + 1
    Set Rng = Rng.MergeArea.Offset(1)
    Loop
    End Sub


    BUT i want it to select range automatically instead of Set WorkRng = Application.Selection.
    Please help.
  • To post as a guest, your comment is unpublished.
    IVAN MARDEN · 1 years ago
    I purchased the Kutools so it would help me auto increment my invoice numbering but I am not seeing that feature in the add-in on the Excel tool bar. Maybe I'm not looking for the correct name but I am not finding how to insert this into my invoice template. Any out there
  • To post as a guest, your comment is unpublished.
    CD · 2 years ago
    Hi,

    was wondering if there is anyway to alter the code where the range value will increase by one e.g. I am trying to use this for invoices and the number should go from NR000026489 to NR000026490, but using the code above with the modification given to JYOTHI it would increase from NR000026489 to NR0000264810.
    Any help would be greatly appreciated as I've spent ages trying different things but am not advanced enough in VB.

    Thanks very much :)
  • To post as a guest, your comment is unpublished.
    Nrv · 3 years ago
    Modify:

    Do While Not Intersect(Rng, WorkRng) Is Nothing
    a = xIndex
    Rng.Value = "Tc_" & a
    xIndex = xIndex + 1
    Set Rng = Rng.MergeArea.Offset(1)
    Loop
  • To post as a guest, your comment is unpublished.
    Jyothi · 4 years ago
    It is very helpful.
    but I need one solution, suppose I want to fill series into merged cells but the content of merged cell have data like TC_01,
    Is it possible to fill next merged cells like TC_02, TC_03etc..
    If its possible it helps me a lot.
    Thanks in advance.
  • To post as a guest, your comment is unpublished.
    LR · 4 years ago
    This was really helpful and solved my problem immediately, thank you very much!