ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Hide, unhide macro (https://www.excelbanter.com/excel-programming/429823-hide-unhide-macro.html)

TheQuickBrownFox

Hide, unhide macro
 

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033

Patrick Molloy

Hide, unhide macro
 
issue is that 29th Feb of a non-leap year year doesn't resolve to a date,
and could raise an exception if not handled correctly
you could try the 0th day of March ...
eg
DAY(DateSerial(2008, 3, 0))
will be 28 or 29 for leap year



"TheQuickBrownFox" wrote in message
...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Archimedes' Lever

Hide, unhide macro
 
On Sat, 13 Jun 2009 17:11:14 +0100, "Patrick Molloy"
wrote:

issue is that 29th Feb of a non-leap year year doesn't resolve to a date,


Yes it does. In EVERY case, it will resolve to march 1st, so the test
that we all use, which DOES work, is to test for the month number that a
given excel internal date number resolves to, so if you declare a date,
and test it for the month number, a Feb 29 date of ANY leap year results
in a 3 for the month number.

As in:

=IF(MONTH(A29+1)=2,A29+1,NA())

Were "A29" refers to a 28th row (and date reference) in a data table.

It could easily ask about a specific date reference as well, instead of
a cell's contents.

and could raise an exception if not handled correctly
you could try the 0th day of March ...
eg
DAY(DateSerial(2008, 3, 0))
will be 28 or 29 for leap year


We have the test solved. What I need is the response action segment.





"TheQuickBrownFox" wrote in message
.. .

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033


Don Guillett

Hide, unhide macro
 
See if this helps. Change format to suit.

Sub FINDMAR1()
On Error GoTo NOMO
Dim MYDATE As String
Dim MD As Range
ActiveSheet.Rows.Hidden = False
MYDATE = Format(DateSerial(Year(Date), 3, 1), "MM/DD/YY")
Set MD = Columns("A").Find(What:=MYDATE, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Day(MD - 1) = 29 Then Rows(MD.Row - 1).Hidden True
NOMO:
End Sub

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"TheQuickBrownFox" wrote in message
...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033


Patrick Molloy

Hide, unhide macro
 
type 29/2/2009 into a cell, say A1. in another cell type =MONTH(A1) and
you'll get #Value

Certainly DateSerial(year,month,0) will always return the last day of the
preceding month

"Archimedes' Lever" wrote in message
...
On Sat, 13 Jun 2009 17:11:14 +0100, "Patrick Molloy"
wrote:

issue is that 29th Feb of a non-leap year year doesn't resolve to a date,


Yes it does. In EVERY case, it will resolve to march 1st, so the test
that we all use, which DOES work, is to test for the month number that a
given excel internal date number resolves to, so if you declare a date,
and test it for the month number, a Feb 29 date of ANY leap year results
in a 3 for the month number.

As in:

=IF(MONTH(A29+1)=2,A29+1,NA())

Were "A29" refers to a 28th row (and date reference) in a data table.

It could easily ask about a specific date reference as well, instead of
a cell's contents.

and could raise an exception if not handled correctly
you could try the 0th day of March ...
eg
DAY(DateSerial(2008, 3, 0))
will be 28 or 29 for leap year


We have the test solved. What I need is the response action segment.





"TheQuickBrownFox" wrote in message
. ..

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that
test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Archimedes' Lever

Hide, unhide macro
 
Look, I already told you (an indicator that you do not read responses)
That I HAVE a successful test for leap year. What I need is the action
code to HIDE or UNHIDE a row based on that test result.

You keep coming back talking about leap year. I ALREADY know about leap
year. Re-read my original reply, and you will see that.


On Sat, 13 Jun 2009 18:44:10 +0100, "Patrick Molloy"
wrote:

type 29/2/2009 into a cell, say A1. in another cell type =MONTH(A1) and
you'll get #Value


Which is essentially what I already said by using 2/28 + 1. You still
have to have an action based on the test result, which is what this
thread asked for.

Certainly DateSerial(year,month,0) will always return the last day of the
preceding month


Which is worthless, and requires more code to complete the test
resolve. The internal engine is already in place. I use that. It works.
The test checks the result of the internal date engine's workings.

The missing code responds to that result.

"Archimedes' Lever" wrote in message
.. .
On Sat, 13 Jun 2009 17:11:14 +0100, "Patrick Molloy"
wrote:

issue is that 29th Feb of a non-leap year year doesn't resolve to a date,


Yes it does. In EVERY case, it will resolve to march 1st, so the test
that we all use, which DOES work, is to test for the month number that a
given excel internal date number resolves to, so if you declare a date,
and test it for the month number, a Feb 29 date of ANY leap year results
in a 3 for the month number.

As in:

=IF(MONTH(A29+1)=2,A29+1,NA())

Were "A29" refers to a 28th row (and date reference) in a data table.

It could easily ask about a specific date reference as well, instead of
a cell's contents.

and could raise an exception if not handled correctly
you could try the 0th day of March ...
eg
DAY(DateSerial(2008, 3, 0))
will be 28 or 29 for leap year


We have the test solved. What I need is the response action segment.





"TheQuickBrownFox" wrote in message
...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that
test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033


Archimedes' Lever

Hide, unhide macro
 
On Sat, 13 Jun 2009 12:20:56 -0500, "Don Guillett"
wrote:

See if this helps. Change format to suit.

Sub FINDMAR1()
On Error GoTo NOMO
Dim MYDATE As String
Dim MD As Range
ActiveSheet.Rows.Hidden = False
MYDATE = Format(DateSerial(Year(Date), 3, 1), "MM/DD/YY")
Set MD = Columns("A").Find(What:=MYDATE, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Day(MD - 1) = 29 Then Rows(MD.Row - 1).Hidden True
NOMO:
End Sub


Wrong. Nice try though, thanks.

You remind me of an old Cincinnati Red I used to watch play.

No, I do not need to search though any data.I do not need to set any
formats.

I do NOT need to do ANY searching of my data table The leap year test
ALREADY works and uses the internal date engine.

ALL I need to do is HIDE or UNHIDE ONE row on two different sheets,
based on the value my KNOWN TEST returns.

I currently use hard assigned "buttons" with no test result reference.

I do not know how to look at a test result in code, or assign a variable
based on one, then perform an action based on that. I am VB code dumb.

I DO know how to perform the leap year test. My current code segments
are simple and obvious as to function.They are for hard assigned, user
operated buttons. I want it to be automated. Button calls follow:


Sub LeapUnHide()
Rows("42:42").Select
Selection.EntireRow.Hidden = False
End Sub

Sub NotLeapHide()
Rows("42:42").Select
Selection.EntireRow.Hidden = True
End Sub
Sub LeapAnnualUnHide()
Rows("70:70").Select
Selection.EntireRow.Hidden = False
End Sub
Sub NotLeapAnnualHide()
Rows("70:70").Select
Selection.EntireRow.Hidden = True
End Sub


This works perfectly because ALL I want to do is to HIDE or UNHIDE ONE
ROW in ONE TABLE on two sheets. I could simply use named sheets since
these buttons only work on the current sheet when utilized, and that
would be bad if used on other months.

For a month I asked about leap year handling and got near no response.
I figured it out with some help that was there. Now I ask about
something else and get flooded with leap year handling routines that have
nothing to do with what I asked for.

I know beggars can't be choosers, but at least they do not get a box of
coal when they ask for a piece of bread.

Don Guillett

Hide, unhide macro
 
If desired, send your file to my address below along with this msg and
a clear explanation of what you want and before/after examples.


--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Archimedes' Lever" wrote in message
...
On Sat, 13 Jun 2009 12:20:56 -0500, "Don Guillett"
wrote:

See if this helps. Change format to suit.

Sub FINDMAR1()
On Error GoTo NOMO
Dim MYDATE As String
Dim MD As Range
ActiveSheet.Rows.Hidden = False
MYDATE = Format(DateSerial(Year(Date), 3, 1), "MM/DD/YY")
Set MD = Columns("A").Find(What:=MYDATE, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Day(MD - 1) = 29 Then Rows(MD.Row - 1).Hidden True
NOMO:
End Sub


Wrong. Nice try though, thanks.

You remind me of an old Cincinnati Red I used to watch play.

No, I do not need to search though any data.I do not need to set any
formats.

I do NOT need to do ANY searching of my data table The leap year test
ALREADY works and uses the internal date engine.

ALL I need to do is HIDE or UNHIDE ONE row on two different sheets,
based on the value my KNOWN TEST returns.

I currently use hard assigned "buttons" with no test result reference.

I do not know how to look at a test result in code, or assign a variable
based on one, then perform an action based on that. I am VB code dumb.

I DO know how to perform the leap year test. My current code segments
are simple and obvious as to function.They are for hard assigned, user
operated buttons. I want it to be automated. Button calls follow:


Sub LeapUnHide()
Rows("42:42").Select
Selection.EntireRow.Hidden = False
End Sub

Sub NotLeapHide()
Rows("42:42").Select
Selection.EntireRow.Hidden = True
End Sub
Sub LeapAnnualUnHide()
Rows("70:70").Select
Selection.EntireRow.Hidden = False
End Sub
Sub NotLeapAnnualHide()
Rows("70:70").Select
Selection.EntireRow.Hidden = True
End Sub


This works perfectly because ALL I want to do is to HIDE or UNHIDE ONE
ROW in ONE TABLE on two sheets. I could simply use named sheets since
these buttons only work on the current sheet when utilized, and that
would be bad if used on other months.

For a month I asked about leap year handling and got near no response.
I figured it out with some help that was there. Now I ask about
something else and get flooded with leap year handling routines that have
nothing to do with what I asked for.

I know beggars can't be choosers, but at least they do not get a box of
coal when they ask for a piece of bread.



Archimedes' Lever

Hide, unhide macro
 
On Sat, 13 Jun 2009 15:33:38 -0500, "Don Guillett"
wrote:

If desired, send your file to my address below along with this msg and
a clear explanation of what you want and before/after examples.



My first post has a link to my spreadsheet in it.

keiji kounoike

Hide, unhide macro
 
One way to hide rows automatically is to use Workbook_SheetActivate
event. Copy Sub Workbook_SheetActivate and Function leapyear code below
into ThisWorkBook Module. then move to any sheets and check this would
work or not.
but I'm not sure if this could satisfy your request.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim ye As Long
Dim shFeb As Worksheet, shAnu As Worksheet
ye = Range("BloodYear")
Set shFeb = Worksheets("February Tests")
Set shAnu = Worksheets("Annual Blood Pressure Data")
If leapyear(ye) Then
shFeb.Rows(42).Hidden = False
shAnu.Rows(70).Hidden = False
Else
shFeb.Rows(42).Hidden = True
shAnu.Rows(70).Hidden = True
End If
End Sub

Function leapyear(ByVal year As Long) As Boolean
If ((year Mod 4) = 0 And (year Mod 100) < 0) Or (year Mod 400) = 0 Then
leapyear = True
Else
leapyear = False
End If
End Function

Keiji

Archimedes' Lever wrote:
On Sat, 13 Jun 2009 15:33:38 -0500, "Don Guillett"
wrote:

If desired, send your file to my address below along with this msg and
a clear explanation of what you want and before/after examples.



My first post has a link to my spreadsheet in it.


Don Guillett

Hide, unhide macro
 
Your file had no info or macros. If you want help, you may? want to follow
my request..... Your choice. An improvement in attitude may also help.

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"Archimedes' Lever" wrote in message
...
On Sat, 13 Jun 2009 15:33:38 -0500, "Don Guillett"
wrote:

If desired, send your file to my address below along with this msg
and
a clear explanation of what you want and before/after examples.



My first post has a link to my spreadsheet in it.



Patrick Molloy

Hide, unhide macro
 
OUCH

"Archimedes' Lever" wrote in message
...
Look, I already told you (an indicator that you do not read responses)
That I HAVE a successful test for leap year. What I need is the action
code to HIDE or UNHIDE a row based on that test result.

You keep coming back talking about leap year. I ALREADY know about leap
year. Re-read my original reply, and you will see that.


On Sat, 13 Jun 2009 18:44:10 +0100, "Patrick Molloy"
wrote:

type 29/2/2009 into a cell, say A1. in another cell type =MONTH(A1) and
you'll get #Value


Which is essentially what I already said by using 2/28 + 1. You still
have to have an action based on the test result, which is what this
thread asked for.

Certainly DateSerial(year,month,0) will always return the last day of the
preceding month


Which is worthless, and requires more code to complete the test
resolve. The internal engine is already in place. I use that. It works.
The test checks the result of the internal date engine's workings.

The missing code responds to that result.

"Archimedes' Lever" wrote in message
. ..
On Sat, 13 Jun 2009 17:11:14 +0100, "Patrick Molloy"
wrote:

issue is that 29th Feb of a non-leap year year doesn't resolve to a
date,

Yes it does. In EVERY case, it will resolve to march 1st, so the test
that we all use, which DOES work, is to test for the month number that a
given excel internal date number resolves to, so if you declare a date,
and test it for the month number, a Feb 29 date of ANY leap year results
in a 3 for the month number.

As in:

=IF(MONTH(A29+1)=2,A29+1,NA())

Were "A29" refers to a 28th row (and date reference) in a data table.

It could easily ask about a specific date reference as well, instead of
a cell's contents.

and could raise an exception if not handled correctly
you could try the 0th day of March ...
eg
DAY(DateSerial(2008, 3, 0))
will be 28 or 29 for leap year

We have the test solved. What I need is the response action segment.





"TheQuickBrownFox" wrote in
message
m...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide
a
row in two different worksheets in a workbook. So the script would
test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that
test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the
user
to perform the hide/unhide operation while knowing or after reading
the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Patrick Molloy

Hide, unhide macro
 
add this code to the sheet "User Info" code page

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Bloodyear").Address Then
checkLeapYear Target.Value
End If
End Sub

Private Sub checkLeapYear(yr As Long)
Dim bLeapYear As Boolean
If yr Mod 4 = 0 Then
If yr Mod 100 = 0 Then
If yr / 100 Mod 4 = 0 Then
bLeapYear = True
End If
Else
bLeapYear = True
End If
End If
Worksheets("February Tests").Rows(42).Hidden = Not bLeapYear
End Sub


"TheQuickBrownFox" wrote in message
...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Archimedes' Lever

Hide, unhide macro
 
On Sun, 14 Jun 2009 08:50:38 -0500, "Don Guillett"
wrote:

Your file had no info or macros.


Apparently the literacy macro in your brain is turned off.

Did you even bother to examine the February or annual worksheet at all?
If not, why are you claiming to have a brain, and to be helping people
here?

If you want help, you may? want to follow
my request.....


You made no request. You made a non-compliant suggestion.

Your choice. An improvement in attitude may also help.


The macro texts are right there on the first worksheet, just like the
description states. SINCE Microsoft does NOT allow macro enable upload,
I included it as TEXT on that first sheet. All you would need to do is
incorporate the text into a macro, which is also what I said.

My attitude is bad?

Your goddamned cursory glance is far worse for someone claiming to be
helping.

I am not looking for your boilerplate cut and paste response, and if
you cannot bend your brain long enough to create a ten line script for
someone that simply doesn't have familiarity with the current syntax
compared to his old database days, I think it is your attitude that
should get some personal focus. You are attempting to morph what I have
into what you think might work instead of finishing what I have, which is
far simpler. I am morph resistant. I like simple.

It is a simple If Then Else thing, and my lack of familiarity with VB
is all that keeps me from hashing it out.

As was already explained twice, I do NOT need ANY testing for ANY day.

I have ALREADY derived that logical value.

Archimedes' Lever

Hide, unhide macro
 
Will the VB engine not perform the MONTH() function?

If one takes ANY given date of 2/29/xxxx and does the month test,it
returns a 2 for a leap year, and it returns a 3 for a non-leap year.
Every time, ANY year selected. I do not need to perform the same tests
that the internal engine already performs.

So, IF the MONTH function is available, then a simple test of
2/29/BloodYear will give the result from which we can determine a logical
true or false switch from.

So it would be like IF MnthTstReslt = true
then unhide else hide that row that sheet, AND on the annual sheet.

So, let's see if I can piece it together from what you have given me
here.

I'll post back what I come up with to see if you can further resolve it.

If the month function test is not available to VB, then your routine IS
a definitive test



On Sun, 14 Jun 2009 19:45:43 +0100, "Patrick Molloy"
wrote:

add this code to the sheet "User Info" code page

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Bloodyear").Address Then
checkLeapYear Target.Value
End If
End Sub

Private Sub checkLeapYear(yr As Long)
Dim bLeapYear As Boolean
If yr Mod 4 = 0 Then
If yr Mod 100 = 0 Then
If yr / 100 Mod 4 = 0 Then
bLeapYear = True
End If
Else
bLeapYear = True
End If
End If
Worksheets("February Tests").Rows(42).Hidden = Not bLeapYear
End Sub


"TheQuickBrownFox" wrote in message
.. .

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033


Patrick Molloy

Hide, unhide macro
 
"I do not need to perform the same tests that the internal engine already
performs."

you asked a question and frankly, were pretty blunt to several of us when we
tried to ascertain what it was that you needed.
The code I gave below solves the problem that you raised, yet you still
insist on dissing the help offered.
That just sucks my friend.

"Archimedes' Lever" wrote in message
...
Will the VB engine not perform the MONTH() function?

If one takes ANY given date of 2/29/xxxx and does the month test,it
returns a 2 for a leap year, and it returns a 3 for a non-leap year.
Every time, ANY year selected. I do not need to perform the same tests
that the internal engine already performs.

So, IF the MONTH function is available, then a simple test of
2/29/BloodYear will give the result from which we can determine a logical
true or false switch from.

So it would be like IF MnthTstReslt = true
then unhide else hide that row that sheet, AND on the annual sheet.

So, let's see if I can piece it together from what you have given me
here.

I'll post back what I come up with to see if you can further resolve it.

If the month function test is not available to VB, then your routine IS
a definitive test



On Sun, 14 Jun 2009 19:45:43 +0100, "Patrick Molloy"
wrote:

add this code to the sheet "User Info" code page

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Bloodyear").Address Then
checkLeapYear Target.Value
End If
End Sub

Private Sub checkLeapYear(yr As Long)
Dim bLeapYear As Boolean
If yr Mod 4 = 0 Then
If yr Mod 100 = 0 Then
If yr / 100 Mod 4 = 0 Then
bLeapYear = True
End If
Else
bLeapYear = True
End If
End If
Worksheets("February Tests").Rows(42).Hidden = Not bLeapYear
End Sub


"TheQuickBrownFox" wrote in message
. ..

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that
test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Patrick Molloy

Hide, unhide macro
 
the change to the Annual Data sheet was to remove the "hard" dates except
Jan 1st and replace with

A12: =A11+1
and replicate down

that takes care of the leap years.
for what its worth
probably too simplistic and already discarded by the questioner i expect. ho
hum

"Patrick Molloy" wrote in message
...
add this code to the sheet "User Info" code page

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Bloodyear").Address Then
checkLeapYear Target.Value
End If
End Sub

Private Sub checkLeapYear(yr As Long)
Dim bLeapYear As Boolean
If yr Mod 4 = 0 Then
If yr Mod 100 = 0 Then
If yr / 100 Mod 4 = 0 Then
bLeapYear = True
End If
Else
bLeapYear = True
End If
End If
Worksheets("February Tests").Rows(42).Hidden = Not bLeapYear
End Sub


"TheQuickBrownFox" wrote in message
...

Hey guys,

I have a test in a cell that examines if 2-29-xxxx (where xxxx is year
of choice) resolves to a month number of 3 or 2 which is a way of
determining a leap year. After such a test, I want to hide or unhide a
row in two different worksheets in a workbook. So the script would test
the value of the cell where I resolve a logical for the leap year (or
that can be done in the macro as well, no?), and then based on that test,
hide or unhide one row in the February worksheet, and the annual
worksheet. This has the effect of auto-magically adjusting the charts
that refer to these two sheets, which is a lot easier than trying to
dynamically adjust both the charts and the sheets. So, the hiding and
unhiding IS the right way to go, unless you have some kind of "Ignore
Row" function for the data or the chart. :-)

I previously assigned a hide and unhide button and tied it to a macro
segment, in those two sheets. That works, but it still requires the user
to perform the hide/unhide operation while knowing or after reading the
conditional leap year test results cell contents.

I guess I need an "IF "such and such" is true, THEN hide row such and
such in sheet such and such, and hide row such in such in other sheet
such and such, ELSE UNhide yada yada yada.

This is the sheet, minus the macros:

http://office.microsoft.com/search/r... 101436151033



Archimedes' Lever

Hide, unhide macro
 
On Mon, 15 Jun 2009 14:29:50 +0100, "Patrick Molloy"
wrote:

the change to the Annual Data sheet was to remove the "hard" dates except
Jan 1st and replace with

A12: =A11+1
and replicate down



Which fails between a 365 day year and a 366 day year.

It is a separate data sheet, so the hide/unhide call has to be acted on
that sheet as well.

The dates are explicit calls, not N+1. The chart carries dates and gets
the test data from lookups to the original month sheets, INCLUDING the
2/29 row.

The chart automatically sizes correctly when the sheets have 2/29 row
hidden. So does the February chart. It doesn't get any more simple than
to just make a hide and unhide routine based on an already performed leap
year test for the February and Annual data sheet.

Archimedes' Lever

Hide, unhide macro
 
For Patrick, or is it Patricia?

Where is the answer to the question
of whether or not the VB engine recognizes the MONTH function?


Not only would you NOT be allowed to continue on my help desk, but I'd
Donald Trump your ass out the door as well. Just like I said. I knew
that you would NOT learn the correct and needed enlightenment you were
given.

I expect to see a response that still carries gang boy retard lingo,
cries about respect, and continued lack of real help. Sure your name
isn't Patricia, bitich?


All times are GMT +1. The time now is 07:38 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com