I have this code that applies an Alt-Enter command following text being entered in a range named "ActivityRange". ActivityRange is only one row currently, but I have another macro that inserts a row into that range. This code works to add an Alt-Enter after text typed into a cell, but it does it for every cell in the row. I want it to only apply to column "C" and not any values in other Rows. In other words, only apply this command if values are entered into column "C", of the range "ActivityRange".
Anyone know how to alter the code below to accomplish this?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range
If Application.Intersect(Target, Range("ActivityRange")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each Cell In Range("ActivityRange")
If Len(Cell.Value) > 0 Then Cell.Value = Cell.Value & Chr(10)
Next Cell
Application.EnableEvents = True
End Sub
I have a huge list of entries everyday (around 50,000) that needs a time stamp. Each of them has a time difference of 5 seconds in between. That is between two entries there is a time difference of 5 seconds. I use now() function to put the time stamp. The only problem is that I cannot have any value after 4:29:59 PM. That is, I need a macro that would check for the values in the C column, and if they are after 4:29:59 PM, put the value 4:29:59 PM, instead of the real time.
In cell C1: IF((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))) >(TIME(16,29,59)),(TIME(16,29,59)),(TIME(HOUR(NOW( )),MINUTE(NOW()),SECOND(NOW())+5)))
In cells C2:C9999999: IF((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))) >(TIME(16,29,59)),(TIME(16,29,59)),(TIME(HOUR(C1), MINUTE(C1),SECOND(C1)+5)))
However, the problem is I have so many entries that after a 10000 or so the time passes 4:30 PM. I think the only way to fix this would be to add a macro.
In one sheet i have a list from cell a1:a1000. I have named this selection 'headkit' In another sheet, i am using 'headkit' to make a drop down list in a cell. At the moment a lot of headkit hasn't yet been filled and contains lots of empty cells that will be filled as time goes by.
The drop down list currently has all the items in the list including the blank cells therefor making a very large blank list.
Is it possible to limit the list to show only cells with an entry in them?
I need a few of my textboxes to not accept entries of greater than 40, Also need a message box warning to popup if this is done. I've seen some examples that are vaguely similar, but not quite what I need. I already have the following in place to limit characters:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("9") Case Asc(".") If InStr(1, Me.TextBox1.Text, ".") > 0 Then KeyAscii = 0 End If Case Else KeyAscii = 0 End Select End Sub
I work for a localizer of text heavy software. Our developers normally use a converter to pull text out of a file and insert it into the program. This text is normally input into an Excel file since it has to correspond with files/locations in the program.
Since the space on the screen of the program is limited, we often face character limits when inputting text into Excel. Now, one cell might hold up to 255 characters, and I could restrict that with data validation, but within one cell I need to restrict each line (with a hard return) to 30 characters to fit on the screen.
So for example I have a row of cells that look like: ....
Is there a way to limit the range of values on the Y-Axis on the lower end? Like I don't wish the Y-axis to begin from 0 but say 500. Is that possible?
I have a set of data values ranging from 650 - 850, but the Excel graph however looks too fine because the Y-axis begins from 0.
It's some code I found and altered that automatically updates the cell to the right of a column that has drop down box data validation, creating a list of the selected values seperated by commas. The thing is, I only want it to do this in columns 8 and 10 but data validation drop-down boxes have been used in several other columns. I've tried various methods of limiting the scope, the latest being the line: If Target.Column = 8 Or 10 Then. But the auto update is still being applied to all drop down boxes in the sheet. So, how can I make sure the auto update only happens when the drop down boxes in columns 8 and 10, updating into columns 9 and 11.
I'm creating a spreadsheet (Excel 2003) in which a user enters data in several cells, each of which will permit different numbers of characters (to include spaces). For example, in the first cell, the user will be limited to 50 characters, in the second cell, the limit is 30 characters, and so on.
I found the data validation error alert feature, but want to give the user a cue that the entry is too long so they know to stop typing before moving to the next cell. If they only are alerted when they finish making the entry, they might not take the time to properly reconstruct the entry to meet the size limitation. I'm trying to make this more user-friendly.
Is there a way to set up the worksheet so the user knows that the entry is approaching the character limit? For example, each character filling an individual cell or having a display appear with a count-down for the number of characters remaining in the limit, or something similar.
I have a spreadsheet that will always have the dates needed in cells H40 and H42. I would like the calendar to utilize the data validation in the cell to only allow someone to choose a date that is between the dates in H40 and H42.
I need to limit the number of Characters that can be inputted to the popup InputBox to just 31. How do I set MaxLength? Code I am using is listed below.
Code:
Sub NewRecipeSheet() Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets("1. Recipe Master Sheet") ws1.Copy ThisWorkbook.Sheets(Sheets.Count) Application.Goto Reference:=Sheets("1. Recipe Master Sheet").Range("A1") Range("A1").Value = InputBox("Menu Item Name?") End Sub
When I limit the scrolling area in a worksheet, and it works there and then, when I close and reopen the whorkbook, the limiting does not work.
This is how I do it:-
I Right-click the sheet tab for the sheet which I want to place a limit. In the resulting Context menu, I choose View Code. The VBA editor appears and asks for the password to view the code. I keyin the password
I then set in my limit as B2:O25
Then I close the VBA Editor and display the worksheet where I try and I find it working.
How do I stop a user from entering more than 2 decimal places?
If I format the cell to "0.00" I can still type in 1234.1234 and it will display 1234.12. If I select that cell, the value in the formula bar is still 1234.1234.
Here's my problem. In column B, i wish to allow users to choose 15 items for which i have created a list using validation. Each cell in the range B1 to B15 will contain one item. I have managed to allow them to select only 15 items by locking the other cells and allowing only the range B1 to B15.
However, i need prevent users from entering more than 5 identical items from the list. They can only choose a same item up to a maximum of 5 times.
Would you guys have an idea of how i can get around this problem? I really need to prevent them from entering the same item from the list more than 5 times and not only warn them.
I've got a worksheet that needs to be limited by the value in a cell. I've attached it so you can look at it and understand what I need better. In I7 (red box) is a number that is the max a machine can rotate. B6 should never exceed this and B9 should be scaled down to match the output of B6. I think B9 will scale down automatically from the existing formulas if B6 is throttled correctly.
Should =FLOOR((((F5*D11)/D9)*3.82),50) have a max value equal to I7? And how would I incorporate it?
I have a spreadsheet with data in every other column (i.e. A, C, E, etc.). I am using the "filter" option in Excel on the aforementioned range of cells although the little filter icon shows up on all columsn, including the blank columns in between my data. Is there a way to only have the filters show up on the columns with data?
Im building a booking/diary system for work.My system runs 9am till 5pm, 10 min slots. The team is 4 people. So I have 4 columns, one per team member, and each row is 10 mins. 9am, 9.10, 9.20 and so on.
I want to limit it so that if say 2 people already have something in at a time it wont let another person type in that slot. I would prefer a none VBA sollution if possible due to the ancient computers in running it on, but not too fussed if thats the route I go down (as I suspect I will)
The sollution I was considering was having a COUNTA for each range, and if it is 2 or over, not let people type into the other slots. This would also let me add exceptions by using a COUNTIF to minus other characters if needed, but im not sure if I can make excel "block out" a time slot. My other sollution would be similar, but have them to autopopulate the empty cells with an "X" if they are 2 or over as thats what I use to block out slots (breaks, lunches etc)
My other problem is that if they then type into the cell, it will obviously type over the formula, which makes me think it will have to be VBA.
I'd like to insert a picture background for multiple s/ sheets I've developed, however, even though the images I'm using are only 30kb's in size, it bumps my s/sheet file size from 900kb's to over 4mb's ! Is there a way I can stop this from happening, or, any way to restrict the background image to only a certain part of the worksheet as opposed to the entire thing?
I am trying to compare two workbooks and am running into the problem that since I declared my two workbooks, I am limited in the methods that I can use. Here is all of the code so far.
Option Explicit Sub UpdateMasterFile() Dim wbMaster As Workbooks Dim wbEmailed As Workbooks Dim wsPC As Worksheet Dim Master As Long Dim Emailed As Long Dim intMaster As Integer Dim intEmailed As Integer Set wbMaster = Workbooks("Master Info.xls").Sheets("PlantsCom") Set wbEmailed = Workbooks("EmailedData.xls").Sheets("NewInfo") Master = Workbooks("Master Info.xls").Sheets("PlantsCom"). Range("a65536").End(xlUp).Row Emailed = Workbooks("EmailedData.xls").Sheets("NewInfo").Range("a65536").End(xlUp).Row..............
i am considering the use of custom menus in an Excel application. is it possible to limit the selection of menu items for each worksheet? for example, sheet 1 all menu items are available, sheet 2 all but 2 menu items are available, sheet 3 all but 5 items are available.
I would like to be able to limit a drop down list's contents based on a user's selection in a different drop down. I am using Excel 2003, and I know how to do this in Access, but I can't figure it out in Excel. Basically, I have a list of themes in one drop down. The user picks a theme, and goes to a second drop down which is a list of sub-themes attributable to that one theme and no other theme.
I have a macro I found here on the boards written by Lenze to delete an entire row based on what is found in column A. I would like to delete any row where Col. B contains 10 or less characters and I have modified it to do so (or at least I think it does). My problem is that it takes about 12 minutes to run the macro (I have about 50k lines to run through). I was wondering if this is the fastest method or if it examines things other than just column B.
Sub Test() Dim i As Long LR = Cells(Rows.Count, "B").End(xlUp).Row For i = LR To 2 Step -1 If Len(Cells(i, "B")) < 11 Then Cells(i, "B").EntireRow.Delete Next i End Sub After this runs, I am left with Columns A to somewhere around AH. The columns are generally in the format of text followed by a numeric column. An individual text column has the same name through all of the rows. The numeric columns have varied values whether negative or positive. Ideally what I would like: If a given cell (ie. C2) in Row 2 is numeric, then copy the cell to the left (ie. B2) into (ie. C1) and then delete Column B. I need this to work for multiple columns from B to C, skip D and E, and then from F to AG (and maybe beyond).
my existing macro, as the run takes to much time to complete. (at least 20min) I've already tried several loops, but no one worked for me. Following situation: There are two excel files, entries in column 73 - 85 will be copied from WorkbookRust to the other workbook if the numer in column 5 is the same. Not every cell within this columns contains data, so the macro should automatically jump to the last entry in each of the above mentioned columns, instead of predefine the range as you see in the code below. After the data is copied to the other workbook, it will be filtered acc. to Sub FilterMain and then copied back to WorkbookRust. As already said, the whole thing works, just to lame.
Sub Allmacros() Dim WorkbookRust As String WorkbookRust = ActiveWorkbook.Name ChDir "C:Documents and Settings vogtMy DocumentsRüstplausch" Workbooks.Open Filename:= _ "C:Documents and Settings vogtMy DocumentsRüstplauschCH_Revenue_2008.xls" Sheets("Main_Overview").Select Windows(WorkbookRust).Activate Application.run ActiveWorkbook.Name & "!UpdateEntries" Application.run ActiveWorkbook.Name & "!FilterMain" 'not ask to overwrite existing file Application.DisplayAlerts = False Workbooks("CH_Revenue_2008.xls").Save Workbooks("CH_Revenue_2008.xls").Close End Sub
I have a spreadsheet which is updated daily. Row A of the sheet has the date in it, and every day a new column is created for the that set of data. I have the below code which works at the moment:
[Code] .....
I want to use this same code on another spreadsheet to do the same process (I need to copy and paste 4 columns (A,B,C + D, into E, F, G & H, then tomorrow it will copy E, F, G & H into I, J, K &L etc etc)). The problem I'm having is that A1:C1 is a merged cell, then D isn't (used as a border to separate). So when it is copied I need to select the merged cell columns and column D (i.e. A:C & D on day 1) and paste it into E:H with E1:G1 merged.
How would you set up a macro to delete numbers in a spreadsheet in one column that appear in another column or worksheet?
In other words, if I have the numbers 1,2,3,4,5,6,7,8,9, 10 in one column and in the same column, or another column or worksheet I have the numbers 1,2,3,4,5 - I need a way to delete 1,2,3,4,5. I know how to delete duplicates via the advanced filter but I want to have the duplicate and original deleted.