User Posts: Naimul Hasan Arif
0

## [Fixed!] Excel Not Responding When Deleting Rows (4 Possible Solutions)

In times of deleting too many rows at a time, it is not impossible that Excel will not respond when deleting rows. As it is not an uncommon problem, its ...

0

## [Fixed!] Unable to Open Excel Files Directly by Clicking on the File Icon

It is not a super surprise that we are unable to open Excel Files directly by clicking on the File icon. This issue can be solved in almost 7 possible ways. ...

0

## How to Protect Excel Sheet from Editing (7 Smart Ways)

Protection is a must for valuable data from unauthorized editing. We can protect Excel Sheet from editing. Here, We are going to discuss how to protect Excel ...

0

## How to Undo Changes in Excel after Save and Close (2 Easy Methods)

It is not impossible that we might be in need of restoring the previous version of our worksheet after saving and closing it. For that, We have to undo changes ...

0

## Types of Toolbars in MS Excel (All Details Explained)

MS Excel is a software program that is used to create spreadsheets. It helps the users to format, organize and calculate data using different types of toolbars ...

0

## How to Replace Text with Carriage Return in Excel (4 Smooth Approaches)

For the fabrication of information, We can use Carriage Return. It means to return the beginning of the next line in the same cell. Here, We are going to ...

0

## How to Calculate Time Difference in Numbers (5 Easy Ways)

Sometimes we are in need to calculate time difference(s) in numbers for various purposes. In this article, we are going to discuss some easy ways of it. For ...

0

## How to Make a Correlation Matrix in Excel (2 Handy Approaches)

A Correlation Matrix is nothing but a table that represents the related coefficients for different variables. I will try to show some suitable ways to make a ...

0

## How to Calculate Weighted Average Price in Excel (3 Easy Ways)

Weighted Average is one kind of average that includes the varying degrees of importance of numbers in a dataset. In order to calculate weighted average price ...

0

## How to Link Excel Sheets to Another Sheet (5 Ways)

Our workloads can be easily reduced if we can link Excel sheets to another sheets inspite of doing the same things again and again. In this article, Iâ€™m going ...

0

## How to Add Currency Symbol in Excel (6 Ways)

As all currencies are not evaluated equally, sometimes it becomes a crying need to remark values with their currencies. In this article, Iâ€™m going to explain ...

0

## How to Use Excel VBA to Format Number in Decimal Places (6 Ways)

At times of working with Excel, We have the freedom to choose our number format. We can use Excel VBA to Format number(s) in decimal places. For more ...

0

## [Solved!] Names Not in Name Manager in Excel (2 Solutions)

In terms of working with Excel, sometimes we can not find Excel Names in Name Manager. Let me go through some basic definitions before going through the ...

0

## How to Find Last Non Blank Cell in Row in Excel (5 Methods)

It is not a matter of astonishment that we might face the requirement to find last non blank cell in row in Excel. Here, we will try to sort out some smooth ...

0

## How to Use Formula for Past Due Date in Excel (3 Methods)

In times of data sorting, we sometimes face the necessity of finding past due date. From this article, you will know about Excel formula for past due date. ...

Browsing All Comments By: Naimul Hasan Arif
Naimul Hasan Arif Jul 19, 2022 at 3:59 PM

Hello MARIA, thanks for the comment and sorry for my late reply.
In the LOOKUP function, the first argument is Lookup_value. I have typed 2 just to signify the NUMBER format. You can type any number. It will work just fine.

Naimul Hasan Arif Aug 25, 2022 at 3:53 PM

I think so many people are facing the same problem of applying the code in a range of cells. In our article, the VBA code that we have shown only works for a fixed cell. So, I am going to give you guys a slightly modified VBA code that will work for a range of cells( i.e. entire D column).

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Oldvalue As String
Dim Newvalue As String
Dim mn As Range, pq As Range
On Error GoTo Exitsub
Set mn = Range(“D:D”)
For Each pq In mn
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = “” Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = “” Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & “, ” & Newvalue
End If
End If
Next pq
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub

Naimul Hasan Arif Aug 25, 2022 at 4:52 PM

As the scale is different for each row, you can apply conditional formatting separately on each row with different colors. I hope that’s the simplest way to do so.

Naimul Hasan Arif May 28, 2023 at 12:41 PM

Dear TURAN,
Thanks for your valuable comment. That was an honest mistake from me. I have updated the error. I have also modified the code as I have found a simpler way to perform the same task.

Best Regards,
Naimul Hasan Arif

Naimul Hasan Arif May 21, 2023 at 12:22 PM

Thanks for your valuable suggestion. I have considered the suggestion and updated the article.
Regards,
Naimul Hasan Arif

Naimul Hasan Arif May 7, 2023 at 12:20 PM

Hello JENELLE CASTRO,

Thanks for your question. If you have the same password in all the files placed in a certain folder, you can apply the following VBA code.

``````Sub UnProtect_Multiple_Files()
Dim FName As String
Dim Path As String
Dim FSearch As String

Path = "C:\Users\Dell\Desktop\Arif\Update\"
FSearch = "*.xls"
FName = Dir(Path & FSearch)
Do While FName <> ""
Workbooks.Open FileName:=Path & FName
Workbooks(FName).UnProtect "1234"
Workbooks(FName).Save
Workbooks(FName).Close
FName = Dir()
Loop
End Sub``````

Make necessary adjustments in the code in the Path and Password sections. I hope this is the solution which you are looking for.

Regards,
Naimul Hasan Arif

Naimul Hasan Arif May 2, 2023 at 4:26 PM

Dear PA,
Thanks for your appreciation and valuable question. If you want to have 3 winners without repetition, you can follow the following procedure.

Create a column with random values using the following formula.
=RAND()

Then, apply the formula mentioned below in another column to rank the random values.
=RANK(D5,D5:D14)

Now, Insert the following formula where you want to have the winners’ names.
=XLOOKUP(C17:C19,E5:E14,C5:C14)

and pressÂ EnterÂ to have multiple winners.

I hope this is what you are looking for.

Best regards,
Naimul Hasan Arif

Naimul Hasan Arif May 2, 2023 at 3:05 PM

In order to apply the number to words conversion in all worksheets of a particular workbook., you can create a function and place it in a module. As you have created a function in a module, it will be available in all worksheets of that particular workbook.

Like I have created a module and a function named number_converting_into_words with the following VBA code.

``````Function number_converting_into_words(ByVal MyNumber)
Dim x_string As String
Dim whole_num As Integer
Dim x_string_pnt
Dim x_string_Num
Dim x_pnt As String
Dim x_numb As String
Dim x_P() As Variant
Dim x_DP
Dim x_cnt As Integer
Dim x_output, x_T As String
Dim x_my_len As Integer
On Error Resume Next
x_P = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
x_numb = Trim(Str(MyNumber))
x_DP = InStr(x_numb, ".")
x_pnt = ""
x_string_Num = ""
If x_DP > 0 Then
x_pnt = " point "
x_string = Mid(x_numb, x_DP + 1)
x_string_pnt = Left(x_string, Len(x_numb) - x_DP)
For whole_num = 1 To Len(x_string_pnt)
x_string = Mid(x_string_pnt, whole_num, 1)
x_pnt = x_pnt & get_digit(x_string) & " "
Next whole_num
x_numb = Trim(Left(x_numb, x_DP - 1))
End If
x_cnt = 0
x_output = ""
x_T = ""
x_my_len = 0
x_my_len = Int(Len(Str(x_numb)) / 3)
If (Len(Str(x_numb)) Mod 3) = 0 Then x_my_len = x_my_len - 1
Do While x_numb <> ""
If x_my_len = x_cnt Then
x_T = get_hundred_digit(Right(x_numb, 3), False)
Else
If x_cnt = 0 Then
x_T = get_hundred_digit(Right(x_numb, 3), True)
Else
x_T = get_hundred_digit(Right(x_numb, 3), False)
End If
End If
If x_T <> "" Then
x_output = x_T & x_P(x_cnt) & x_output
End If
If Len(x_numb) > 3 Then
x_numb = Left(x_numb, Len(x_numb) - 3)
Else
x_numb = ""
End If
x_cnt = x_cnt + 1
Loop
x_output = x_output & x_pnt
number_converting_into_words = x_output
End Function``````

Now, you can call the function in all worksheets of that particular workbook in the following way and have your number converted into words.

Naimul Hasan Arif

Naimul Hasan Arif May 2, 2023 at 12:48 PM

Dear S. NARASIMHAN,
Thanks for your valuable comment. No, you do not need to pay any amount of dollars to have your question answered.

To clarify your query, I have considered a case where I haveÂ Product NameÂ inÂ B5:B9Â but their sales value is in different columns in 3 different sheets. For sheet named January, the sales amount is inÂ D5:D9Â and forÂ February &Â MarchÂ sheets, the sales amounts are in E5:E9Â & G5:G9. Followingly,Â I have applied the following formula to find the total sales value ofÂ iPhone.

`=SUM(VLOOKUP(D12,\$B\$5:\$D\$9,{3},FALSE),VLOOKUP(B5,February!\$B\$5:\$E\$9,{4},FALSE),VLOOKUP(B5,March!\$B\$5:\$G\$9,{6},FALSE))`

Here,Â D12Â refers to the product name which is to look for in theÂ Product NameÂ column, and return output from SalesÂ to have the summation. As you can see in the formula, I have used {3},Â {4}, andÂ {6}Â to define the column having sales amount referring to the first column of the look-upÂ range as 1.
I hope you have your desired output from the above discussion.

Naimul Hasan Arif

Naimul Hasan Arif Apr 12, 2023 at 4:29 PM

Dear LUIS FERNANDO,
Thanks for the appreciation. Also big thanks to you for sharing your insights on the query of CHRISTOFER.

In response to your purpose, I have considered a case where I will have a drop-down with the names of the writers. Based on the writer selection, his books will appear in another drop-down just below the cell of the writer’s name.

I have assigned the following code in a button where I will have writers’ names without repetition under Uniquelist column.Â  I have created a drop-down in cellÂ C14Â with those values. Similarly, I have sorted the matched books under Sorted Books column with the writer’s name in C14.

``````Sub Uniquelist()

Set Rng = Range("B4:B11")
Set Rng2 = Range("E4")

Rng2.Cells(1, 1).Value = Rng.Cells(1, 1)
Count = 1

For i = 2 To Rng.Rows.Count
Found = False
For j = 1 To Rng2.Rows.Count
If Rng.Cells(i, 1).Value = Rng2.Cells(j, 1) Then
Found = True
Exit For
End If
Next j

If Found = False Then
Set Rng2 = Range(Cells(4, 5), Cells(4 + Count, 5))
Cells(4 + Count, 5) = Rng.Cells(i, 1)
Count = Count + 1
End If

Next i

With Range("C14").Validation
.Delete
Operator:=xlBetween, Formula1:="=\$E\$4:\$E\$6"
End With

Range("\$E\$13:\$E\$15").ClearContents

n = 0
For i = 1 To Rng.Rows.Count
If Rng.Cells(i, 1) = Cells(14, 3).Value Then
Cells(13 + n, 5) = Rng.Cells(i, 2)
n = n + 1
End If
Next i

With Range("C15").Validation
.Delete
Operator:=xlBetween, Formula1:="=\$E\$13:\$E\$15"
End With

End Sub``````

Now, select a writer name from drop-down and click onÂ SortÂ button. You will have the related books’ name in the following drop-down and choose a book according to your preference.

Naimul Hasan Arif Apr 5, 2023 at 4:25 PM

Thanks a lot OSCAR APPELGREN for your questions.
In response to your first question to have matched rows entirely in the drop-down, it is not possible in Excel. A standard drop-down list in Excel does not support multiple rows of data.
If you want to filter multiple rows based on single or multiple criteria, you better use the FILTER function. It is not applicable to the older Excel version. It helps you to extract multiple matched rows quite easily than INDEX-MATCHÂ functions.

According to your requirements to extract matched rows based on single criteria (i.e. year 2025), I have used the following formula which works pretty well.

=FILTER(B3:E17,D3:D17=H4)

And, for sorting rows with multiple criteria, you just need to use the asterisk sign(*) and insert the other condition.

=FILTER(B3:E17,(D3:D17=H4)*(E3:E17=H5))

Naimul Hasan Arif Apr 5, 2023 at 12:02 PM

Thanks a lot BABALOLA for the appreciation. It means a lot.
In response to your first question, let me break down the whole formula with IFERROR, INDEX, MATCH & SUMÂ and explain it to you.

The first part of the formula here is IFERROR(INDEX(Jan!AH\$9:AH\$13,MATCH(\$B10,Jan!\$B\$9:\$B\$13,0)),0)
First of all the MATCH function looks through the value in range B9:B13 of Jan sheet whether it matches the value in cell B10. If it gets matched, it will return the related value according to the index from the AH9:AH13 range. The IFERROR Function is used to return a value(i.e. 0) if it can not find any proper value to return.
Similarly, I have gone through all 12 months’ sheets and added them with the SUM function.

In response to your second question, theÂ &Â sign is used to concatenate cell AH\$8 with the letter H. As it is considered a half match, 0.5Â is multiplied. We have considered two half-matches to have the full match count.

Naimul Hasan Arif Apr 5, 2023 at 10:26 AM

Thank you PETE BAGALAYOS for your comment.
Yes, the change persists. Once you convert a variable from string to long, it remains in the long format. Well, if you need the string format, you will have to convert it from long to string again.

Naimul Hasan Arif Mar 9, 2023 at 5:35 PM

Dear SRECKO SELENDIC,
Thanks for your appreciation. It means a lot. In order to set sheet names based on cell reference, we can use a For loop along with Worksheets.name property. Here, I have written a code to split sheet and rename sheet split sheet keeping the main sheet name unchanged. Follow the following code to do so.

``````Sub SplitSheet()
Dim Rng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xSheet As Worksheet
On Error Resume Next
xTitleId = "ExcelSplit"
Set Rng = Application.Selection
Set Rng = Application.InputBox("Range", xTitleId, Rng.Address, Type:=8)
SplitRow = Application.InputBox("Row Number Split", xTitleId, 5, Type:=1)
Set xSheet = Rng.Parent
Set xRow = Rng.Rows(1)
Application.ScreenUpdating = False
For i = 1 To Rng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (Rng.Rows.Count - xRow.Row + 1) < SplitRow Then resizeCount = Rng.Rows.Count - xRow.Row + 1
xRow.Resize(resizeCount).Copy
Application.ActiveSheet.Range("A1").PasteSpecial

For j = 2 To Worksheets.Count
Worksheets(j).Name = "DE" & j - 1
Next j

Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub``` ```

The output will be like the following image.

Naimul Hasan Arif Mar 1, 2023 at 5:14 PM

Dear JEFF,
Thanks for your comment. Here, the first method not only makes Excel full-screen but also hides the title bar along with tabs and ribbons.

The other methods also make Excel full-screen along with hiding tabs and ribbons but can’t manage to hide the title bar.

Naimul Hasan Arif Mar 1, 2023 at 5:12 PM

Hello Mark,
Glad to hear from you. There might be one of several reasons for not having the desired output. If the file is corrupted, protected, or scanned, there will be problem in extracting data. It will be helpful for me to specify the problem if you could send me the file and the code at [email protected].

Naimul Hasan Arif Mar 1, 2023 at 3:19 PM

Hello QUAN,
Thanks for your question. Here, {2,3} defines the cell number of the defined range B5:D10. 2 defines the row number and 3 defines the column number. Setting B5 as the base point and moving two rows and three columns, we will have the D6 cell which is expressed here with {2,3}.

Naimul Hasan Arif Jan 23, 2023 at 2:54 PM

Thanks for your appreciation. It means a lot.
To solve your problem, I will suggest you to change your separator from Control Panel. I hope it’ll solve the separator problem.

Naimul Hasan Arif Jan 18, 2023 at 11:43 AM

Thank you very much CHARLES DARWALL for your comment. The replies to your 2 problems isÂ  mentioned below:
In my case, the VBA works quite fine. Here, I have KentuckyÂ as the last member in theÂ States ListÂ column which is also the last member in the drop-down in cellÂ B13.

Now, I have removedÂ KentuckyÂ as the last value in theÂ States ListÂ column. So,Â NevadaÂ is now the last value in theÂ States ListÂ column which is also the last value in the drop-down.

After that, I have addedÂ Washington D.C.Â as the latest last member which has also been updated automatically in cell B12.

On the topic of your second question about being able to add a state in row 15 even if C is empty is because I have selected the rangeÂ B5:B15Â to add the drop-down list with the values in States List.

Naimul Hasan Arif Dec 20, 2022 at 6:00 PM

Hello BHAVNESH,
Have a look at Article 1Â and Article 2. I hope it will help you to meet your desire.

Naimul Hasan Arif Dec 19, 2022 at 5:05 PM

In general, a new row is inserted above the selected cell when we use the insert command in VBA. In order to insert a new row/line, we need to modify the code. You can use the following code to do so.

``````Sub InsertEntireRow()
Selection.Offset(1, 0).EntireRow.Insert
End Sub``````
Naimul Hasan Arif Dec 19, 2022 at 11:04 AM

Normally additional information associated with Barcode is connected through a centralized dataset. When a UPC (Universal Product Code) code is scanned, the scanner sends the code to a server, which looks up the corresponding information in the database and sends it back to the scanner. In other cases like QR codes, the additional information might not be stored in a centralized dataset. QR codes can encode a URL that will take you to the related information regarding the product through scanning.

Naimul Hasan Arif Dec 12, 2022 at 11:23 AM

Thank you CARLOS for your concern.
As far as I am concerned I have followed the proper calculation process. There is an output difference between the arithmetic mean and the value using GEOMEAN. That’s the reason I think for the variation between the results. For further queries, you can contact [email protected].

Naimul Hasan Arif Dec 11, 2022 at 12:34 PM

Hello VULSTA KUZENA,
Thanks for your comment. In my case, the code runs just perfect. I have not got any error message. There might have some extra characters in that place. You can try it or send me the file to [email protected] to let me have a try.

Naimul Hasan Arif Nov 30, 2022 at 2:56 PM

Hello DAMON,
The process should work perfectly. It would be very helpful for me if you could just send me the file to give it a try.

Naimul Hasan Arif Nov 30, 2022 at 10:53 AM

Hello JACKIE,
Thanks for your comment. If we use these formulae, it will generate the date from that device (PC/Laptop/Mobile). So, check the date of your device first.
I think it will solve your problem.

Naimul Hasan Arif Nov 20, 2022 at 4:57 PM

Thanks SARAH for your comment and appreciation.
You can use the following VBA code with necessary changes to apply your code.

Sheets(“sheet1”).Range(“B7:E7”).Copy Sheets(“sheet3”).Range(“B9:E9”)
End Sub

Naimul Hasan Arif Nov 20, 2022 at 11:23 AM

Hello Darko,
Thanks for your valuable comment. This problem should not occur if the values are generated within Excel. However, This problem might happen if you copy and paste data from the web pages. In that case, there might have some non-printable characters which are preventing you from sorting data.
To check if there are any non-printable characters, use the LEN function to have the length of those cells.
If they are not giving proper output, apply the following formula to remove the non-printable characters.
=CLEAN(A1)*1
After that, I hope the Sort function will work perfectly.

Naimul Hasan Arif Nov 15, 2022 at 12:45 PM

If you look at our method 5, we have tried to apply conditional formatting based on a certain condition. The value was fixed all along the applied range.

Naimul Hasan Arif Nov 15, 2022 at 10:42 AM

Definitely possible. You just need to follow the following procedures to do so.
After selecting the entire dataset, go to the InsertÂ tab. Followingly, click on Filled MapÂ from theÂ MapsÂ option and you will have your desired output.

Naimul Hasan Arif Nov 10, 2022 at 1:57 PM

The most important think here is to be careful about the code range. Input the range in the code according to your dataset.
For more simplification, you can try the following code where the code runs in range B3:B12 and sorts the values in the Ascending order.

Private Sub AutoSort(ByVal Target As Range)
If Not Intersect(Target, Range(“B:B”)) Is Nothing Then
End If
End Sub

I hope it’ll run perfectly.

Naimul Hasan Arif Nov 10, 2022 at 11:40 AM

A few factors might play a vital role in your problem.
1. As the file contains VBA code, the file must be saved in “.xlsm” format.
2. Don’t forget to change the ranges in your code. I have applied the code in D column. So, it’ll only be applicable in the D column.

Naimul Hasan Arif Nov 7, 2022 at 11:31 AM

Hi ISE. Thanks for your comment. Actually the date format is defined from the Number format. You can choose your date format from Number Format under the Home tab. There is no need to add VBA code to define date format.

Naimul Hasan Arif Nov 7, 2022 at 10:41 AM

Thank you AHAMED for your query.
For the explanation on how to mail merge Excel to Excel, you can check the following link:
https://www.exceldemy.com/mail-merge-from-excel-to-excel/
I hope it will fulfill your need.

Naimul Hasan Arif Nov 6, 2022 at 5:57 PM

Thanks for your appreciation. The solutions mentioned here should work perfectly. It would be helpful for us if you could kindly send the template. It would let us give a try.

Naimul Hasan Arif Nov 6, 2022 at 4:16 PM

Thanks for your comment. Look, I have used the following formula to Find If A Range of Cells Contains Specific Text in Excel.

=COUNTIF(B5:B19,”*”&D5&”*”)>0

Here, I have just mentioned the rangeÂ B5:B19. So, in this way, it is not mandatory to know the exact row where Winter is ComingÂ is written.

Naimul Hasan Arif Oct 11, 2022 at 7:32 PM

Actually, there is just a little mistake in the code. Instead of writingÂ B5:B, it’s been writtenÂ B5:B10. This correction has worked perfectly for me.

You can submit more problems to us at [email protected]. Regards!

Naimul Hasan Arif Oct 10, 2022 at 5:11 PM

It’s kind of a complicated task to filter specific data from certain cells of different worksheets with certain condition. I have tried a possible simple solution to pull data from different sheets into one sheet usingÂ FILTERÂ function.I have used the following dataset for filtering the rows havingÂ GellerÂ asÂ Last NameÂ and replace theÂ GellerÂ word with blank.

I have used the following formula to fulfill the purpose.

=FILTER(IF(Dataset!B4:J17=”Geller”,””,Dataset!B4:J17),Dataset!C4:C17=”Geller”)

For further information related to Excel, you can send message via email. email id: [email protected]Â

Naimul Hasan Arif Oct 3, 2022 at 5:12 PM

According to your requirements, you wanted to display the last 3 months’ data by a graph. You can follow the following procedure where I have tried to give you a simple solution that will help you display the last 3months’ data by graphical representation..

Create a new column, input the following formula in the 1st cell of that column andÂ AutoFillÂ till the cell you need. This additional column will define with numerical value the last 3 rows containing data.

=IF(AND(D4>0,ISBLANK(D5)),1,IF(B5=1,2,IF(B5=2,3,””)))

Next, create aÂ Pivot TableÂ with Months as Filters, Last 3 Months as Axis, and Sum of Product 1, Sum of Product 2, and Sum of Product 3 as Values.

Now, choose your preferred graphical representation format to display the last 3 months’ data.

Note: Don’t forget to refresh theÂ Pivot TableÂ after inserting the new month’s data. Otherwise, the graph won’t get updated. Alternatively, you can useÂ Auto Update Pivot Table to lessen your hustle.

Naimul Hasan Arif Sep 25, 2022 at 3:25 PM

Thanks for sharing your valuable thoughts.

Naimul Hasan Arif Sep 25, 2022 at 2:46 PM

You can apply a formula combining VALUE and RIGHT functions to get the last 4 digits.
For example- you can use the following formula to get the last 4 digits of cell C5.
=VALUE(RIGHT(C5,4))
After that, apply the COUNT function to count the number of cells in that column.
I hope you wil get what you are looking for.

Naimul Hasan Arif Sep 25, 2022 at 10:38 AM

There is social media connection link in the introduction section about author. You can send message there.

Naimul Hasan Arif Sep 4, 2022 at 2:11 PM

Thanks for the appreciation.
In my case, it works just fine. It is very tough for me to give a solution without analyzing your code related to the dataset. It would be helpful for me if you could provide me your code.

Naimul Hasan Arif Sep 4, 2022 at 1:01 PM

Use of “for loop” function is a very simple approach for this purpose. You can use the following code to merged the defined cells to 100 tabs. Based on your sheets, you just need to change the value of “i” in the code.

Option Explicit
Public Sub FitTheMergedCells()
Call MergedCellsAutoFit(Range(“B5:C6”))
Call MergedCellsAutoFit(Range(“B7:C8”))
Call MergedCellsAutoFit(Range(“B9:C11”))
Call MergedCellsAutoFit(Range(“B12:C12”))
End Sub
Public Sub MergedCellsAutoFit(gg As Range)
Dim aa As Integer
Dim bb As Integer
Dim cc As Single
Dim dd As Single
Dim ee As Single
Dim ff As Single
Dim i As Integer
For i = 1 To 100
With Sheets(“Sheet” & i)
cc = 0
For bb = 1 To gg.Columns.Count
cc = cc + .Cells(1, gg.Column + bb – 1).ColumnWidth
Next bb
cc = .Cells(1, gg.Column).ColumnWidth + .Cells(1, gg.Column + 1).ColumnWidth
gg.MergeCells = False
ee = Len(.Cells(gg.Row, gg.Column).Value)
dd = .Range(“ZZ1”).ColumnWidth
.Range(“ZZ1”) = Left(.Cells(gg.Row, gg.Column).Value, ee)
.Range(“ZZ1”).WrapText = True
.Columns(“ZZ”).ColumnWidth = cc
.Rows(“1”).EntireRow.AutoFit
ff = .Rows(“1”).RowHeight / gg.Rows.Count
.Rows(CStr(gg.Row) & “:” & CStr(gg.Row + gg.Rows.Count – 1)).RowHeight = ff
gg.MergeCells = True
gg.WrapText = True
.Range(“ZZ1”).ClearContents
.Range(“ZZ1”).ColumnWidth = dd
End With
Next i
End Sub

Naimul Hasan Arif Aug 30, 2022 at 12:30 PM

Naimul Hasan Arif Aug 30, 2022 at 12:27 PM

Yeah. There are ways to sort columns in descending order.
You can apply the following VBA in the dataset used in the first method to sort the data in descending order.

End Sub

Naimul Hasan Arif Aug 30, 2022 at 12:05 PM

You can check out the following formula that I have applied with the dataset mentioned in the image.

=INDEX(B5:E12,MATCH(\$B\$15,\$D\$5:\$D\$12,0),0)

It gives the entire row with the first matched value. But it will not give all the matched rows as output. You can modify the formula using any aggregate function like SMALL to get all the rows at one go.

Naimul Hasan Arif Aug 25, 2022 at 3:35 PM

I have tried the following VBA code for all the cells in D Column. I hope this is the thing you are looking for.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Oldvalue As String
Dim Newvalue As String
Dim mn As Range, pq As Range
On Error GoTo Exitsub
Set mn = Range(“D:D”)
For Each pq In mn
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = “” Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = “” Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & “, ” & Newvalue
End If
End If
Next pq
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub

Naimul Hasan Arif Aug 21, 2022 at 12:05 PM

You can apply the INDEX – MATCH functions combination to find out whether the value is matching with “2 ” or not in row 23 and then, use the INDIRECT function to retrieve the matched value with the value in row 6.

Naimul Hasan Arif Aug 21, 2022 at 12:01 PM

Thanks for your appreciation. It means a lot.

Naimul Hasan Arif Aug 17, 2022 at 5:48 PM

Unfortunately for some strange reasons, the formulas with the INDEX function don’t behave properly while starting from any other row but row 1. But luckily you have some other alternatives like the FILTER function in case your dataset start from row6

Naimul Hasan Arif Aug 17, 2022 at 3:02 PM
Definitely possible. You just need to concatenate the values in a cell, can use the TEXTJOIN function to do so.

I have the use the following formula for this case.

=TEXTJOIN(“, “,TRUE,IF(F5=\$C\$5:\$C\$15,\$B\$5:\$B\$15,””))

Naimul Hasan Arif Aug 17, 2022 at 12:16 PM

Yes, it is possible to apply multiple criteria. Not sure how your data looks, but according to your query, I have tried to reorganize it as follows to categorize names by region based on Vehicle.

=INDEX(B5:B15,MATCH(1,(B18=\$D\$5:\$D\$15) * (C18=\$C\$5:\$C\$15),0))

Naimul Hasan Arif Aug 16, 2022 at 3:34 PM

Naimul Hasan Arif Aug 16, 2022 at 2:52 PM

Iâ€™m afraid in an ideal scenario once youâ€™ve used data validation with list of items to be selected, you will encounter an error since Excel anticipates values from that list only not any free text.

Naimul Hasan Arif Aug 16, 2022 at 2:49 PM

You can use the Clear property of the cell. You need to apply Range(â€ś__your cell__â€ť).Clear to make the selection cleared.

Naimul Hasan Arif Aug 16, 2022 at 2:46 PM

You can wrap your code in a loop to iterate continuously across a column if you want to traverse it.

Naimul Hasan Arif Aug 16, 2022 at 2:44 PM

If you want to traverse through a column, you can wrap your code with loop which will continue throughout the column.

Naimul Hasan Arif Aug 16, 2022 at 2:22 PM

As far as I’ve understood you are wanting to get value with category criteria, where for different categories items under those categories will show up. I’ve tried to visualize that like the following.

you can get theÂ Products with respect to the categoryÂ by using the following formula

=IF(ROWS(\$F\$5:F5)>\$C\$15,” “,INDEX(\$B\$5:\$B\$12,AGGREGATE(15,6,(ROW(\$C\$5:\$C\$12)-ROW(\$C\$5)+1)/(\$C\$5:\$C\$12=\$E\$5),ROWS(\$F\$5:F5))))

TheÂ CountÂ column is obtained using the COUNTIFS function. =COUNTIFS(\$C\$5:\$C\$12,B15). Feel free to access the reply-workbook.

Naimul Hasan Arif Aug 16, 2022 at 9:17 AM

Hi,

For columns A:
From the Data tab, select Data Tools and pick Data Validation from there. This will open the Data validation feature. From there, mention the text length of minimum “1” to maximum “8”.

For column B, follow the same procedure. Just in the maximum section, input “10”.

Naimul Hasan Arif Aug 16, 2022 at 9:16 AM

Thanks for the appreciation.
For columns A & B:
From the Data tab, select Data Tools and pick Data Validation from there. This will open the Data validation feature. From there, mention the text length of minimum “1” to maximum “8”.

For column C, follow the same procedure. Just in the maximum section, input “10”.

Naimul Hasan Arif Aug 14, 2022 at 5:30 PM

You can try using SpecialCells(xlCellTypeVisible) property while setting the detailsLastRow object. SpecialCells(xlCellTypeVisible) will trigger Excel to consider visible cells only. I hope this edited VBA will help you to get your desired output.

Naimul Hasan Arif Aug 14, 2022 at 12:21 PM

In case of making some effective lookup, every input should be unique (unless you are in any particular case) to get the related information. If you have some similar names, letâ€™s assume some Employee Names, then use other particulars as input like Employee ID. If you donâ€™t have this type of unique number (ID) column you can create it quite easily, for assistance do check https://www.exceldemy.com/excel-auto-generate-number-sequence/, then apply the lookup. I hope this will solve your problem.

Naimul Hasan Arif Jul 19, 2022 at 1:12 PM

Sorry DIEGO for my late response.
There needs to make some changes in the formula in case of finding the second last non blank cell.
I have used the following formula using LOOKUP function in cells D5 to D15 that is the chemistry marks in the dataset to find the second last non-blank cell.
=LOOKUP(2,1/((D5:D15<>D15)*(D5:D15<>“”)),D5:D15)

My dataset is given below:

Second Last Non Blank Value

Name Physics Chemistry
Green 164 110 (D5)
Jack 185 165
Joey 178 132
Mark 183 137
Austin 165 112
Marvin 173 119
Mason 186 170
Mount 170
Martin 177 160
Freeman 164
Federer 163 111 (D15)

Second Last Non Blank Value 160

For me it worked perfectly. I hope it will work the same way for you too.

Advanced Excel Exercises with Solutions PDF