Check If Sheet Is Active
Feb 10, 2008I am in sheet1, Is there a code to check if the sheet 1 is active or not?
View 6 RepliesI am in sheet1, Is there a code to check if the sheet 1 is active or not?
View 6 RepliesI have this macro that looks in all sheets in column A, except the invoice sheet. How do I alter it to only check the active sheet?
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.Name ("Invoice") Then
On Error Resume Next
With ws
.Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
With .Columns("A").CurrentRegion
.Offset(2, 0).Resize(.Rows.Count - 1, 3).SpecialCells(xlCellTypeVisible).Copy _
Sheets("Invoice").Cells(Rows.Count, "A").End(xlUp)(2)
End With
.Cells.Rows.Hidden = False
End With
Err.Clear
End If
Next ws
I currently have the following macro running to set a chart's data values:
Sub C3Quarter12013()
'
' C3Quarter32013 Macro
'
'
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).Values = _
[Code] ......
When I copy the tab and change some of the data within the cells, I want the macro refer to the chart on the current tab and the values in the current tab - as currently it refers to only "Chart 2" and the values in the tab 'Figure 2 - WE OPH'.
I've tried changing the sheet name to ActiveSheet.name but that doesn't seem to work.
I'm not sure why I can't get this to work.
I need to abort the macro if the active cell is empty.
I've tried:
If ActiveCell.Value = "" Then Exit Sub
and
If IsEmpty(ActiveCell) Then Exit Sub
but neither work. I've found other solutions that test for a particular cell (A1 for example), but I need to be able to test the active cell, which may be any cell on the worksheet.
I've been racking my brains trying to figure this out but cant, please can someone assist. I need to write some vba code that looks at cells in column aa and ag (on the same row) and displays a message is ag > 0 and aa <> "Agency".
View 8 Replies View RelatedTrying to reference cells in other worksheet. Error comes after top line of code.
If Worksheets("Cheat Sheet").Cells(intActiveRow, intActiveCol) = "Mine" Then
Cells(intActiveRow, intActiveCol).Interior.Color = vbRed
MsgBox "You Lose!", vbOKOnly, "MineSweeper"
UserForm1.Enabled = True
cmdUncover.Enabled = False
cmdMark.Enabled = False
Exit Sub
End If
So the constraints are
1. if there's a value in name or names count => must be at least one value in test1 or test2
2. last value in names count must be equal to the sum of trues in B1:B4 Problem Is it possible to identify once any of the cells in A9:D12 are activated that once that range is deactivated I run the check to make sure the constraints are met, and populate default values in the case they are not?
Is it possible to identify once any of the cells in A9:D12 are activated that once that range is deactivated I run the check to make sure the constraints are met, and populate default values in the case they are not?
Trying to figure it out with a some combination of: checking if the last cell I was in was in the range and I am no longer in that range; using the selection change change event?
[Code]....
Attached File : HelpMeWorkbook.xlsx
I have a drop down lets say in cell A1. Based on what value is selected in A1, the user should see a different set of check boxes. My thought, which may not be the best way to implement this, is to have all the check boxes and depending on the value selected in A1, the check boxes that are relevant should be active or visible, while the unneeded ones are inactive or invisible.
View 9 Replies View RelatedI have a macro that is intdended to run after the user has selected a cell in column A:A (any position except A1)
Once the user has selected their desired cell, they press a button and the macro runs.
Occasionally a user will press the button without selecting a cell in the proper column.
I would like a message box to pop up to tell the user "Please select an account in Column A" and bump the cursor (active cell) to A2 so at least it's in the right column to help get them started.
I have a survey template with several options buttons (made from Form toolbar and grouped by Group Box).I would like to have a check box that would activate these option buttons for specific question if unchecked and vice versa.
I have copy & paste below formula in VB, but is shows 'Run time error 424' & when I Debug it shows 2nd line highlighted by yellow colour.
VB:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then [code]....
1) I need to add an edit check
2) have a copy of Active Workbook Path stamped onto spreadsheet with date and time to create a visual record of where the file has been saved (described after the code below).
1) I need to verify that two cells (S7 and S9) are not blank before running my code below (=IF(OR(S7<>"",S9<>""),RUN CODE,"You must select your Provider or Division before you can save this document")).
- If both of these cells are blank a message box should notify the user that they must select the provider and/or division before they can continue with the save.
- If one or more of these cells are not blank the code below should run.
What I have is a sheet that is copied periodically from some source sheet, and on this sheet is a table. This sheet is called "Onsite Checklist Template" and it's table is titled "Checklist". I also have another sheet called "Loggers and Initial Notes" which has a tabled titled "Record", and then finally a title sheet call "Proj Details".
To clear this intro up - The sheets, in their order, is: "Proj Details", "Loggers and Initial Notes", "Onsite Checklist Template". The tables: "Record" on "Loggers..." and "Checklist" on "Onsite..."
When the user wants to make a new site visit, he/she fills in the requested date and then selects a button on "Proj...". When this button is selected, it copies the table data on "Record" and puts it on "Checklist", then inserts a new worksheet tab, always in the 3rd position (the title is based on the site visit date in which the user entered), which is a copy of "Onsite...". Now we have another sheet with a table called "Checklist1", and upon another new site visit, there will be another worksheet with "Checklist2", and so on.
On the "Onsite..." worksheet, there is a button on it which also gets copied with the worksheet so that every new worksheet has this copied "Checklist ???" and this button. I'm looking for a macro that, when the button is selected, will bounce the active sheet's table "Checklist ???" off of "Record" and make changes as needed.
"Checklist ???" data range is B11:M20 (the header is on row 10); "Record" data range is B29:Q78 (the header is on row 28); Column headers are titled the same, just that "Record" has 4 extra columns, 3 in the middle and 1 on the end. "Checklist ???" columns 1-12 to "Record" columns 1-7, 10-12, 14-15. The search criteria is the 4th column in both tables ("Trk #").
I need the macro to do the following:If it finds a match, then update "Record" as needed with data from "Checklist ???", changing whatever cell is different in the row that contains the matching "Trk #", so long as the cell on "Checklist ???" is populated (i.e, if a cell on the target row of "Record" has a value, but it's blank on "Checklist ???", then "Record" wins; if it's blank on "Record", but populated on "Checklist ???", the Checklist wins. If both populated but different, then Checklist wins.If a "Trk #" exists on "Checklist ???" but is not on "Record" then add the line to "Record" (the 1st empty row, table size remains)I see no need for any "delete" at this time.
My concerns: The last column on record (column #16) is the filtering column for the worksheet copy event and needs to be left alone (it's formulated to produce a "Yes" or "No")I would like the ability to adjust table sizes if needed without modifying the macroThe table rows on "Checklist ???" will not be changed, deleted, or altered in any way by the macro.
I'm trying to create a copy of the active sheet and then rename the new copied sheet to what's in cell O4, which is a formula (see below) and then paste value cell O4 in B3 of the copied sheet. However, when I run this macro it doesn't seem to like the second line where I am renaming the sheet (run time error '1004').
"O4" =DATE(YEAR($B$3),MONTH($B$3)+1,DAY($B$3))
Sub NewMonth()
ActiveSheet.Copy Before:=Sheets(Sheets.Count)
ActiveSheet.Name = Range("O4").Value
ActiveSheet.Range("O4").Copy
ActiveSheet.Range("B3").PasteSpecial Paste:=xlPasteValues
End Sub
I would like a macro that will go to a fixed sheet, copy the format, go back to the previous sheet and paste the format. My problems arise going back to the previously activated sheet rather than just a fixed sheet.
View 2 Replies View RelatedI have a workbook that I want to copy two separate ranges from and then post to two different sheets. Range one on the active sheet from A4:K(no of rows will vary) to sheet Savoury Year, and range two A64:K(no of rows will vary) to Site Services Year. When pasting I want to paste it to the next empty row down.
Copy of workbook attached : Weekly Accounts.xls
What this code keeps adding the data to the active sheet instead of the specified "Users" sheet:
[Code]......
I want DELETE the rows that contains 0 (zero or -) in column F (SALDO BRUTO), when I click the Button (Clear). And How I can copy from this sheet to a new sheet in this workbook, but the names of new sheet automatic rename to next date or 2, and next when I click the Button "Copy to New Sheet".
View 2 Replies View RelatedI have a button on a sheet that runs a macro to unhide another sheet. That works, but I want the sheet made visible to remain forward. Instead, the button unhides the sheet and the sheet the button is on comes forward again. I am unable to figure how to keep the sheet made visible forward. Here is the macro 'as recorded'.
Sub UnhideSheet1()
Sheet2.Visible = True
End Sub
I am wanting to create a macro for excel that when run it it will copy the active worksheet and worksheet named "Timesheet" and copy them to a new Excel workbook named the same as the original file + "JobBrief".
View 3 Replies View RelatedWhen a sheet is the active sheet i use the following to define a range.
View 6 Replies View RelatedHow do i change the below code to not reference a named sheet but the active sheet.
In case you need it i'm trying to sort columns A:CQ on row 2 smallest to largest from left to right.
Code:
Sub Sort_Left_Right()
' Sort_Left_Right Macro
Columns("A:CQ").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:CQ2") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
[Code ..........
I have a userform in my workbook with a button to access it on twenty different sheets in the workbook. Currently the userform will only populate the sheet titled "Blank1". How can I change it so it will populate the active sheet without naming it? So no matter what sheet I'm on when I hit the submit button the userform will populate only the sheet I selected the button on? See macro below.
Code:
Private Sub OKButton_Click()
Dim NextRow As Long
Sheets("Blank1").Activate
' Unprotect Sheet
ActiveSheet.Unprotect
[Code] ..........
I want to copy data from the current sheet, and past it in the "montly" sheet.
'i and j were defined above, with a Case statement
Range(" Ai:Cj").Select
Selection.Copy
Sheets("monthly").Select
' I want the upper left cell of the pasted area to be A11
Range("A11").Select
ActiveSheet.Paste
I get an error saying that I should select one cell and then paste. But I thought that that is what I did...
I have a spreadsheet that is nearly 100 worksheets. I am new to VBA and would like to put a button on each tab to return me to the last active sheet. I've tried other codes I've found on here but with no luck. I'm not sure if i'm posting them to the right area within VBA.
View 4 Replies View RelatedI am not sure why this code won't delete, I can't believe excel requires the sheet to be active to delete from. It will only work if the .activate line is included.
How can you delete from another worksheet without first switching to it?
Code:
'Sheets("sheet1").Activate
Sheets("sheet1").Range(Cells(row, col), Cells(row + 7, col)).Delete shift:=xlUp
I'm looking for VBA code that will:
Hide a sheet whenever it is not the active sheet
Is there a way to create a macro to jump to the last active sheet?
For example, the last sheet I was on was Sheet1 and now I'm on Sheet20 and I want to jump back to Sheet1 without scrolling through the tabs at the bottom of the screen.
I have written the below macro to copy data from a sheet called "Fixit Example 1" to a sheet called "Fixit Summary Example". It works fine, but I'd like to be able to run it from any "Fixit Example XX" worksheet. As written, the data is always copied from "Fixit Example 1" regardless of what worksheet I have open.
I tried replacing Windows("Fixit Example 1.xls").Activate with Windows(Active.Worksheet).Activate but got an error "Run time error 424. Object required."
Sub MoveData()
'
' MoveData Macro
' Macro recorded 18/03/2009
I have data that is laid out as follows: Date, amount1, amount2 and a value in $
There are many rows, and there will be more than one row for each date. see attached worksheet for an example.
I want to create a table that will provide me totals of the amounts and the value for each date. I have managed to do this, using subtotals, but this gets quite slow, and in any case I want to be able to reference each of the subtotals with another sheet, so I tried to use pivot tables. I managed to do the above by using three pivot tables Date/Amount1 then Date/Amount2 and finally Date/Value, and hiding the extra two date columns. However my next table of data contains 10,000 rows and over 20 columns, so I am wondering if the above can be done within one pivot table. I know very little about pivot tables, and when I try to drop a second data item in, it always puts it below the first rather than in a separate column, and I get a table looking like the one in the attached worksheet. Am I doing something very basic, wrong? Is it possible to get a single pivot table, to look like my first summary chart in the attached worksheet. If I can do it with three columns, then I should be able to extend it to my much larger table of data.
Copy the active sheet that is open in a work book and save it to another file with the date in the name? For example Report_11-03-08.xls
The only problem I see with this. How could I also make it append a letter to report if the file already exits Example saved as
Report1_11-03-08.xls. Then just continue incrementing.
Sub CopySave()
Application.ScreenUpdating = False
ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveSheet.SaveAs Filename:=ThisWorkbook.Path & "/" & "Report_" & Format(Date, "mm_dd_yy") & ".xls"
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub