cell values from filtered rows in excel using vba










0














I have a excel file where I have used the filter on a specific column. After that it returned me 3 visible rows. Now I want to extract a cell value from visible 3 rows on same column. How to write the vba code for that.



Note: I am using UFT, vb script for connecting excel application.



Environment.value("Path1")="C:TestData1"
Environment.value("FileName")="ExcelTest.xlsx"
Set obj = CreateObject("Excel.Application")
obj.visible=True
Set obj1 = obj.Workbooks.Open(Environment("Path1")&Environment("FileName"))
Set obj2=obj1.Worksheets("RESULT")
obj2.Range("L1").Autofilter 12,"abcdef"
obj2.Range("A1").Autofilter 1,Array("Bucket",2,"Material","Flags"),7
rows=obj2.usedrange.columns(1).specialcells(12).count-1









share|improve this question


























    0














    I have a excel file where I have used the filter on a specific column. After that it returned me 3 visible rows. Now I want to extract a cell value from visible 3 rows on same column. How to write the vba code for that.



    Note: I am using UFT, vb script for connecting excel application.



    Environment.value("Path1")="C:TestData1"
    Environment.value("FileName")="ExcelTest.xlsx"
    Set obj = CreateObject("Excel.Application")
    obj.visible=True
    Set obj1 = obj.Workbooks.Open(Environment("Path1")&Environment("FileName"))
    Set obj2=obj1.Worksheets("RESULT")
    obj2.Range("L1").Autofilter 12,"abcdef"
    obj2.Range("A1").Autofilter 1,Array("Bucket",2,"Material","Flags"),7
    rows=obj2.usedrange.columns(1).specialcells(12).count-1









    share|improve this question
























      0












      0








      0







      I have a excel file where I have used the filter on a specific column. After that it returned me 3 visible rows. Now I want to extract a cell value from visible 3 rows on same column. How to write the vba code for that.



      Note: I am using UFT, vb script for connecting excel application.



      Environment.value("Path1")="C:TestData1"
      Environment.value("FileName")="ExcelTest.xlsx"
      Set obj = CreateObject("Excel.Application")
      obj.visible=True
      Set obj1 = obj.Workbooks.Open(Environment("Path1")&Environment("FileName"))
      Set obj2=obj1.Worksheets("RESULT")
      obj2.Range("L1").Autofilter 12,"abcdef"
      obj2.Range("A1").Autofilter 1,Array("Bucket",2,"Material","Flags"),7
      rows=obj2.usedrange.columns(1).specialcells(12).count-1









      share|improve this question













      I have a excel file where I have used the filter on a specific column. After that it returned me 3 visible rows. Now I want to extract a cell value from visible 3 rows on same column. How to write the vba code for that.



      Note: I am using UFT, vb script for connecting excel application.



      Environment.value("Path1")="C:TestData1"
      Environment.value("FileName")="ExcelTest.xlsx"
      Set obj = CreateObject("Excel.Application")
      obj.visible=True
      Set obj1 = obj.Workbooks.Open(Environment("Path1")&Environment("FileName"))
      Set obj2=obj1.Worksheets("RESULT")
      obj2.Range("L1").Autofilter 12,"abcdef"
      obj2.Range("A1").Autofilter 1,Array("Bucket",2,"Material","Flags"),7
      rows=obj2.usedrange.columns(1).specialcells(12).count-1






      excel vba vbscript






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 12 at 11:17









      Ankur Patel

      813




      813






















          1 Answer
          1






          active

          oldest

          votes


















          0














          if you want to work with visible cells only.



          An example in which you filter on column A, to be adapted for you data, of course:



           Sub test()


          Dim ws As Worksheet
          Dim i As Long, LastRow As Long
          Dim r As Range, Cell As Range, Range As Range

          Set ws = ThisWorkbook.Sheets("Sheet1")
          Set r = ws.Range("A1")

          ws.AutoFilterMode = False
          With r
          .AutoFilter Field:=1, Criteria1:="Yourcriteria"
          LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
          Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))

          For Each Cell In Range.SpecialCells(xlCellTypeVisible)
          'whatever you need to be done
          Next Cell

          End With
          ws.AutoFilterMode = False
          End Sub





          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53261031%2fcell-values-from-filtered-rows-in-excel-using-vba%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            if you want to work with visible cells only.



            An example in which you filter on column A, to be adapted for you data, of course:



             Sub test()


            Dim ws As Worksheet
            Dim i As Long, LastRow As Long
            Dim r As Range, Cell As Range, Range As Range

            Set ws = ThisWorkbook.Sheets("Sheet1")
            Set r = ws.Range("A1")

            ws.AutoFilterMode = False
            With r
            .AutoFilter Field:=1, Criteria1:="Yourcriteria"
            LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
            Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))

            For Each Cell In Range.SpecialCells(xlCellTypeVisible)
            'whatever you need to be done
            Next Cell

            End With
            ws.AutoFilterMode = False
            End Sub





            share|improve this answer

























              0














              if you want to work with visible cells only.



              An example in which you filter on column A, to be adapted for you data, of course:



               Sub test()


              Dim ws As Worksheet
              Dim i As Long, LastRow As Long
              Dim r As Range, Cell As Range, Range As Range

              Set ws = ThisWorkbook.Sheets("Sheet1")
              Set r = ws.Range("A1")

              ws.AutoFilterMode = False
              With r
              .AutoFilter Field:=1, Criteria1:="Yourcriteria"
              LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
              Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))

              For Each Cell In Range.SpecialCells(xlCellTypeVisible)
              'whatever you need to be done
              Next Cell

              End With
              ws.AutoFilterMode = False
              End Sub





              share|improve this answer























                0












                0








                0






                if you want to work with visible cells only.



                An example in which you filter on column A, to be adapted for you data, of course:



                 Sub test()


                Dim ws As Worksheet
                Dim i As Long, LastRow As Long
                Dim r As Range, Cell As Range, Range As Range

                Set ws = ThisWorkbook.Sheets("Sheet1")
                Set r = ws.Range("A1")

                ws.AutoFilterMode = False
                With r
                .AutoFilter Field:=1, Criteria1:="Yourcriteria"
                LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
                Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))

                For Each Cell In Range.SpecialCells(xlCellTypeVisible)
                'whatever you need to be done
                Next Cell

                End With
                ws.AutoFilterMode = False
                End Sub





                share|improve this answer












                if you want to work with visible cells only.



                An example in which you filter on column A, to be adapted for you data, of course:



                 Sub test()


                Dim ws As Worksheet
                Dim i As Long, LastRow As Long
                Dim r As Range, Cell As Range, Range As Range

                Set ws = ThisWorkbook.Sheets("Sheet1")
                Set r = ws.Range("A1")

                ws.AutoFilterMode = False
                With r
                .AutoFilter Field:=1, Criteria1:="Yourcriteria"
                LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
                Set Range = ws.Range(ws.Cells(2, 1), ws.Cells(LastRow, 1))

                For Each Cell In Range.SpecialCells(xlCellTypeVisible)
                'whatever you need to be done
                Next Cell

                End With
                ws.AutoFilterMode = False
                End Sub






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 12 at 11:52









                Lambik

                418410




                418410



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53261031%2fcell-values-from-filtered-rows-in-excel-using-vba%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    In R, how to develop a multiplot heatmap.2 figure showing key labels successfully

                    Museum of Modern and Contemporary Art of Trento and Rovereto