VBA Grab Active Window Index
Dim iStartBook As Long, iNewBook As Long
iStartBook = ActiveWindow.Index
iNewBook = ActiveWindow.Index
I'm trying to grab the "2" that .NewWindow generates. The above gives 1 both times, despite the obvious 2 in the caption after you run it. So what property works? What does .Index mean here?
View Complete Thread with Replies
Related Forum Messages:
I've built a macro to run a loop that opens excel files, prints certain sheets and closes them. I have the macro working - to some degree. here is my code (this is excel):
OldPath = "S:RMBS_Performance_Analytics Analysis1 Staging Folder For Monthly Model Templates2007200704VVDeals"
Dim t As Workbook
Dim s As String
Dim a As Window
.LookIn = OldPath
.SearchSubFolders = False
.Filename = "*.xls"
.MatchTextExactly = True
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
s = .FoundFiles(i)
I have 2 problems. First problem is that I am trying to add a function to make the window close once its finished printing. This actually works - but it limits my loop iterations from i = 1 to 2 (so it only runs 2 times and I'm not exactly sure why). If I don't include the statement - this can run for up to 7 - 8 times (these are very large files) then excel runs out of memory. Unfortunately, i can't set the loop to run from i = anything other than one.
So What I would prefer is to be able to make the "ActiveWindow.close" command work - because this way I can run the entire loop. But I'm not sure how to. I tried window referencing, I tried adding a new active Window so when the file opens, its opening in the active window already, but nothing works.
Preferably, I need to be able to reference both windows, as my next macro will involve referencing 2 windows (one static - always open) and the other the loop above.
Select Previous Active Window
I have multiple excel workbooks open at the same time. I need to run a macro on one of them every 15 min but I need to return to the active window when the macro is done. How do I read what window is active then return to it when the macro is done?
dTime = Now + TimeValue("00:15:00")
Application .OnTime dTime, "AutoSave"
Application.DisplayAlerts = False
ActiveWorkbook. SaveAs Filename:="c:excel" & Format(Time, "hhmmss"), FileFormat:=xlCSV
Application.DisplayAlerts = True
Index Of Active Worksheet
I've been a somewhat casual Excel user and now need to do some VBA with a workbook that has several worksheets in it. In particular, the workbook has sheets that have been added "out of order", that is, the leftmost sheet is not the first one added to the book.
I need to write a VBA routine that looks "backward" from the current worksheet to "previous" sheets, i.e., sheets to the left of the current worksheet, but not to the right, so I can't refer to them as Sheet1, Sheet2, etc. and they actual display names that are not of that form anyway. I am aware of the "Worksheets" collection and the fact that I can "subscript" that to refer to the sheets in a left-to-right form.
I know that I can refer to the current sheet as "ActiveSheet" and I can determine properties like its name with "ActiveSheet.Name", but is it possible to find its index in the Worksheets collection? I'm looking for a function or property such that "ActiveSheet.Index" will allow me to refer to it as "Worksheets(Index)" and particularly to allow me to refer to preceding sheets as, e.g., "Worksheets(Index-1)".
If worse comes to worst, I can always cycle through the worksheets and check the name of each worksheet like this:
Dim index As Integer
Dim strASName As String
strASName = ActiveSheet.Name
index = 0
index = index + 1
Loop Until Worksheets(index).Name = strASName
MsgBox "Index of current worksheet is " & index
And while I'm at it, is it possible in Excel to rename a control like "Button1" to something more sensible and mnemonic, like "btnRecalculate" or whatever?
Set Window Size With VBA.
I'm looking for a way to use VBA to set the window size upon opening the workbook. When the document opens, there should be two windows, each taking up half the screen and each on a particular tab.
Currently, if I save the workbook with the window settings I want, when I open it, both windows are maximized. When I hit the restore button, they go back the settings with which they were saved, which is what I want it to look like as soon as it's opened. Also, a bonus would be for the code to determine the screen size, so it can fill the screen no matter what monitor/computer it's opened on.
VLOOKUP Grab The One That Is Listed First
I do have one issue I need to work on with a VLOOKUP formula.
I have a list of cities and counties that the VLOOKUP goes and looks at to pull information from.
The problem is that when there is a city and county with the same name (Example: Boulder and Boulder County) VLOOKUP always seems to jsut grab the one that is listed first in the list.
When you use the city name of Boulder, VLOOKUP always retruns the information for Boulder County.
Here is my forumula:
=VLOOKUP(qtProjAddress3,'City Mileage and Tax Rates'!A2:C518,2)
Is there something I can add to this formula that will allow it to return the proper city or county when the names are similar?
Grab Sheet Name From A Cell
Im looking to have excel grab the sheet name from the cell rather than manually clicking on the sheet each time. I have attached an example. I would like the formula in cells B5:7 and C5:7 to reference A5:7 rather than the specific sheet as seen in cell B5 --> =b!A1. I assume it will look something along the lines of ='(A5)'!A1, but that doesn't seem to work?
Grab First Word In Cells
I would like to automate this process that I'm doing currently through the "Text to Columns" function.
Basically I have various cells that contain many worlds such as:
FRESH LUNETTE SOLEIL REES 1'S
INFOKUS SOLEIL LECTURE LUNETTES 1'S
KENSIE LUNETTE SOLEIL ELEORA 1'S
KENSIE LUNETTE SOLEIL ELIZABETH 1'S
KENSIE LUNETTE SOLEIL JAMES 1'S
KENSIE LUNETTE SOLEIL VESPER 1'S
KIDS LUNETTE SOLEIL HOUSTEN 1'S
KIDS LUNETTE SOLEIL MINNIE 1'S
My goal is to separate the first world from the rest of the words in one cell.
Since all of the words are seperated by space, I use the the "Text to Columns" function and separate the words, so that I can get the first word into one column. The rest of the words have to be merged again through "Concatenate".
What I'm looking for is a VBA code or Excel function that can identify the first world (which vary in character lengths) and put it into one column.
Grab Data From One Sheet And Put It Into Another
I have two documents with very similar information. Some rows are duplicates. However, there is one column of information missing from the 1st spreadsheet. Let's call them Sheet1 and Sheet2.
How do I tell Excel:
In Sheet1, IF A2 matches any field in Sheet 2, column A
Then: copy the data from the same row, in a different column (Sheet1 A3) and put it into a specific corresponding cell (Sheet2 A3)
Basically I'm trying to grab a product ID from sheet2 and put it in the matching cell, for that specific product. I have all teh product IDs in column A in sheet 2. The product IDs field in Sheet 1 is blank. I need to populate it with teh correct information from Sheet 2. But there are many moreproducts in sheet 2 than in sheet 1, so I can't just sort and do a copy paste. It needs to think "if the product exists in sheet 2, grab the info from sheet 2 and put it into sheet 1 for that product id."
Grab Data From All Files With Certain Name In A Folder
Is it possible to have a spreadsheet that when opened grabs data from every file with "*invoice" in the title in folder 2009 and all its sub directories and puts them into a list in the opened file?
The data needed is to be from sheet1, cells B16, C18, G18 from all the files
and i would like B16 put into A2, C18 into B2 and G18 into C2
Then the next sheets data B16 to A3, C18 B3 and G18 to C3 etc etc until all files with invoice in the title have been added.
B16 is a name
C18 is an address and
G18 is a postcode
This means there can be no duplicates so if opened twice there will only ever be 1 of the same address and postcode.
Index, Match For VBA
I have the following code from my UserForm that works fine for my Summary sheet.
Private Sub TextBox2_AfterUpdate()
Application.ScreenUpdating = False
'//Get the Truck # to act on
Dim varInput As Variant
varInput = TextBox2.Value
'//Exit if no input
If varInput = "" Then
What I am trying to figure out is to do a Index,Match or what ever it takes to populate the Truck sheet (250+) with info from the user form.
TextBox1 is the date. TextBox2 is the truck number, 3 is the Milage, and 4 is the Cost.
All in relation to the following sheet for the truck: ...
VBA Match And Index
I have a sction of code that is telling me it cant find a match when I am pretty sure there is.
'Update todays Sales with stock
Set StockboardMastercodeRng = .Range("A8:A1000")
Set SalesMastercodeRng = .Range("B2:B200")
For Each SalesMastercode In SalesMastercodeRng.Cells
res = Application.Match(SalesMastercode.Value, StockboardMastercodeRng, 0)
mbUID = StockboardMastercodeRng.Value
If IsError(res) Then 'FAILS HERE
StockboardMastercodeRng(res).Offset(3, ColumnNumberOfActiveDate + 2).Value = SalesMastercode.Offset(0, 6).Value
Sheet Index In Vba
I have the following code which is set to work for individual worksheets. How do I change this code so that the macro works for all worksheets starting from sheet index 10 onwards.
Dim rCell As Range
Dim lStop As Long
lStop = Cells(Rows.Count, 12).End(xlUp).Row
For Each rCell In Range("N10:U10").SpecialCells(xlCellTypeFormulas).Cells
Range(rCell, Cells(lStop, rCell.Column)).FillDown
Specifying Active Worksheet In VBA
I used the "record macro" and went through my data manipulation steps. But its not transferable to other worksheets because it imbedding the name of the worksheet in the some functions (sort, pivottable,...). How can I change the name of the worksheet to "activeworksheet"?
Display All VBA Code In Code Window (VBE)
When I started using VBA, all the code for each module was shown in the code window. This was a bit cumbersome when looking for one sub in particular. Now when I load VBA, all the Subs and Functions have their own page, and can be selected from the right hand drop down list. This is much easier for entering code, and finding subs. However, it is sometimes useful to see 'the big picture', so how do I swap between the two types of display?
Exiting A Range To Grab Additional Data
I've set a range as DD14 to G014, then using a For Next Loop asked the program to cycle through each cell in the range. Upon findng a populated cell, it stores several bits of data from that cell (already done) and then move up one cell to record the cell value (time) and again move one cell up to record the date.
Now I did get this to work using a clunky bit of code that used activecell.offset to move the focus up the two columns and a While .... Wend loop - but using a set range and cycling through each cell it does not appear to be possible - or am I wrong?
Set MyRange(1) = Range("D14:ER14")
Set MyRange(2) = Range("D23:GN23")
For MyCounter = 1 To 2
For Each Cell In MyRange(MyCounter)
If Cell.Value = "" Then Goto Skip_Cell
MyCell = Cell.Address
MyPosition = InStr(1, Cell.Value, ",")
If MyPosition = 0 And Len(Cell.Value) >= 3 Then
Tool_Number = Left(Cell.Value, 3).....................
VBA Index & Match
Sheets("Project").Cells(Application.WorksheetFunction.VLookup(Val(ComboBox2.Value), Worksheets("Project").Range("A:AZ"), 5, False)).Value = CDate(TextBox4.Value)
What i'm trying to do is when i make a change to a textbox (in this case textbox4), I want to write over the cell that it relates to. (combobox2 contains the value that matches within column A - so that particular row)
For eg, this particular textbox should reference column 'E', and then the row that matches the value in combobox2..... i was trying to use a vlookup, but it didn't work (kept putting ym new value into cell IE155 lol)
Active Directory Authentication Using VBA
From an Excel workbook userform, I want to capture a logon name and password, and then authenticate against Active Directory.
The only information I want from the process is whether the user name/password combination is valid in AD.
I know how to do all the Excel stuff (userform, etc.), and I know how to get information from AD using an administrator binding. What I am missing is being able to verify whether the Excel workbook user is the AD user that they claim to be.
RSI (relative Strength Index) In VBA
if anyone has the knowledge here to program RSI via VBA in Excel? I am able to do it without VBA, but it is time consuming and it takes up a lot of space and it just isn't it. Here is the description of what RSI is and the formula needed to calculate it:
Index/match Displayed In Comments Using VBA
I am using index/match to dynamically populate a table in 'sheet2' based on data in 'sheet 1' The index/match in the cells is:
Attend = Named Range
ID_2 = Named Range
The index/match will return a value for each cell in the table (from column 6 in this instance); the values are either numbers (1-6) or text (or a blank if there are no matches).
What I would like to display in the comments box is the value of the adjacent cell in sheet 1 (ie index/match from col 7) when the match was a number between 1-6.
I've been struggling with VBA for an index/match based on cell offset, triggered by a worksheetchange? that is then used with .clearcomment and .addcomment when the cell value 16 to dynamically display comments.
Change Sheet Index Numbers In VBA?
1Does Excel process worksheets (tabs) in the left-to-right order in which the tabs appear visually? Or in the order of the worksheets' index numbers as they appear in the VBE Project Explorer window? 2Is there a way to renumber or reassign index numbers to specific worksheets?
VBA Code To Access Active Cell ONLY
I am trying to add a button on my spreadsheet that will give the person Access to one cell only. The cell in its normal state is Locked. The cell is ALWAYS in Column F of a sheet titled Master. The button is located on the sheet titled Master.
The real problem may arise in that once the person has access to the cell and they make their changes I need that cell to return to being Locked and the sheet once again Protected with Filtering.
Does this make sense to anyone? Can it be done and if so any suggestions?
VBA Script Stops When The Workbook Is Not Active.
I work in Excel with a VBA script. The purpose of my script is that every 5 seconds a procedure will be executed. This works well. If my workbook is not active, it does not work. Or when I work with another workbook. Or when I work with another program. Then the script will stop to execute. It looks like a break. I have tried several scripts that have the same effect. I want the script continues normally with execution.
VBA Code To Float,value,down Column For Index/Matching Value Of Other Columns
I would like to amend my macro w/ additional code that will allow me to view the value in column A, if a subject is chosen from list from columns D or E. Choosing a singal subject to view from row2,from column,D or E will cause the value in column A to not be seen if the subject does not correspond with the row the value is located. Is there a way to match values from corresponding/matching column values with the rows with values in columnA? And. allow if match found to display/list the value in the first empty cell in column A for match? I would also like the macro to reverse match for column A.
So if a single value is selected in column A for view, then all rows for which the value pertains to will also be shown, instead of just the single row with the value.
Here's an examplary make of the booklet.
Conditional Summation Formula: Set SUM Code To Grab All Numbers Next To Codes
I am creating a billing sheet that has a column where charges are coded (to determine what they are for) and I want a "Grand Total" for everything followed by a breakdown "Total" for things with the same code. Is there a way to set SUM code to grab all numbers next to codes?? (EX. Column A is Billing Code, column B is Cost in $$; I want a total at the bottom that takes the different amounts in column B based on the various information/codes from column A).
Conditional Formatting And A VBA Code To Make Sure The Cond. Form Is NOT Active
I am trying to add something to a spreadsheet. I want to do some Conditional Formatting but I am not certain on what the formula would be to accomplish it. I am putting the Cond Format in cell E5 and I need a formula to say: IF F5 AND G5 are BLANK then do the format I set up which is simply to fill the cell with RED. (.ColorIndex = 3)
The next portion of my problem is I need to revise my VBA Coding to check and make sure that there is not any cells in Column E that have the Formatting Active. This is the portion of code I need to alter. I have changed the wording of the message but am not sure on how to change the IF statement:
'Checks to see make sure there are no Actions or Resolutions WITHOUT a Topic
If Sheets("Meeting Minutes").Range("C1").Value = "" Then 'NEEDS TO CHANGE
MsgBox "Oops! You forgot to enter a Topic for Discussion in a cell(s). You MUST have a Topic in order for your Meeting Minutes to transfer to the Master sheet." & vbCr & vbCr & "Please click OK to return to the Minutes sheet so that you may fill in the Topic(s).", vbOKOnly, "CAUTION! PLEASE Note!"
Application.ScreenUpdating = True
Application.StatusBar = ""
Find Method To Search For The Active And Non Active Values
I have a range of amounts in Sheet 1 from F7:Q13 and im using the find method to search for the active and non active values in the cell. Which means that if there's a value in the cell it will transfer the value in Sheet 2, if nothing is found in the cell the cells in Sheet 2 will return as nothing or null.
I think the problem lies on the FindWhat variable. Im getting a compiled error which im not sure what is it.
I've attached the spreadsheet so you get a better idea of the problem that i encountered.
Unique List Would Grab All Unique Entries
I have a data table that repeats as follows:
From the data above I need to make a new unqie list that would grab all unique entries.
I am trying to use the following guide:
Get stuck on "Listing A:
Formulas By Using VLOOKUP, INDEX, MATCH, INDEX&MATCH Separately
I have this table
As you can see, the number I has a,d,and g, II has b,e,and h, and III has c, f, and i
I want to make formula that if I make the input g it would return I, f would return III, and c would return III, and so on
I want to make four formulas by using VLOOKUP, INDEX, MATCH, INDEX&MATCH separately.
Closing Immediate Window
Is there any way to have a macro, that is started from the immediate window, close the immediate window when it's done. My macro closes the immediate window, but as soon as it ends, the immediate window reopens and my cursor is inside it.
New Window On The Taskbar
i was recently upgraded to Excel 2003 and have found that whenever i open more than one workbook, it opens in a new window on the taskbar (similar to opening another application)... I remember having this in my previous version of excel but i can't for the life of me remember how i switched this off?
I open up Excel by double clicking on a file, it opens but it just has a grey background and the file I opened is displayed as a small 1 inch stip in the top left - just a title bar with the windows maximise, minimise and close buttons.
What ever I click I can't see any of the cells!
There is a column with a formula and a list validation, and an adjacent hidden column with numbered ids. When moving into the list validation cell the Worksheet_Selection_Change event code saves information about the Target cell - value, address, formula. When a value has been obtained from the list the Worksheet_Change event code looks up a belonging id in a lookup table and put this in the hidden id cell, and puts the saved formula back into the list validation cell. This makes the sheet (or window) unmanagable.
When I move around the sheet I can see the cell name in the Name Box, but the sheet itself is not visible. The only way to display the sheet is to add a new window (Window - New Window), choose the first "frozen" window (Window - 1. window) and quit this window. Then the new window is ready for use, but of course with the same limitations as the newly quitted one. Ring a bell, someone?? The funny thing is that in this workbook I also use the same functionality in another sheet without any problems.
Yes/No Pop-up Window
I have a certain macro which copies data from one file to the other. There are several target files (refering to a given month each) and one source file. The user chooses a month from a drop down list in the source file which modifies a certain cell. The value of this cell decides on which of the 12 target files will be opened to paste the data to. The macro also copies the value of a cell which refers to the current date (=TODAY()) This number is then compared with a the range (value between two pints in time: start and end date of a given month). All I need is some sort of a pop-up window with a header i.e. WARNING. and the window text: You are about to send the information to a file which does not refere to the current month, are you sure you want to perform this action" and two buttons YES and NO in case the value of the current date does not match the range set up by the starting and ending of a given month in the target file. The button YES would then do waht ever the code that was placed before the pop-up window said, save the aplication and close it, and the NO button would simply close the aplicatiown without saving it. Something like that:
'the whole code describing the action to be taken
If Range("A1").Value >= Range("A3").Value And Range("A1").Value <= Range("A2").Value Then
'here the A1 cell refers to the current date and cells A2 and A3 to the start and the end date of the month
Floating Navigation Window
I want to create a floating window in excel that can contain a series of macro buttons (12 total)
I'd like to see if this window can be opened with a hyperlink or a single macro button on a spread sheet.