I'm using the code below to do a simple search & replace. The code is working fine.
My problem is after the search & replace is done, certain cells that contain numbers look weird with decimal points & plus signs similar to Format Cells - Scientific. How do I prevent these cells from looking 'weird' in my code?
I've attached a workbook with 2 sheets called Before & After. You can see the 'weird' cells in After.
Sub Macro1()
Cells.Replace What:=": ", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
I'm writting an Excell VB application which reads data from my spreadsheet and places it into the text member of an IXMLDOMElement node in order to generate a QBXML request.
The cell I am reading from has datatype number with two decimal places as required by the xml scheme. The problem is that the Range.Value Variant data type drops the decimal point and any trailing zeros so that 1197.00 become 1197. Unfortunately, the QBXML parser requires to see the decimal as well as trailing zeros. So, 1197.90 must show up as precisely that. Changing 1197.90 into 1197.9, for example, also breaks the xml.
My Excel VBA book specifically states that a Variant data type holding numerical data will maintain the data type assigned to it.
I also tried declaring a local decimal (Dim MyDecimal As Decimal) thinking to try copying the Range.Value value to it before assigning to the QBXML field in order to force the correct data format but my VBA macro compiler does not apparently recognize "Decimal" as a valid data type event though my book clearly indicates it is one of the valid VB data types.
I am using Excel 2000. Are these problems solved in newer versions?
I have a macro that enables me to split my master table into separate tabs based on the first column. However, the column widths and the header format is not retained. Is there something I can add to the macro below to keep the formatting?
Code: Sub DispatchTimeSeriesToSheets() Dim ws As Worksheet Set ws = Sheets("MasterList") Dim LastRow As Long
I have a requirement... which need to search from a cel if it march then replace with below name. When user gives a selection screen, month displays in a cell A1.
For example: If this cel (A1) is jan then it should replace with Jan, if mar then replace with mar, if MAI then replace with MAY, if sep then replace with SEP, if OKT then replace with OCT.... and so on... or It search the cell A1 for MAI, then replace with MAY & also should search for if A1 is OKT then replace OCT, & also if A1 is DZC then replace with DEC.
I know the function of ....
[=IF(ISNUMBER(SEARCH("*MAI*",A1)),"MAY",A1)] =
This formula brings me only 1 search, but I need 3 search if match replace with respective character. this should search for OKT & DZC ALSO....
present - new
JAN - JAN FEB - FEB MAR - MAR APR - APR MAI - MAY JUN - JUN JUL - JUL AUG - AUG SEP - SEP OKT - OCT NOV - NOV DZC - DEC
I have a work problem where my spreadsheets have the following structure due to faulty optical character recognition:
Ringholm 8 G R hem.ag Bavik Postl 115 O Amtervik Rinman K H B dir Johannebergsg 34 Goteborg S Risberg L kass Mitandersfors Bogen
In some cases the letters in the beginning of the cells have been misread as a number (above S as 8), so I want to search and replace those numbers with the correct letter without changing the correct numbers at the end of the cells to letters too. Is there any way to write a search-and-replace code in VBA that will only implement the search-and-replace in (for example) the first five letter-spaces of the cell?
I have values in row A and I have values in row C. I want to create a loop to look up xxx and replace it with the values consecutively in row C. Look at example for a better Idea. I found a way to find and replace, but I not sure how to use it with qoutes. I was thinking maybe I dont even need row A and just supply a list and excel could have the chunk of data in the code itself.
I have created a desk planning spreadsheet in excel. Each week a mailmerge sends out an email to everyone in the office asking them to confirm when they will need a desk in the next week.
As the normal employee doesnt get involved in desk planning I want them simply to state whether they will be in the building or not by entering "GH" (our building) in a cell under each day in the email they get sent.
When the reply comes in we select the cells from the email and then paste them into the desk planning spreadsheet. -----
WHAT I NEED TO DO: Select some cells (must be in the same row - that we have just pasted in). Press a button on the Worksheet labelled "Auto Assign Desk", which does this:- For each cell that contains "GH", replace with the right-most cell to the left of the selection that starts "GH_"... (this is the start of a unique desk reference (GH_1_1, GH_1_2,etc.) -----
This will assign the employee to the desk they were sat at last, when they are in the office next week.
Within Worksheet_BeforeDoubleClick, I have the following simple code extract that sets the appropriate autofilter to the correct value (and highlights a couple of cells for clarity) when a particular cell is double-clicked...
If Not Intersect(Target, Range("C10:AQ11")) Is Nothing Then
If Not Intersect(Target, Range("C10:D11")) Is Nothing Then
You'll be happy to hear that the event works as expected.
However I would like to add the following enhancement: after Worksheet_BeforeDoubleClick completes the "double-clicked cell" is selected, is it possible for the "original" cell to be re-selected once the event completes?
I am making template and trying to preserve formatting when users paste into a cell. From my research, I have found that this is impossible with simple format protection, it works to prevent changing formating, but if something is pasted (with normal paste), the format will change.
I have found a few solutions, but can't get them to work correctly
Solution A: Disable normal paste and substitute Paste Special - Values
How will this work with pasting via CTRL + V and the right click menu? I need both to function.
Solution B: Allow users to paste normally, but use a macro to copy formatting from a hidden sheet
I actually found code for this, but I couldn't figure out exactly how to impliment it. The sheet that users will be pasting into is called "Batch Summary" and I was trying to pull formatting from a sheet names "Batch Summary Format", but was getting an error.
with the data in the attached sheet, I create several different pivot tables that need show the count of the information in the columns M:DU. My issue is that the data is sent to me from a third party and the columns contain zeros that cause the counts to inflate.
What I would like to be able to do is run a macro that will search out any zeros in M:DU and replace them with a blank cell.
Unfortunately the number of rows increases with every monthly reporting cycle so the macro would need to be able to accommodate for that.
Is it possible to preserve original text formatting when copying and pasting only part of a cell. Like, for example, a cell may contain ten words one of which is in red and underlined. How do you copy that one word and paste it in another cell so that it remains in red and underlined?
With ADO (ADODB.Connection), is there a way to preserve the cell formatting on the worksheet that the recordset data is copied to? Right now, if I format a Cell's font and font-size, then run the Macro to refresh the data, the formatting is gone and it's back to default formatting.
I have several hundred rows of date/times which I need to modify just the date (for example 08/23/2007 11:00 to 08/15/2008 11:00). Each row may have a different time so it is just the date I'm targeting for change.
If I manually use the replace dialog, replacing 08/23/2007 with 08/15/2008 works just fine. However, if in code I attempt to use the Cells.Replace function, it does not locate any data to change.
I have found that if I search for the string 8/23/2007, the dates are located and changed. Only when I attempt to find the fully formatted date 08/23/2007 does the function fail.
In sheet one I have a list of bank transactions. I want to find all transactions matching a specific search string (in $C$2). $C$2 is compared with data in column B of sheet 705334-0707-0408.
How do I get a nul value in column A (=IF(SEARCH($C$2,'705334-0707-0408'!C3)>0,ROWS($1:2),"")). I've tried to compare the result to #VALUE, and tried NOT and a few other combinations, but can't get it to work.
I cant use the contents of a different column; there are only date, details and amount. None of date or amount influence, or are influenced by the details in column B.
I have a Master work sheet consisting sale data of more than 400 Sales person for a period of 6 Months.
The Employee Codes are entered in column "F" starting from F6, F7, F8 and so on....
G5,H5, I5, J5, K5, L5 to GV5 has the product names.
G5,H5, I5, J5, K5, L5 to GV5 has the qty of product sold by that concern sales person.
Since each sales person's occurrence is 6 times in the master sheet, I would like to have a code to search each and every sales person by their employee ID through out the entire master sheet, sum each product they sold as per the product name and get it entered in their concern cells.
End Sub Control sheet B1 = SG999 Control sheet B2 = Product Description
EG - SG999 Prod Description.xlsm
Now here's the problem -
Very occasionally some users may edit the Prod Description & then need to re-save
So i need to create some code which looks for an element of the current file name in a Directory (O:PHC BomsDropbox - Stage & Gate) EG "SG999" (Which could be 5 or 6 characters in length (if we go over 1000)
Delete this file, replaces it with the new file with the edited information.
I have numerous formulas that use a macro with an indirect cell reference, for example: INDIRECT(macro(A21))
I am moving these formulas to a different workbook and I need them to still refer to items in the old sheet. I accomplish this by using this formula:
INDIRECT(CONCATENATE("OtherSheet.xls!",macro(A21))) This works. However, I need to do a global search and replace for all of these formulas without deleting my indirect cell reference. I could replace macro with CONCATENATE("OtherSheet.xls!",macro but that would leave me short a ). Is there a way to use a wildcard to accomplish this? It does not seem that replace macro(*) with CONCATENATE("OtherSheet.xls!",macro(*))
I have a worksheet that I produced from optical character recognition, and there are a lot of funky characters that I need to get rid of. One is a line break or carraige return (I assume it's the same character that I could insert by entering ALT+ENTER). How do I search for this special character to replace it? How do I identify what that invisible character is?
I would like to create a macro to search all blank cells within a certain range in multiple worksheets to replace it with a certain blank cell. Essentially i would like to use a special values function to do this.
I have a sheet that I often have to edit and import into SQL database.
I have no control over the format of the sheet given to me and it seems that something has changed causing me the following problem.
When I try to import the Data it’s showing ten times as many items than are actually there.
The problem I think is in a text column. I’ve tested this by using an old column from a previous sheet and pasting this into the new sheet and I can import it ok.
What I seem to have is a rectangular box character but I’m not sure what it is. I can copy and past it into Notepad as it is, but pasted into Word it seems to be a carriage Return.
So whether it’s an actual charter or not I’m not sure.
Are there any tools out there so I can hover over characters in Excel to see what it is! So at least I can be sure what I’m trying to Search and Replace?
I am looping in Excel to find "NUMBER OF EMPLOYEES". IF found I want to go up one row and replace the first 4 digits with " 9ZZ". The Line 1 data will alway be different so I just want to replace the first 4 digits. I don't want it to effect the rest of the line.
Example: Line 1 - 100 6300 BRCH TOTALS Line 2 - NUMBER OF EMPLOYEES
RESULTS NEEDED:
Line 1 - 9ZZ 6300 BRCH TOTALS Line 2 - NUMBE OF EMPLOYEES
I want to replace all blank cells in column A with the word "BLANK" but my problem is that I need to tell Excel to stop searching for blank cells in column A once and only once column A is equal to the last data row in the column named "Product Number". I tried this macro but, naturally, it replaces all the empty cells in the WHOLE COLUMN.
I will always have a header column in row 1. The data is below that (data will always start at row 2).
Columns("A:A").Select Selection.Replace What:="", Replacement:="BLANK", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False How can I change this so that the find/replace macro searches all the way down equal to the last data row in the "Product Number" column?
Below are 2 examples. Example 1 is pre macro and example 2 is post macro.