简体   繁体   中英

Parsing through excel sheet

I have the following excel sheet data that I need to parse out:

A                         B C                                       D
----------------------------------------------------------------------------------
70 Skill Set                Career Prep Skills      
71 Knowledge Objectives     Something will blah 
72          
73 AR.1                   • blah blah blah. 
74                        • blah blah blah. 
75                        • blah blah blah. 
76                        • blah blah blah. 
77 Performance Objectives   Something will and
78          
79 AR.2                   • blah blah blah. 
80 AR.3                   • blah blah blah. 
81 AR.4                   • blah blah blah.
82 AR.5                   • blah blah blah.
83 AR.6                   • blah blah blah. 
84 AR.7                   • blah blah blah.
85 AR.8                   • blah blah blah.
86 AR.9                   • blah blah blah.
87 AR.10                  • blah blah blah.
88 AR.11                  • blah blah blah.
89 Skill Set                Safety is key
90 Knowledge Objectives     blah blah blah.     
91          
92 AR.12                  • blah blah blah. 
93                        • blah blah blah.
94                        • blah blah blah.

The format that I am needing it in is this:

Skill Set    Career Prep Skills           AR.1    blah blah blah. 
                                                  blah blah blah. 
                                                  blah blah blah. 
                                                  blah blah blah.
                                          AR.2    blah blah blah.
                                          AR.3    blah blah blah.
                                          AR.4    blah blah blah.
                        etc....
Skill Set    Safety is key                AR.12   blah blah blah.
                                                  blah blah blah.
                                                  blah blah blah.

I have the following code:

xlsCell = xlsSheet.Range("A1:A200")

For Each oRowRange As Excel.Range In xlsCell.Rows
    For Each oCellRange As Excel.Range In oRowRange.Columns
        Dim theColor = oCellRange.Interior.Color
        Dim colorRGB = (theColor Mod 256) & ", " & ((theColor \ 256) Mod 256) & ", " & (theColor \ 65536)

        If colorRGB = "252, 213, 180" Then
            'find the last row in the spreadsheet:
            lastrow = xlsCell.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row
            'Change the range to reflect the last row:
            xlsCell = xlsSheet.Range("A1:A" & lastrow)
            'found first listing (Standard) so save it's text:
            tmpStandard = oCellRange.Text 'a.k.a Skill Set
            'Move on over to see the Cluster Name:
            tmpCluster = oCellRange.Offset(0, 1).Text() 'a.k.a Career Prep Skills
            'Now we need to get the OBJ:
               'a.k.a AR.1
            'Now get paragraph(s):
              'a.k.a blah blah blah.
        End If
    Next
Next

But I am unsure how to go about knowing its a different AR. number, etc.

visual example as above: 在此处输入图片说明 Any help would be great!

This is not really an answer, it's more like a comment to provide some ideas on how to identify the cells with "AR" that you are interested in. Hopefully this picture will provide some ideas that you can use:

在此处输入图片说明

This seems easy, but before I give example I want to confirm something because your sample data and image don't seem to quite match. What do those two lines print?

Debug.Print Range("C70:C94").SpecialCells(xlCellTypeConstants).Address(0, 0)
Debug.Print Range("C70:C94").SpecialCells(xlCellTypeBlanks   ).Address(0, 0)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM