I use excel 2002 but some of my office are on 97, i want to add a small workbook open event code which works for me but debugs for the others?? The code is basically, go to a tab, on that tab and that range sort..
I've developed a little software using Excel Macros & VB. To prevent people from accesing the code I protected the code blocking it from visualization. It seems not enough as an acquaintance of a friend cracked it in 25 minutes. Or so he says. So I'd like to know if there is a better way to protect the font code.
What is the most efficient VBA code for the following macro recorded codes? I wish to write more efficient code versus the lengthy, cumbersome macro recorder code.
1) Macro Recorder Code to Copy One Sheet to Another
I am trying to determine how to get the code below to fire whenever cell J10 is populated and do nothing when cell J10 is not populated but I can't quite get it. (Cell J10 is manually changed and is not changed based off of a formula)
I'm trying to add buttons to an excel spreadsheet at runtime. Each row in the spreadsheet should have its own buttons. I was able to create and edit them with the ActiveSheet. OLEObjects.Add() function, but after that, when i was trying to create code dynamically to react on the buttons' click events excel crashes (actually it works for one button, but not if my routine for adding a new button and event code is called more than once in a row!)
The code below works if the AddCmdbuttonWithCode() is called once, but crashes if it is called two or more times. Excel tries to restore the document after the crash and the first button and its corresponding click event code is visible and works... but NOT the second button and its event code...
The only way I can create multiple buttons right now is by calling my method once per click, opening the vba editor, changing the parameters for my AddCmdbuttonWithCode() routine and execute it again. After that I have mutliple buttons in different lines which all work fine (so the concept seems to work).
The problem seems to be the insertLine method, since everything seems to work if i leave it out (except for the code generation of course, since this is done by this part of the code :-) ). Is it possible that calling the insertLine Method can't be called multiple times? I don't know... any ideas? Feel free to test my code - it's small, easy to understand and has comments.
'this code calls the method which creates the buttons in specific cells with specific names Private Sub CommandButton3_Click() 'the first call always works! AddCmdbuttonWithCode "Edit_111_111_114", 23
'the second one crashes excel AddCmdbuttonWithCode "Edit_111_111_115", 27 End Sub
I have accounts that I need to compare to see if they exist on my system the account that has a listed date, exist on my system then if I can fill the dates in the accounts the match then I will be able to delete the other accounts that don’t have a date see attach file for more understanding.
I'm only starting to get into the Macro side of excel, and I've created a couple of macros to automatically format cell contents and the like. However I'm having trouble trying to divide some cell contents by 100.
I have 2 files I'm working with, one contains information regarding cd's and percentages, however the percentages in this file cannot be formatted to percentages (so the powers that be say) for whatever reason. I copy all this information into another file which does have the percentages formatted as percentages, the result is that the values get multiplied by 100.
So values that read: 100 50 50.25
for example, appear on the new sheet as: 10000% 50000% 5025%
Is it possible to write a macro that will divide these percentages by 100 so the read correctly as: 100% 50% 50.25%
Is there anyone who can suggest a solution to my problem below ? Basically, what I need is a macro which would ideally work like this:
if D32 = 1, then the background colour of D4 should be red if D32 = 2, then the background colour of D4 should be orange if D32 = 3, then the background colour of D4 should be yellow if D32 = 4, then the background colour of D4 should be green
I need a vba code to run a macro when a specific word entered in a cell. i.e. when a word "Duplicate" entered in a cell O2, the macro run automatically.
I have looked at a series of Change Event topics and code but can't see what I need. I simply want a macro to run automatically when a cell ....which contains the Maximum time from a range.... changes. I assume I use .... Private Sub Worksheet_Change(ByVal Target As Excel.Range) ...but I have no idea what code to use...
Need to take column J20:J255 and column K20:K255 and concatenate into activesheet K20:K255. This needs to happen when OptionButton1.Value=True. The information in each cell will be different. The following code works well, but it will not allow me to put a space in between the two strings.
Private Sub OptionButton2_Click() Dim DescriptionCell As Range Set DescriptionCell = ActiveSheet.Range("D20:D54") If OptionButton2.Value = True Then With DescriptionCell .NumberFormat = General .Formula = "=CONCATENATE('Bill of Materials-3'!F20,'Bill of Materials-3'!I20)" End With End If End Sub
I've got 3 sheets, A, B, and C. In sheet C, I have a cell named "element". That cell can have either the letter A or the letter B in it. In my VB code, I want to reference the sheet which correlates with the "element" cell. So,
Worksheets("element").Select
when the user clicks my "go" button, it calls this logic, and I want the worksheet that correleates to the letter in the cell in worksheet C - to open.
The reason for my posting - this is not working, and may not even be possible. Perhaps someone has experience in this and knows how to do it - or knows a different way to do this.
I'm trying to set named range as a constant in VBA, to allow me to recall the same range as an output target in different subs, without having to 'set' it in each module. I have tried to declare it at the top of a module like this...
Public Const tpnb_range = Worksheets(" SQL").Range("tpnbs")
and get a "Compile Error : Constant expression required"
how to open a Hyperlink directly. I have writen some code which allows me to copy over certain cells from a large list of hyperlinked files. However I am struggling to figure out how to open the hyperlink without actually writing the hyperlink address into the code. The hyperlinks are the file names and not the file paths. In essence I'm aiming to just get the macro to "click" the hyperlink to open it. Once the file is open the rest of my code will work, it is just this one sticking point.
Is this possible using code: Copy Cell A1 and Paste in first empty Cell down Column D. This would be connected to a command button. Both Cell A1 and Column D are on the same spreadsheet.
I have a user form we are using to transfer data into an excel spread sheet. When transferring the date from a text field it is formatted as general, I need this to be a date format DDMMYYY. The cell needing formatting is N2
Among many attempts to insert and autosize a comment using VBA manually, which errored, i recorded the following bit. When running the macro, it does format the cell - text, not the comment - text and errors in the line highlighted in red.
Range("A14").Select Range("A14").AddComment Range("A14").Comment.Visible = False Range("A14").Comment.Text Text:="Ladida" With Selection .HorizontalAlignment = xlLeft .VerticalAlignment = xlTop .ReadingOrder = xlContext .Orientation = xlHorizontal .AutoSize = True End With
I just want to add
.AutoSize = True
or something to that effect to the bit below. Any suggestions?
I can't seem to find the answer to this. In VBA, how do you Find a cell or row based on multiple criteria? All I need is to find it's location. If it helps, here's an example:
Sheet 1 contains source data: Date Name Time Complete
Sheet 2 contains an interactive worksheet using this data. On Sheet 1 there's an entry: 9/12/2006 George 03:30 PM
Sheet 2 displays those records with adjacent cells for entering data. When data is entered, I need the system to go back to Sheet 1, find the entry that matches this one, and put an "x" in the Complete column.
I have cells in a column that record time in date. Unformatted it would appear as 19789.51407 but formatted to show time and date it would as appear as 3/6/54 12:20 PM. I am making graphs with the data and I want the title of my x axis to read "GMT Time (mm/dd/yyyy - mm/dd/yyyy)" or "GMT Time (mm/dd/yyyy)" depending on if the event spans more then one day. Using the following code, it almost accomplishes this.
Dim strDate As String Range("CO3").Value = Range("A3").Value Range("CP3").Value = Range("A" & Drag).Value Range("CO3:CP3").NumberFormat = "m/d/yyyy" If Range("CO3").Value = Range("CP3").Value Then strDate = "GMT Time (" & Range("CO3") & ")" Else If Range("CO3").Value < Range("CP3").Value Then strDate = "GMT Time (" & Range("CO3") & " - " & Range("CP3") & ")" End If End If
Where "Drag" is a variable that signifies the total number of cells in the column; ie the first and last dates. It compares the values and saves the results as a string. The problem is that when the string is saved it saves the date in mm/dd/yyyy hh/mm/ss. How can i separate the date from the time so I can have the title of my x axis appear as i need them?
I have a UDF in Cell Sheet1!A1 that inputs some ranges from Sheet1 and calculates a number. Then I have a sub that calculates the value of this function with Evaluate(Sheet1!A1.formula). However, this only works when I am in Sheet1. Otherwise, I get the wrong calculation. How can I avoid this? I will post the code in the open source forum as it otherwise is quite good and automatically resizes array functions to their proper size.
I have workbook template that I use to generate reports from a list of depts. This list is contained in a drop down cell that is a named range in a different worksheet. My current process is as follows:
-Select Dept Name from the list -Click a command button which is assigned to code that calculates and saves to a file -Repeat for next report until all reports are generated
I would like to automate this process by producing all reports with a single command with the following functionality:
-The Dept Name needs to be populated in the specified cell containing the current drop down because it drive various vlookups and other formulas -If possible, I would like to retain the drop down functionality as I would like to have the option of running an individual report or running the “batch”.