Paul Dada, You are great .. Thanks for the explanation will work on your
suggestions and get in touch with you again.

*Many Regards,*
*Rakesh*

On Mon, Feb 21, 2011 at 9:51 PM, Paul Schreiner <schreiner_p...@att.net>wrote:

> Let's step through the code:
>
> RowCounter = 1
>
>
>
> For ColName = 1 To 750
>
>
>
>         If Sheets("1").Cells(2, ColName) = Sheets("Name").Cells(RowCounter,
> 1) Then
>
>         Sheets("1").Cells(1, ColName) = 1
>
>         RowCounter = RowCounter + 1
>
>         Else
>
>         Sheets("1").Cells(1, ColName) = 0
>
>         End If
>
>         'Application.ScreenUpdating = False
>
> Next ColName
>
>
> You have two sheets named "1" and "Name".
> You set RowCounter = 1.
> The code looks through 750 columns in sheet named "1"
> and checks the value in row 2 to see if it matches the value in the sheet
> "Name"
> column 1, row (1) (from Rowcounter)
>
> If the cell doesn't match, it puts a "0" in row 1 of the column it's
> checking.
> If it MATCHES, then it puts a "1" in row 1, and increments RowCounter to
> begin checking
> for the next "name".
> That means that if a match is found in column 101,
> then  you'll check columns 102-750 for the rest of the "names" in the list,
> but you'll no longer check 1-100 for ANY more names.
>
> Plus, the whole thing stops the first time a "name" is searched for and
> there is NO matches.
> Because, let's say that the FIRST name in the list
> (Sheets("Name").Cells(1,1))
> does not exist in row 2 of Sheets("1").
>
> Then the loop: For ColName = 1 to 750
> will run check all cells, and never find a match, so RowCounter will never
> be incremented,
> so no more names will be checked!
>
> Now, if the "Names" ALWAYS exist when you run this program,
> AND they appear in sheets("1") in the EXACT same order as they appear in
> sheets("Name")
> then it might work OK the FIRST time.
> But once you remove one of the columns, then the script will no longer
> complete successfully.
> ---------------------------
> Next, your loop:
>
>     For Each c In Worksheets("1").Range("A1:a750").Cells
>
>         If c.Value = 0 Then
>
>         Columns(RowCounter).EntireColumn.Delete
>
>         End If
>
>         RowCounter = RowCounter + 1
>
>     Next
>
>
>
> Since you're placing a 0/1 in the first ROW of sheets("1") then you should
> be looping through row 1, not column A.
>
> So your loop should read:
>
> For Each c In Worksheets("1").Range("A1:ABV1").Cells
>
> Now, instead of incrementing RowCounter, you could use the C object:
> C.Column like:
>
> Columns(C.Column).EntireColumn.Delete
>
> But this loop has another problem.
>
> In the first iteration:
> Column 1
> if Column 1 has a "0", then you delete it and check the next column.
> However, since you deleted column 1, then column 2 is now column 1.
> you increment your counter and check column 2.
> Which means that the "current" column 1 (formerly column 2) was never
> checked.
> If two adjacent columns happen to both have a "0", then you'll only delete
> the first.
>
> As in:
> A B C D E
> 1 1 0 0 1
> becomes:
> A B C D E
> 1 1 0 1
> when column C is deleted, the loop then checks column D
> in the next iteration.
>
> When deleting rows or columns, I prefer to work "backwards", like:
>
> For ColNo = 750 To 1 Step -1
>     If Cells(1, ColNo).Value = 0 Then
>         Cells(1, ColNo).EntireColumn.Delete
>     End If
> Next
>
>
> hope this helps,
>
> Paul
>  ------------------------------
> *From:* Daniel <dcolarde...@free.fr>
> *To:* excel-macros@googlegroups.com
> *Sent:* Mon, February 21, 2011 10:40:31 AM
> *Subject:* RE: $$Excel-Macros$$ CODE DOESN'T WORK
>
>  The code is correct. Simply, there is no match and the test is always
> false. Can you post your data ?
>
> Daniel
>
>
>
> *De :* excel-macros@googlegroups.com [mailto:excel-macros@googlegroups.com]
> *De la part de* rakesh kumar
> *Envoyé :* dimanche 20 février 2011 21:35
> *À :* excel-macros@googlegroups.com
> *Objet :* Re: $$Excel-Macros$$ CODE DOESN'T WORK
>
>
>
> *thanks Daniel Ji for the reply... here what I need and what the code
> doesn't do.*
>
>
>
> *This code runs as long as the Sheets("1").Cells(2, ColNumber) =
> Sheets("Name").Cells(RowCounter, 1) but doesn't do the job. I have some data
> with a lot of variables in sheet "1" of which I need few variable listed in
> Sheet "Name" Column A. I want to delete all column from Sheet 1 which
> doesn't match with variable listed in Sheet "Name" Column A.*
>
>
>
> *Thanks *
>
> On Sun, Feb 20, 2011 at 6:39 PM, Daniel <dcolarde...@free.fr> wrote:
>
> Hello,
>
> What is not working ? Do you get an error ?
>
> What are you trying to do ?
>
> Daniel
>
>
>
> *De :* excel-macros@googlegroups.com [mailto:excel-macros@googlegroups.com]
> *De la part de* rakesh kumar
> *Envoyé :* dimanche 20 février 2011 11:16
> *À :* excel-macros@googlegroups.com
> *Objet :* $$Excel-Macros$$ CODE DOESN'T WORK
>
>
>
> Hi Dearests,
>
>
>
> Could anyone help me and make the below code work .... ?
>
>
>
> Dim GetVarCounts As Integer
>
> Dim ColName As Integer, RowCounter As Integer
>
> Dim oRg As Range
>
>
>
>
>
> RowCounter = 1
>
>
>
> For ColName = 1 To 750
>
>
>
>         If Sheets("1").Cells(2, ColName) = Sheets("Name").Cells(RowCounter,
> 1) Then
>
>         Sheets("1").Cells(1, ColName) = 1
>
>         RowCounter = RowCounter + 1
>
>         Else
>
>         Sheets("1").Cells(1, ColName) = 0
>
>         End If
>
>         'Application.ScreenUpdating = False
>
> Next ColName
>
>
>
> RowCounter = 1
>
>     For Each c In Worksheets("1").Range("A1:a750").Cells
>
>         If c.Value = 0 Then
>
>         Columns(RowCounter).EntireColumn.Delete
>
>         End If
>
>         RowCounter = RowCounter + 1
>
>     Next
>
>
>
>
>
> --
>
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links :
> http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials at http://www.excel-macros.blogspot.com
> 4. Learn VBA Macros at http://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> Like our page on facebook , Just follow below link
> http://www.facebook.com/discussexcel
>
> --
>
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links :
> http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials at http://www.excel-macros.blogspot.com
> 4. Learn VBA Macros at http://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> Like our page on facebook , Just follow below link
> http://www.facebook.com/discussexcel
>
>
>
>
> --
>   Rakesh kumar khowal
>  +91 9540084660
>  +91 9868532105
>
> --
>
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links :
> http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials at http://www.excel-macros.blogspot.com
> 4. Learn VBA Macros at http://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> Like our page on facebook , Just follow below link
> http://www.facebook.com/discussexcel
>
> --
>
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links :
> http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials at http://www.excel-macros.blogspot.com
> 4. Learn VBA Macros at http://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> Like our page on facebook , Just follow below link
> http://www.facebook.com/discussexcel
>
> --
>
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links :
> http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials at http://www.excel-macros.blogspot.com
> 4. Learn VBA Macros at http://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> Like our page on facebook , Just follow below link
> http://www.facebook.com/discussexcel
>



-- 
  Rakesh kumar khowal
 +91 9540084660
 +91 9868532105

-- 
----------------------------------------------------------------------------------
Some important links for excel users:
1. Follow us on TWITTER for tips tricks and links : 
http://twitter.com/exceldailytip
2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
3. Excel tutorials at http://www.excel-macros.blogspot.com
4. Learn VBA Macros at http://www.quickvba.blogspot.com
5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
 
To post to this group, send email to excel-macros@googlegroups.com

<><><><><><><><><><><><><><><><><><><><><><>
Like our page on facebook , Just follow below link
http://www.facebook.com/discussexcel

Reply via email to