Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
Dim MyValue As Variant Dim FromSheet As Worksheet Dim LookupColumn As Integer Dim FromRow As Long Dim FromColumn As Integer '- Dim ToSheet As Worksheet Dim StartRow As Long Dim LastRow As Long Dim ActiveColumn As Integer Dim ReturnColumnNumber Dim ToRow As Long Dim FoundCell As Object '================================================= ============ '- MAIN ROUTINE '================================================= ============ Sub DO_LOOKUP() Application.Calculation = xlCalculationManual '---------------------------------------------------------- '- LOOKUP SHEET [**AMEND AS REQUIRED**] Set FromSheet = Workbooks("Book1.xls").Worksheets("MD") LookupColumn = 2 ' look for match here FromColumn = 2 ' return value from here '----------------------------------------------------------- '- ACTIVE SHEET Set ToSheet = ActiveSheet ActiveColumn = ActiveCell.Column StartRow = ActiveCell.Row '------------------------------------------------------------- '- COMMENT OUT UNWANTED LINE, UNCOMMENT THE OTHER '- ..............................[** FOR MULTIPLE ROWS **] LastRow = ToSheet.Cells(65536, ActiveColumn).End(xlUp).Row '- '- ..............................[** FOR A SINGLE VALUE **] ' LastRow = ActiveCell.Row '------------------------------------------------------------- '- COLUMN NUMBER TO PUT RETURNED VALUE [**AMEND AS REQUIRED**] ReturnColumnNumber = 2 ' column number '------------------------------------------------------------- '- loop through each row (which may be only 1) For ToRow = StartRow To LastRow MyValue = ToSheet.Cells(ToRow, ActiveColumn).Value FindValue Next '------------------------------------------------------------- '- finish MsgBox ("Done") Application.Calculation = xlCalculationAutomatic End Sub '== END OF PROCEDURE ================================================== == '================================================= ======================= '- FIND VALUE '================================================= ======================= Private Sub FindValue() ' Dim VendMat As String ' Dim matDesc As String ' Dim startDate As String ' Dim BUN As String Set FoundCell = _ FromSheet.Columns(LookupColumn).Find(MyValue, LookIn:=xlValues) If FoundCell Is Nothing Then MsgBox ("Material No. " & MyValue & " not found in Master List.") 'Paste this value to MD '----- ' VendMat = Sheets("Sheet1").Select ' VendMat = Range("C65536").End(xlUp).Offset(0, 0).Select 'VendMat = Selection.Copy '------ Sheets("MD").Select Range("B:B").Select Range("B65536").End(xlUp).Offset(1, 0).Select IsEmpty (ActiveCell) ActiveCell = MyValue ' Sheets("MD").Select ' Range("C:C").Select ' Range("C65536").End(xlUp).Offset(1, 0).Select ' IsEmpty (ActiveCell) ' ActiveCell.Select = VendMat ' ActiveCell = VendMat '--------------------------------------------- Else FromRow = FoundCell.Row '- transfer additional data. ToSheet.Cells(ToRow, ReturnColumnNumber).Value = _ FromSheet.Cells(FromRow, FromColumn).Value End If End Sub ' This works fine in detecting and copying the new material number accross to the master data sheet, but now i want it to copy the row in which the new material number is located as there is other information that goes with so it doesn't have to be manually typed in. TIA -- vect98 ------------------------------------------------------------------------ vect98's Profile: http://www.excelforum.com/member.php...o&userid=26365 View this thread: http://www.excelforum.com/showthread...hreadid=398847 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
"...i want it to copy the row in which the new material number is located..." do you want to copy the ENTIRE row? if this is what you mean, why not just use EntireRow and copy it? FromSheet.Cells(FromRow, FromColumn).EntireRow.Copy ToSheet.Cells(ToRow, ReturnColumnNumber).EntireRow vect98 Wrote: Dim MyValue As Variant Dim FromSheet As Worksheet Dim LookupColumn As Integer Dim FromRow As Long Dim FromColumn As Integer '- Dim ToSheet As Worksheet Dim StartRow As Long Dim LastRow As Long Dim ActiveColumn As Integer Dim ReturnColumnNumber Dim ToRow As Long Dim FoundCell As Object '================================================= ============ '- MAIN ROUTINE '================================================= ============ Sub DO_LOOKUP() Application.Calculation = xlCalculationManual '---------------------------------------------------------- '- LOOKUP SHEET [**AMEND AS REQUIRED**] Set FromSheet = Workbooks("Book1.xls").Worksheets("MD") LookupColumn = 2 ' look for match here FromColumn = 2 ' return value from here '----------------------------------------------------------- '- ACTIVE SHEET Set ToSheet = ActiveSheet ActiveColumn = ActiveCell.Column StartRow = ActiveCell.Row '------------------------------------------------------------- '- COMMENT OUT UNWANTED LINE, UNCOMMENT THE OTHER '- ..............................[** FOR MULTIPLE ROWS **] LastRow = ToSheet.Cells(65536, ActiveColumn).End(xlUp).Row '- '- ..............................[** FOR A SINGLE VALUE **] ' LastRow = ActiveCell.Row '------------------------------------------------------------- '- COLUMN NUMBER TO PUT RETURNED VALUE [**AMEND AS REQUIRED**] ReturnColumnNumber = 2 ' column number '------------------------------------------------------------- '- loop through each row (which may be only 1) For ToRow = StartRow To LastRow MyValue = ToSheet.Cells(ToRow, ActiveColumn).Value FindValue Next '------------------------------------------------------------- '- finish MsgBox ("Done") Application.Calculation = xlCalculationAutomatic End Sub '== END OF PROCEDURE ================================================== == '================================================= ======================= '- FIND VALUE '================================================= ======================= Private Sub FindValue() ' Dim VendMat As String ' Dim matDesc As String ' Dim startDate As String ' Dim BUN As String Set FoundCell = _ FromSheet.Columns(LookupColumn).Find(MyValue, LookIn:=xlValues) If FoundCell Is Nothing Then MsgBox ("Material No. " & MyValue & " not found in Master List.") 'Paste this value to MD '----- ' VendMat = Sheets("Sheet1").Select ' VendMat = Range("C65536").End(xlUp).Offset(0, 0).Select 'VendMat = Selection.Copy '------ Sheets("MD").Select Range("B:B").Select Range("B65536").End(xlUp).Offset(1, 0).Select IsEmpty (ActiveCell) ActiveCell = MyValue ' Sheets("MD").Select ' Range("C:C").Select ' Range("C65536").End(xlUp).Offset(1, 0).Select ' IsEmpty (ActiveCell) ' ActiveCell.Select = VendMat ' ActiveCell = VendMat '--------------------------------------------- Else FromRow = FoundCell.Row '- transfer additional data. ToSheet.Cells(ToRow, ReturnColumnNumber).Value = _ FromSheet.Cells(FromRow, FromColumn).Value End If End Sub ' This works fine in detecting and copying the new material number accross to the master data sheet, but now i want it to copy the row in which the new material number is located as there is other information that goes with so it doesn't have to be manually typed in. TIA -- T-®ex ------------------------------------------------------------------------ T-®ex's Profile: http://www.excelforum.com/member.php...o&userid=26572 View this thread: http://www.excelforum.com/showthread...hreadid=398847 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
Not quite, the Mat No. is in column B in both sheets. I want to copy column A, C,D which are same for both sheets, but theres also one column in column F of the new sheet which is in column E of the master sheet. If that makes sense so i want only selected parts of the row that correspond to that Mat No. which was found. Thanks heaps. -- vect98 ------------------------------------------------------------------------ vect98's Profile: http://www.excelforum.com/member.php...o&userid=26365 View this thread: http://www.excelforum.com/showthread...hreadid=398847 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
oh... ok... i can only think of hard-coding the columns... ToSheet.Range("A" & ToRow).Value = FromSheet.Range("A" FromRow).Value ... ToSheet.Range("F" & ToRow).Value = FromSheet.Range("E" FromRow).Value Not so neat, huh?.... vect98 Wrote: Not quite, the Mat No. is in column B in both sheets. I want to copy column A, C, which are same for both sheets, but theres also one column in column of the new sheet which is in column E of the master sheet. If that makes sense so i want only selected parts of the row tha correspond to that Mat No. which was found. Thanks heaps -- T-®e ----------------------------------------------------------------------- T-®ex's Profile: http://www.excelforum.com/member.php...fo&userid=2657 View this thread: http://www.excelforum.com/showthread.php?threadid=39884 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
didn't do anything just worked like it did before. thanks for your hel though i appreciate it. any other ideas anyone?? Thanks : -- vect9 ----------------------------------------------------------------------- vect98's Profile: http://www.excelforum.com/member.php...fo&userid=2636 View this thread: http://www.excelforum.com/showthread.php?threadid=39884 |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copying other column values when detected
*Bump - anyone please thanks -- vect98 ------------------------------------------------------------------------ vect98's Profile: http://www.excelforum.com/member.php...o&userid=26365 View this thread: http://www.excelforum.com/showthread...hreadid=398847 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Newbie: Copying row of values to a column | Excel Discussion (Misc queries) | |||
Copying rows values on one sheet to part of a formula in a column | Excel Discussion (Misc queries) | |||
Copying certain values from one column into another column | Excel Worksheet Functions | |||
Copying the values in a row to column | Excel Discussion (Misc queries) | |||
Copying cells with similar column values | New Users to Excel |