I am trying to write a macro that will insert a formula directly into the cells in column M of my worksheet.
The worksheet has about 3400 rows. When I run the macro it does not adjust the cell reference in the formula so I am getting the same value in all 3400 rows.
I'm looking to insert a comma between letters and numbers like seen below using Windows 7 and Excel 2013. I'd prefer to do this through a formula and not a VBA script. I know this is easy to do if you know how many characters strings are going to be and the format stays consistent.
I was wondering if there could be a way for a macro to Look at the column i have in this example and have it end up like the ends up with tab.
I start of with the "starts off with tab", and manually enter letters till i get the ends up with tab.
Basically the macro needs to look at the column and see where the yellow pointers are. From here it should Put letters in alphabetical order starting with A, ( once it hits Z it should go to AA, AB , just lik excel columns are named after Z ).
SO where ever the yellow box is , it should have a new letter in alphabetical order, everything below the yellow box till a new box will be that same letter.
MY example tab of the column finished should explain what i need and help clear any problems i presented here.
I have a column of cells, some blank, some containing just numbers, some containing just letters, some containing numbers preceded by the the letter 'p'
E.g.
frt 34.2 36
p34.5
In the cells containing the number preceded by the 'p' - i would like to remove the 'p' leaving just the number, with all other cells remaining unchanged.
Is there a VBA command to get the letters, instead of the numbers, of the column of a selected cell?
I have to letter a list whihc means setting up a loop using character codes.
I may have to go into double letters so I am working on how I would set up the loop for if and when it gets past 90 and starts on double letters. so far the highest is the letter "U"
of course the easiest would be to pick up a column value as a letter
I was wondering if it's possible to unhide a row directly below one that is visible?
I am creating a template for users that allows them to choose which lines (rows) they would like to use. They then hit a button to hide all the other lines they don't wish to use.
For each row that is visible I then need the row directly below it to become visible so that the user can enter associated information.
I'm stumped on how to do it. I have the user entering "a" in column A for any row they wish to keep - but I'm not sure how to incorporate this into unhiding the row below (or if I'm on the wrong track with my thinking).
How I can control many loops directly after each other. For example I have this script:
If (Cells(x, column) > 35 And Cells(r, column) < 25 Then
If (cells(x, 75) = "GotU") Then xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Else
If (cells(x, 85) = "GotYah") Then xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Else
If (cells(x, 95) = "GotYou") Then xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx End if
Is this script correct if I want the loops to check all data that I write (for ex. GotYou, GotYah etc.) or do I need to end every if before next if? I want that the loops makes all 3 controls.
I've been working with this script to import and paste a webpage to a worksheet. Once the webpage is on a worksheet I can pull it into VBA easily enough but I was wondering if there's a way to "paste" the webpage directly into an array in VBA and skip the paste to worksheet step?
Code:
Set IE = CreateObject("InternetExplorer.Application") With IE .Navigate theURL IE.Visible = False End With
I have developed an extensive program running on excell but with the user only seeing userforms. I would now like to build in a "print screen" button, but have no idea how to do this.
What it needs to do is capture the userform and all its entries (as it is displayed on the screen) and send this to the printer to be printed as a picture. I am assuming that there must be code available so that when ever the user clicks this button, the standard windows (or excell) print screen appears from which he will be able to choose the printer etc.
I have found some code that allows me to email directly from within a workbook, but the example only contains one addressee, I wish to send to 3 or 4 different addresses, these addresses would remain constant once entered. How do I alter the code?
Sub sendactiveworkbook() ActiveWorkbook.SendMail _ Recipients:="type-in-email-address", _ Subject:="New Quote Raised - Test Transmission " & Format( Date, "dd/mmm/yy") End Sub
Is there any way to refer to a cell that is directly to the left of the current cell?
I need to create a Comma-Separated Value file with the Excel formula in the CSV file. Because of this, I do not know the current cell location, but want to do something like =(Cell directly to the left of me) + (Cell two cells to the left of me)
I have an excel file with about 200 images! This increases the filesize too much. So, I want to (if possible) have all the 200 images in different files, but still show all the pictures directly in Excel like before, without having the directly imported into excel. So, easy explained: I want to show a picture directly in excel that is in another file without having the picture increasing the filesize as before! How can i do this??
Lets say we have prices in column (B) and in column (F) I want to insert a formula that says:
In the same row, look at cell in column (B). If price is between 1000 and 8000 then put 2.00 if price is between 500-999 then put 0.50 if price is between 1-499 then put 0.00
I need to achieve this using something like =OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())),0,-1) but I am not sure how its done.
I will be using this formula in a find and replace macro. So I can NOT make the typical drag and fill formula.
I want to thank you all for the solutions/support I received in completing my (for me) difficult workbook.
I still have a tricky problem. In the example below, can Multibeep "know" when it is being called from Beep versus being excuted directly? And if so can I direct a different sequence?
I have a large number of webpages represented by live hyperlinks in a worksheet. I need to save the webpages either as html or prefereably as text files. My current option is to save the worksheet as a html file, open the saved html file in Opera and manually right click and save these webpages to the download folder. This will save the webpage without opening it in a new window or tab.
I would like to write a macro that automatically moves vertically from cell to cell and saves the webpage without opening a browser and requires no user interaction.
I need to know the commands to have the macro read the hyperlink in the cell, got to the website and save it to a location on the local hard drive using a differently numbered filename (file1.txt, file2.txt etc)
There is no problem if a webbrowser needs to open and close as long it is done automatically and controlled by the excel macro.
I'm having trouble creating a hyperlink that will automatically take a value from a cell and link me directly to a file of the same name across the company server.
For example in column B I have a number along the lines of
43FG2345678
In a folder on the server I have a word document that goes by that exact file. I need to create a hyperlink that looks up that value and searches for that specific document in the location file, and then directly open that file.
The value in column B will change with each line so as I copy the formula/hyperlink down I want it to automatically go in and replace the text and then lookup the file.
I have tried the concatenate function within the hyperlink but not had much luck.
I have the following code that will go down through column "L", look for the value "ATS", and if found will move it to the right 1 cell. this works find,
My need is to also move the 2 cells directly below the cell containing "ATS", then clear the contents of the "Original" 3 cells before going to find the next instance of "ATS".
Sub Move_Values() Dim myrange, cell As Range Set myrange = ActiveSheet.Range("L4", Range("L5000").End(xlUp)) For Each cell In myrange If InStr(cell.Value, "ATS") > 0 Then cell.Offset(0, 1).Value = cell.Value cell.ClearContents End If Next cell End Sub
I am playing around with code to extract stock prices from Yahoo! Finance.
The data is extracted from Yahoo in the form of a CSV string, for example:
"HSBC HLDG",596.80,"-0.22%"
I've written code to split the string into cells as I'd like, but just realised that if I copy the above text manually from the Immediate Window (on the back of a Debug.Print) and paste it anywhere on the worksheet Excel automatically splits the string and reformats the values.
Although my code works perfectly I was wondering whether there is a shorter way of doing this, i.e. by just coding up the above action? I've tried a few routes but haven't found a solution yet.
I have a large number of webpages represented by live hyperlinks in a worksheet. I need to save the webpages either as html or prefereably as text files. My current option is to save the worksheet as a html file, open the saved html file in Opera and manually right click and save these webpages to the download folder. This will save the webpage without opening it in a new window or tab.
I would like to write a macro that automatically moves vertically from cell to cell and saves the webpage without opening a browser and requires no user interaction. I need to know the commands to have the macro read the hyperlink in the cell, got to the website and save it to a location on the local hard drive using a differently numbered filename (file1.txt, file2.txt etc)
There is no problem if a webbrowser needs to open and close as long it is done automatically and controlled by the excel macro.
I have a macro which creates 4 worksheets. Unfortunately sometimes they are named by default "Sheet5", "Sheet6", "Sheet7", and "Sheet8" when the macro is set to "Sheet1", "Sheet2", "Sheet3", "Sheet4". My question, is there a way to rename the sheets directly after creating them so that the sheet in the very first position in the spreadsheet is named "Sheet1" (the same would go for sheets 2-4). The code below wont work if the sheet decides to be a name other then "Sheet5" so how do I point to the the worksheet known as Sheet5 without using its name and tell excel I want its default to be "Sheet1"?
how does one alter a variable without referring to it directly? Eg. One has a combo box (CboPNum) with values from 1 to 20 and textboxes (TxtN1 to TxtN20). Upon selecting a value from the CboPNum dropdown, the background of the corresponding TextBox should be changed. I’ve tried to create something that joins the string “TxtN” and the CboPNum value:
ThisTextBox = “TxtN” & CboPNum.Value ThisTextBox.Background = Black
But this quite correctly gives the error “Object required”… What do you guys recommend?