Select All Non Blank Data In Columns
Nov 7, 2008I need to select all data in columns A:F but the number of row containing data is variable. I need to select only the rows with data.
View 7 RepliesI need to select all data in columns A:F but the number of row containing data is variable. I need to select only the rows with data.
View 7 RepliesI have a large spreadsheet of species activity data and want to separate information from two columns to create a bar chart of when a certain species is active over a 24-hour period. There are duplicates of each species in one column and a unique corresponding time of activity for that species in another, something like the following:
Species A 23:01
Species B 07:09
Species C 13:45
Species D 08:30
Species A 01:55
Species A 22:07
Species C 15:29
What formula can I enter that only selects Species A and their corresponding times that I can copy into a new spreadsheet?
So, in general I do have two columns F and G taken from the other xls.
Age is obviously difference between today and open date
Open date is open date.
I made a table like:
Age and due date.png
In this case, I have 3 rows where there is no open date extracted, therefore is no age. The counter stops on them and shows 529 in total instead of 532 or shows the age as far more than 365 days. How can I count the blank cells, but only in the range of the list I do have, not the all blanks I have from the beginning till the end of the column, so I could (for similar in this case) have 3 blanks cells counted?
Sometimes is also stuck in the middle of counting (when blanks are inside there) and the total number is even smaller. What function can I use to count these 3 (or less, more inn the future) as BLANK to have the total numbers realistic?
Data is input into my spreadsheet. It is not always in the same cell, and is not always the same length vertically. I want the user to select the top left of the data and then automatically do text to columns. Here is my code that is not working! :
Sub TextToCol2()
Dim rng As Range
Set rng = Application.InputBox(prompt:="Select a cell", Type:=8)
ActiveSheet.Range("rng:A" & Range("A65536").End(xlUp).Row).TextToColumns DataType:=xlDelimited, ConsecutiveDelimiter:=True, Space:=True
End Sub
I have a spreadsheet with a heap of raw data in it. I need to perform a search based on a customer name, then return certain columns from the raw data IF the customer name is matched in one column, AND a special flag name is matched in a second column. The customer name is always a single entry for the purpose of the query, however the special flag must be checked against a possible list of values in a table. I know this is hard to explain, and I can't add attachments to my posts, so I have created a sample document and placed in in dropbox:
[URL] ........
I have a large table about 2000 rows x 2000 columns (small extract below) and i need to get all the non-blank data out of it into just 3 columns ignoring any blank cells. Column A is the customer account number and the other columns contain the prices for the part numbers as described in row 1.
a/c - part no
002000
S01000
S01020
S01040
S01060
S01080
[Code] .......
What I need to end up with is list of Account/Part No./Price like this...
A/C
Part No.
Price
00017391
S01020
7.2100017391
S01060
10.4500017391
[Code] .........
There will be about 70,000 lines from the table I have.
I have some data from many csv files.
I would like to record/create a macros to open the file and paste 4 columns worth of data into another spreadsheet. Making sure the data is pasted in the correct column and doesn't overight data already in a tracker. Ie. paste it into the next available space.
Output.csv
We utilize large data sheets that can be as large as 300K in rows and 10 to 15 columns wide. Because of how we receive the data, we are forced to manipulate things so that all matching data for a record ends up on a single row. (e.g. Record#, Document Type, Husband Name, Wife Name, Wife Maiden Name, Etc.)
Right now here's how the data is received:
a
a
a
b
b
c
c
c
c
d
d
d
e
e
e
e
Using two vba scripts, we first separate the data with row spaces between the unique data as follows:
a
a
a
b
b
c
c
c
c
Then with another script, we transpose the data as follows:
a a a
b b
c c c c
d d d
e e e e
When we transpose the data, the end result starts at the top of the page and go down eliminating the original blank rows. Not a huge issue but I would like to be able to maintain the original data format of the rows so that the data matches the original sheet line for line. The end result would give me the data as follows...
a a a
b b
c c c c
d d d
e e e e e
where the vertical gaps between the letters matches the original rows. Like I said, not a huge issue since we can rejoin the transposed data to the original data fairly easily. But it would be nice if we could end up with the above format for speed sake.
The two scripts we use, one-to insert the rows and two-to transpose, take a very long time to run with the transpose script taking the longest by far. On a 30K row sheet, it will take on our systems around 30 minutes to transpose and about 15 minutes to insert rows. Because we have several columns that need to be transposed, a 30K row sheet will take at least 2 hours to complete. A 300K row sheet, that will take 10 to 15 hours to complete.
Is there any way to speed up the scripts either by upgrading to a faster CPU and or writing the scripts to preform faster?
My preferred solution would be to write (have) a formula to preform the transposition that gives me the results as noted above since formula's run so much faster than vba. Is this possible? I have tried all kinds of formulas and can not come close and of course the straight transpose function does not give me the solution I need as noted above.
I have enclosed an excel 2010 spreadsheet with 10K rows of data in rows along with the scripts I use (nothing sensitive here). The tabs at the bottom shows you the data before I transpose, then the data after it has been transposed . To speed up the scripts, I have stripped away the all the rest of the data from the original sheet except just what I need to transpose at one time. Once that is completed, we then re-join the transposed data with the original sheet. The six digit number you see to the far left of the data is the record ID number from the original data. We use this to rejoin the transposed data with the original data so that we know everything is back where it should be. (Note: The insert rows script is run on the original data and not the data you see on the enclosed spreadsheet. That is the only way we can generate unique rows with matching ID numbers. We arrive at this by taking the original data, concatenate the record ID with the column we want to transpose and add a # between the two so that we can break things back apart after the transposition using the text to column function using the # as the separator.)
The sheet I have attached is in the 2010 Macro Enabled format...(xlsm format). We use the xlsb (binary) format for the data to reduce the file size as our normal procedure and run the macros from inside that format. Changing from the xlsx to xlsb format did seem to speed up the scripts a bit and greatly improved the file performance as a whole e.g. saving and loading.
One thing I have done to speed up the scripts is to strip all the data away that is not needed for the transposition. That did work but only a marginal amount.
We are using windows 8.0 with 4G memory and your basic processor speed...e.g. nothing fancy.....just your basic stock computer. Nothing else unusual is installed or running on the computer or at the time the scripts are running.
For those of you that process large sheets, how much of a performance upgrade will we see in processing our scripts by either upgrading memory to 8G (or more or much more) and or getting a faster processor? Or have we reached the maximum script speed already? Or is this a limit to Excel.
One other issue to note: As I stated above, on the 30K row sheets, not a super problem with about 2 hours needed to run the scripts on all the data on the sheet. But on the 300K row sheets, it can take 12 or more hours to run and there are times when things 'lock up' running the scripts on sheets this size.
I have a user form that has one combo box on it that right now references one column of data.
Now I am being asked to have three columns of data and the combo box to show one of the three when a certain criteria is met.
I believe it would be easiest to have an additional combox with a change event when the box is populated with "whatever" in the field
So S:3 to S:5 have A, B, C
And EC:1-EC:59, ED:1-ED:59, EE:1-EE:59 contain the data that should show when S:3, S:4, or S:5 is selected.
If S:3 is selected then the list in EC:1 - EC59 would show and so on.
I am trying to count the # of rows in a spreadsheet in which there is non-blank text data in 2 separate columns. For instance, if the spreadsheet looked like the one below (dashes just for formatting purposes):
NAMES-------THIS-------------THAT
Mary-------some text--------some more text
John-------<blanks>---------just text here
Sue--------just some here-----<blanks>
Dave-------something--------something else
Adam------<blanks>-----------<blanks>
The total # of rows with something in both the "THIS" and "THAT" columns above would therefore be 2.
I can I select all non-blank cells (including constants and formulas) in a sheet? I am familiar with SpecialCells(xlCellTypeConstants) and SpecialCells.(xlCellTypeFormulas) but these seem to be mutually exclusive.
Can I do something like: NOT SpecialCells(xlCellTypeBlanks)?
I'm trying to select the next blank cell starting from a specific cell (N45) and then add a value from a textbox.
Ive got the following code but it isnt working.
Code:
ThisWorkbook.Sheets("RRHH").Range("N45").End(xlDown).Offset(1).Select
Selection.Value = NameTextBox.Value
I am trying to write a macro to paste some data from one worksheet into another. I need to paste the data into the next blank cell down from the existing data.
I have looked at this thread already
For w/o next error
but cant seem to get it to work.
This is the code I have got so far but it isnt working. any help would be much appreiciated.
'main part of code to copy data left out
Windows("performance tracker.xls").Activate
Sheets("Data").Select
ActiveWindow.SmallScroll Down:=9
Set rngDestination = wsData.Range("A65536").End(xlUp).Offset(1, 0)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = Format( Date, "dd-mmm")
Sheets(" Total").Select
ActiveWorkbook.Save
I have a spreadsheet for tasks. When I select from a pull down to mark as "Completed", I would like this to cause the cell containing the start date to go Blank.
View 2 Replies View RelatedI want to select the first blank cell in the first blank column. I would just look at the column and instruct it to select a given range, but each month the blank column will change (by moving one to the right).
So for example
This Month:
Columns A-Q all have data in it. So, I would need to select cell "R1"
Next Month:
Columns A-R will all have data in it. So, I would then need to select cell "S1" Need code to auto-detect the blank column and then select that column's first cell?
I've got 12 columns (headed Jan - Dec), each of which contains a combination
of numerical & blank cells. For each row, I want to select the first
non-blank cell and return the column header that it lies in e.g. Row 1, first
non-blank cell is in the Apr column, so I want the text "Apr" to be returned
to another cell.
I came across this code that selects (and extends) cells between the active cell and the next cell with data.
Is it possible to modify this so that it selects the entire Rows ?
Code:
Sub Test()
If Selection.Select "" Then
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Else
Range(Selection, Selection.End(xlToRight)).Select
End If
End Sub
how to get a selective cell range after i apply a filter,
I have it currently that it will copy the data shown but i don't want it to copy if there is no data present?.
ub Ding*****urn()
' Ding*****urn Macro
Sheets("Master").Select
Range("D1:E1").Select
Selection.AutoFilter
ActiveSheet.Range("$D$1:$E$800").AutoFilter Field:=1, Criteria1:= _
"DINGLES BOURNEMOUTH"
ActiveSheet.Range("$D$1:$E$800").AutoFilter Field:=2, Criteria1:="MENSWEAR"
Range("A2").Select
[code]....
when i comes to the selection i only want it to copy cells that represent a value within that filter not cells that are blank?
i need a macro that will select all the blank cells in a column.
View 5 Replies View RelatedCan a macro be used to select only blank merged cells on a worksheet? If so, how do I create this macro?
View 6 Replies View RelatedI have a spreadsheet which always contains data beginning in column A and through row H. However, there may be blank cell(s) in columns B through G. Therefore, if I use
Range(Selection, Selection.End(xlDown)).Select
it will not take me to column H if say column d has a blank cell. The same applies to my rows which always vary.
I am trying to randomly select 10 data from a table by using index formula. But there are some blank cell in the table so It kept returning 0 in the cell.
problem.xlsx
when I select 30,000 Row and 3 Columns then Edit>GoTo>Special>Blanks , Excel gives me MSG : selection is too large
View 2 Replies View RelatedI have a problem with the following code.
I want to select multiple rows in a very huge spreadsheet. But, when I
use this code, I receive an error: Runtime error 1004, Method ' Range'
of Object '_global' failed. What is wrong? Or maybe there is other
better way to select automatically empty rows in a spreadsheet?
Public Sub delhol()
'
' delhol Macro
'
' Keyboard Shortcut: Ctrl+d
'
Dim k As Variant
Dim rr As String
k = Array(34, 35, 38, 39, 40, 77, 133, 182, 207, 209, 225, 226, 295,
299, 300, 338, 394, 437, 468, 470, 480, 481, 560, _
591, 599, 655, 712, 729, 746, 755, 756, 852, 860, 962, 990, 1005,
1006, 1077, 1081, 1082, 1083, 1114, 1176, _
1217, 1252, 1260, 1261, 1338, 1342, 1343, 1344, 1375, 1381, 1437,
I import a text file that displays outstanding parts orders. The order Number column only displays one number even if there are multiple parts ordered I.E. so if three parts are on order then the order number is displayed once with the other two underneath blank. I would like to filter the column that displays the amount of stock that is available so that even if the row has no stock but the other two have all three rows are displayed that reference the order number.
Example Screen
Example.jpg
I want to select the variable range somewhere in the middle of the sheet from where the 2nd instance of cell named "real cost" is, down to the next blank row (select the area without the blank row), so that I could copy it to another sheet.....
View 6 Replies View RelatedI am trying to achieve the below objective but getting error message
Objective: select last non blank row and offset to next cell type a message in it
error message: Runtime error 1004 : method 'Range' of Object '_Global' Failed
CODE:
Sub lastRowAll()
myvar = ActiveSheet.UsedRange.SpecialCells(11).Column
myrow = ActiveSheet.UsedRange.SpecialCells(11).Row
Range(myvar, myrow).Offset(0, 1).Value = "Experiments with VBA"
Range(myvar, myrow).Offset(0, 1).Activate
End Sub
Was wondering .. as I can not seem to find the right type of coding.
I am trying to have the file open in the next blank cell on column C, ut at least have 5 lines showing above it as there is Freeze Panes.
Is this possible for excel to do upon opening?
I would like to search Column C for an instance of the text "Std. Residual", then cycle through the non blank cells to the right and run some formatting code:
VB:
'this line will be modified so that i cycle through the non blank cells that i have found
For row_cycle = 1 To 7
'not signifcant
If Abs(ActiveCell) < 1.96 Then
Selection.Interior.Color = 255
[Code] .....
I then want to search for the next instance of "Std. Residual" in Column C, do the same again, and so on for the entire Worksheet.
I am using a Uderform in order to check if some cells in several columns are higher or lower than values I set in my textboxes.
However, I think I am having a mistake in my code (it runs but doesnt return the correct informations) as I have blank cells in certain columns.
Concretely I am giving 1 point if the criteria is valid (if for example the value in the cell is <= 1) but some of these criteria are 1 when they should be 0.
As I said it runs but I need to add a fix for empty cells / blank cells and if possible N/A error cells in this so that the code gives 0 to the criteria and moves to the next column (next select case)..