Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default vlookup in VBA (dynamic range)


Guys,

My problem is that I want my macro to insert columns inbetween some
cells and then do an iserror(vlookup (in those newly inserted columns)
to extract data from another sheet in workbook called 'Workings.xls'.

So far my code looks like this:


Dim CurMonth As String
Dim Warn As String
Dim Ans As Integer
Warn = "Please ensure that the Active Cell is where "
Warn = Warn & "you would like the columns to be inserted. Continue?"
Ans = MsgBox(Warn, vbYesNo)
If Ans = vbYes Then
Sheets(Array("UK", "FR", "DE", "IT", "ES")).Select
Sheets("UK").Activate
ActiveCell.Offset(0, -6).Columns("A:F").EntireColumn.Select
Selection.Copy
ActiveCell.Offset(0, 6).Range("A1").Select
Selection.Insert Shift:=xlToRight
ActiveCell.Offset(4, -5).Range("A1").Select
CurMonth = InputBox("Enter the Month 'Format: WE Mo#/Wk#'")
ActiveCell = CurMonth
ActiveCell.Offset(6, 0).Range("A1").Select
End If
End Sub


What I want to do is insert iserror(vlookup formula connecting to the
'Workings.xls' 'Wk20' sheet.

Cheers


--
Kayote
------------------------------------------------------------------------
Kayote's Profile: http://www.excelforum.com/member.php...o&userid=33314
View this thread: http://www.excelforum.com/showthread...hreadid=542507

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default vlookup in VBA (dynamic range)

Hard to know the particulars with recorder style code, but try something like
this:


Dim s as String
s =
"=if(iserror(Vlookup(XXX,[Working.xls]WK20!A:B,2,False),0,Vlookup(XXX,[Working.xls]WK20!A:B,2,False))"
s = Application.Replace(s,"XXX",Activecell.Offset(0,2) .Address(0,0))
ActiveCell.Resize(20,1).Formula = s

--
Regards,
Tom Ogilvy


"Kayote" wrote:


Guys,

My problem is that I want my macro to insert columns inbetween some
cells and then do an iserror(vlookup (in those newly inserted columns)
to extract data from another sheet in workbook called 'Workings.xls'.

So far my code looks like this:


Dim CurMonth As String
Dim Warn As String
Dim Ans As Integer
Warn = "Please ensure that the Active Cell is where "
Warn = Warn & "you would like the columns to be inserted. Continue?"
Ans = MsgBox(Warn, vbYesNo)
If Ans = vbYes Then
Sheets(Array("UK", "FR", "DE", "IT", "ES")).Select
Sheets("UK").Activate
ActiveCell.Offset(0, -6).Columns("A:F").EntireColumn.Select
Selection.Copy
ActiveCell.Offset(0, 6).Range("A1").Select
Selection.Insert Shift:=xlToRight
ActiveCell.Offset(4, -5).Range("A1").Select
CurMonth = InputBox("Enter the Month 'Format: WE Mo#/Wk#'")
ActiveCell = CurMonth
ActiveCell.Offset(6, 0).Range("A1").Select
End If
End Sub


What I want to do is insert iserror(vlookup formula connecting to the
'Workings.xls' 'Wk20' sheet.

Cheers


--
Kayote
------------------------------------------------------------------------
Kayote's Profile: http://www.excelforum.com/member.php...o&userid=33314
View this thread: http://www.excelforum.com/showthread...hreadid=542507


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default vlookup in VBA (dynamic range)


thanks for the reply Tom.

Could you please elaborate what you are doing with this...

s = Application.Replace(s,"XXX",Activecell.Offset(0,2) .Address(0,0))
ActiveCell.Resize(20,1).Formula = s


The problem I have is that because of the newly inserted columns (wher
the vlookup is suppose to go), how can I define them as anything becaus
next time they are going to be different cells.

and one question Im confused about is:

how can I define as range as this one: A1:B5

Will it be:
Activecell.range("A1:B5") as Range1
Dim Range1 as double

Is this correct

--
Kayot
-----------------------------------------------------------------------
Kayote's Profile: http://www.excelforum.com/member.php...fo&userid=3331
View this thread: http://www.excelforum.com/showthread.php?threadid=54250

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default vlookup in VBA (dynamic range)

I assume you want to use some cell in that for the first argument to the
Vlookup formula, so for demonstration, I use two columns to the right of the
activecell. I also made that address relative so when it was entered in each
of the rows, it would correctly refer to the cells in that column for that
row.

I made a typo/error in using Application.Replace. It should be just Replace
(if you are using xl2000 or later). Use Application.Substitute if you will
need to use in xl97 or earlier as well.

s = Replace(s,"XXX",Activecell.Offset(0,2) .Address(0,0))

--
Regards,
Tom Ogilvy


"Kayote" wrote:


thanks for the reply Tom.

Could you please elaborate what you are doing with this...

s = Application.Replace(s,"XXX",Activecell.Offset(0,2) .Address(0,0))
ActiveCell.Resize(20,1).Formula = s


The problem I have is that because of the newly inserted columns (where
the vlookup is suppose to go), how can I define them as anything because
next time they are going to be different cells.

and one question Im confused about is:

how can I define as range as this one: A1:B5

Will it be:
Activecell.range("A1:B5") as Range1
Dim Range1 as double

Is this correct?


--
Kayote
------------------------------------------------------------------------
Kayote's Profile: http://www.excelforum.com/member.php...o&userid=33314
View this thread: http://www.excelforum.com/showthread...hreadid=542507


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
VLookup, Dynamic Range or Something else Ess Excel Discussion (Misc queries) 8 October 26th 09 07:04 PM
VLOOKUP using a dynamic range CSK Excel Discussion (Misc queries) 1 October 23rd 07 04:00 AM
Vlookup - dynamic range reference? aseanor Excel Discussion (Misc queries) 7 August 17th 06 11:32 PM
Dynamic range for Table_array in a VLOOKUP. DaveO Excel Worksheet Functions 8 October 12th 05 04:28 PM
Urgent Dynamic Range with Vlookup Jeff Excel Discussion (Misc queries) 3 October 6th 05 01:09 AM


All times are GMT +1. The time now is 04:18 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"