Showing posts with label Excel. Show all posts
Showing posts with label Excel. Show all posts

Friday, February 16, 2024

Increment the cell in Vlookup when dragging horizontally in Excel

Excel VLOOKUP with Dynamic Column Reference:

=VLOOKUP($B16,$B$4:$D$13,COLUMNS($B4:B4)+1,0)

=VLOOKUP($B16,$B$4:$D$13,COLUMNS($B4:C4)+1,0)

=VLOOKUP(A53,'Tab(4Y-R)'!A24:AU157,COLUMNS('Tab(4Y-R)'!A24:A24)+1,FALSE())
=VLOOKUP(A53,'Tab(4Y-R)'!A24:AU157,ROWS('Tab(4Y-R)'!A24:A24)+1,FALSE())
=ROWS(B$4:B4)

Thursday, October 5, 2023

Export multiple records one by one from Excel

 

Sub Print1()

    For a = 1 To 10

        Sheet3.Range("L2").Value = a

ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True, IgnorePrintAreas:=False

Next

End Sub

Export multiple records to PDF one by one from Excel

 Sub ExportRangeToPDF()

    For a = 3 To 10

        Sheet1.Range("D4").Value = Sheet2.Cells(a, "A")

        Sheet1.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Naeem\OneDrive\Desktop\PrintingPDF\" & Sheet1.Range("D4").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    Next

End Sub

Sunday, August 6, 2023

Repeat Rows At Excel Bottom using VBA

 Sub repeatBotRows()


Dim botRows As Range, botCount As Long

Dim firstPgBk As Long, LasRow As Long

Dim totPages As Long, n As Long, m As Long


Application.ScreenUpdating = False

Application.DisplayAlerts = False

Application.Calculation = xlCalculationManual


Set botRows = Range("2:7")

Sheets("Sheet1").Copy after:=Sheets("Sheets1")

ActiveSheet.Name = "printOrig"

With ActiveSheet.PageSetup

.PrintTitleRows = "$1:$1"

End With

firstPgBk = ActiveSheet.HPageBreaks(1).Location.Row - 1

botCount = botRows.Rows.Count

LasRow = Cells.Find("*", [a1], , , xlByRows, xlPrevious).Row

totPages = Application.Ceiling(LasRow / (firstPgBk - botCount - 1), 1)

Range(Rows(firstPgBk - botCount + 1), Rows(firstPgBk)).Select

Selection.EntireRow.Insert Shift:=xlDown

botRows.Copy Range("A" & firstPgBk - botCount + 1)


n = 2

m = 0

Do

Range(Rows(firstPgBk * n - botCount - m), Rows(firstPgBk * n - m - 1)).Select

Selection.EntireRow.Insert Shift:=xlDown

botRows.Copy Range("A" & firstPgBk * n - botCount - m)

n = n + 1

m = m + 1

Loop Until n > totPages

Application.Calculation = xlCalculationAutomatic

' ActiveSheet.PrintOut

' ActiveSheet.Delete

ActiveSheet.Buttons.Delete

Application.DisplayAlerts = True

End Sub


Repeat excel rows at bottom

 Sub MyFooter()

Dim xTxt As String

Dim xAddress As String

Dim xRg As Range

Dim xCell As Range

On Error Resume Next

xAddress = ActiveWindow.RangeSelection.Address

Set xRg  = Application.InputBox("Select the row you will insert repeatedly at the bottom:", "Kutools for Excel", xAddress, , , , , 8)

If xRg Is Nothing Then Exit Sub

For Each xCell In xRg

xTxt = xTxt & xCell.Value & " "

Next

ActiveSheet.PageSetup.LeftFooter = xTxt

End Sub

Friday, July 28, 2023

Repeating Rows at the bottom of each printed excel sheet using VBA

 Sub MyFooter()

Dim StrFtr As String, Rng As Range, Sh As Worksheet, c As Range

Set Sh = Worksheets("Sheet5")

Set Rng = Sh.Range("A55:G55")


For Each c In Rng

StrFtr = StrFtr & c & " "

Next c


ActiveSheet.PageSetup.LeftFooter = StrFtr

End Sub

Hide rows in excel based on cell value using VBA

Sub HideRow()
LineStart = 2
LineEnd = 16
ColumnNumber = 2
For i = LineStart To LineEnd
If Cells(i, ColumnNumber).Value <> "YourCellValue" Then
Cells(i, ColumnNumber).EntireRow.Hidden = True
Else
Cells(i, ColumnNumber).EntireRow.Hidden = False
End If
Next i
End Sub

Wednesday, March 1, 2023

Generate specific range of numbers having specific digit in excel

 The following function is for generating 8 digit unique number in excel and masked with 123:

=RANDBETWEEN(12300000,12399999)

Tuesday, January 3, 2023

Get file path and set hyperlink funtion in Excel

 =CONCATENATE("file://",LEFT(CELL("filename",F2),FIND("[",CELL("filename",F2))-1),F2)

=HYPERLINK($G$2,F2)

Wednesday, January 5, 2022

Extract Domain from email in Excel or Google sheet

  =TEXTAFTER( A2 , "@") or, =MID(A1, FIND("@", A1) + 1, LEN(A1) - FIND("@", A1))