Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default Compare Column Headings

I have a spreadsheet that users paste a report into and I want to make sure
the data are in the correct columns. (Many of the reports provided to my
group have a similar layout, making it easy to make a mistake if you are not
paying close attention.)

Here is what I have:

Sub FindCol()
Sheets("Data").Select
Range("A1").Select
If ActiveCell.Value = "TC #" Then
Range("F1").Select
If ActiveCell.Value = "Dept #" Then
Exit Sub

Else

MsgBox ("Incorrect Value in Cell " & Range(ActiveCell.Row & ":" &
ActiveCell.Column))

End If
End If

End Sub

Two issues:
1) The MsgBox is supposed to return the location of the incorrect cell, but
I get a type mismatch error. What do I need to do to convert the range to a
string?

2) Is there a better way to go about this? This works fine on two cells,
but if I ever want to add more, it will become increasingly difficult.

Thanks!
PJ
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default Compare Column Headings

Give this a whirl... It is expandable by copying just the one line and
chaning the range and value to be checked. It also selects the incorrect cell
and lets the user know what the value should be...

Sub FindCol()
with Sheets("Data")
.Select
If CheckHeading(.Range("A1"), "TC #" ) Then Exit Sub
If CheckHeading(.Range("F1"), "Dept #") Then Exit Sub 'Copy this line ***
end with
End Sub

Private Function CheckHeading(ByRef rng As Range, _
ByVal strHeading As String) As Boolean

If UCase(Trim(rng.Value)) < UCase(strHeading) Then
rng.Select
MsgBox "This heading is wrong. It should be """ & strHeading &
""".", vbCritical
CheckHeading = True
Else
CheckHeading = False
End If

End Function
--
HTH...

Jim Thomlinson


"PJFry" wrote:

I have a spreadsheet that users paste a report into and I want to make sure
the data are in the correct columns. (Many of the reports provided to my
group have a similar layout, making it easy to make a mistake if you are not
paying close attention.)

Here is what I have:

Sub FindCol()
Sheets("Data").Select
Range("A1").Select
If ActiveCell.Value = "TC #" Then
Range("F1").Select
If ActiveCell.Value = "Dept #" Then
Exit Sub

Else

MsgBox ("Incorrect Value in Cell " & Range(ActiveCell.Row & ":" &
ActiveCell.Column))

End If
End If

End Sub

Two issues:
1) The MsgBox is supposed to return the location of the incorrect cell, but
I get a type mismatch error. What do I need to do to convert the range to a
string?

2) Is there a better way to go about this? This works fine on two cells,
but if I ever want to add more, it will become increasingly difficult.

Thanks!
PJ

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Compare Column Headings

Try this:-

MsgBox ("Incorrect Value in Cell " & ActiveCell.Address)

I'll think about your other question.

Regards,

OssieMac

"PJFry" wrote:

I have a spreadsheet that users paste a report into and I want to make sure
the data are in the correct columns. (Many of the reports provided to my
group have a similar layout, making it easy to make a mistake if you are not
paying close attention.)

Here is what I have:

Sub FindCol()
Sheets("Data").Select
Range("A1").Select
If ActiveCell.Value = "TC #" Then
Range("F1").Select
If ActiveCell.Value = "Dept #" Then
Exit Sub

Else

MsgBox ("Incorrect Value in Cell " & Range(ActiveCell.Row & ":" &
ActiveCell.Column))

End If
End If

End Sub

Two issues:
1) The MsgBox is supposed to return the location of the incorrect cell, but
I get a type mismatch error. What do I need to do to convert the range to a
string?

2) Is there a better way to go about this? This works fine on two cells,
but if I ever want to add more, it will become increasingly difficult.

Thanks!
PJ

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Compare Column Headings

MsgBox "Incorrect Value in Cell " & ActiveCell.Address(0,0)

--
Regards,
Tom Ogilvy



"PJFry" wrote:

I have a spreadsheet that users paste a report into and I want to make sure
the data are in the correct columns. (Many of the reports provided to my
group have a similar layout, making it easy to make a mistake if you are not
paying close attention.)

Here is what I have:

Sub FindCol()
Sheets("Data").Select
Range("A1").Select
If ActiveCell.Value = "TC #" Then
Range("F1").Select
If ActiveCell.Value = "Dept #" Then
Exit Sub

Else

MsgBox ("Incorrect Value in Cell " & Range(ActiveCell.Row & ":" &
ActiveCell.Column))

End If
End If

End Sub

Two issues:
1) The MsgBox is supposed to return the location of the incorrect cell, but
I get a type mismatch error. What do I need to do to convert the range to a
string?

2) Is there a better way to go about this? This works fine on two cells,
but if I ever want to add more, it will become increasingly difficult.

Thanks!
PJ

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Worksheet has numeric column headings. Change to alpha headings? Be Frank Excel Discussion (Misc queries) 1 June 18th 08 04:22 PM
Column headings to numbers and row headings to alphabets? Juliana Excel Discussion (Misc queries) 2 May 9th 08 05:58 PM
Can I invert a table so row headings are now column headings etc Sharon Excel Worksheet Functions 3 February 10th 05 07:28 PM
In Excel how to make Column Values to Column Headings JP Excel Programming 2 October 22nd 04 11:18 PM
compare data from one column with another and compare result to yet another Matt Williamson[_3_] Excel Programming 1 September 25th 03 08:54 PM


All times are GMT +1. The time now is 09:03 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"