Replace part/full strings with arrays in VBA

tjdickinson

Board Regular
Joined
Jun 26, 2021
Messages
61
Office Version
  1. 365
Platform
  1. Windows
I am modifying timetables which have been exported from a separate application, but the way it displays the class names is suboptimal (and there's no way to change it in the application itself). I am building a macro to apply a number of formatting changes to the timetables quickly, but I am still quite novice when it comes to VBA.

In each sheet, lessons occupy one cell or two vertically merged cells. Each lesson has two lines displaying the course name and the classes present. For example:
FRA
4 HUM 4 LAT
means the students in classes '4 HUM' and '4 LAT' are both in the same French course.

I want this to display as:
FRA
4 ASO

(The reason for these changes is (a) reducing horizontal width of each cell so all columns fit comfortably on one page, and (b) some courses have many classes in them, resulting in truncated lines which don't look good.)

The code I have so far defines two corresponding arrays, such that index (x) in arrayA should be replaced by index (x) in arrayB. The final output (with one-ish exception) must retain the course identifier on the first line and replace only the class names on the second line.
VBA Code:
Sub RenameClasses()

On Error GoTo errorcatch

Dim ClassNamesA(1 To 20) As String
Dim ClassNamesB(1 To 20) As String
Dim ClassReplace() As Variant

ClassNamesA(1) = "4 HUM 4 LAT"
ClassNamesB(1) = "4 ASO"
ClassNamesA(2) = "5 HUM 5 LAT-MT 6 LAT-MT"
ClassNamesB(2) = "3de Graad"
ClassNamesA(3) = "3 HUM 3 LAT"
ClassNamesB(3) = "3 ASO"
ClassNamesA(4) = "6 LAT-MT"
ClassNamesB(4) = "6 ASO"
ClassNamesA(5) = "5 HUM 5 LAT-MT"
ClassNamesB(5) = "5 ASO"
ClassNamesA(6) = "2A KT 2A MT-W"
ClassNamesB(6) = "2A"
ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT"
ClassNamesB(7) = "1ste Graad"
ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W"
ClassNamesB(8) = "1ste Graad"
ClassNamesA(9) = "3 HUM 3 LAT 4 HUM 4 LA"       ' LO/BEZ
ClassNamesB(9) = "2de/3de Graad"                ' LO/BEZ
ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L"    ' LO
ClassNamesB(10) = "2de/3de Graad"               ' LO
ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA"      ' GODS
ClassNamesB(11) = "2de Graad"                   ' GODS
ClassNamesA(12) = "1A1 1A2"
ClassNamesB(12) = "1A"
ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W"       ' MIS
ClassNamesB(13) = ""                            ' MIS; replace full cell with "MIS" so one line only
ClassNamesA(14) = "5 LAT-MT"
ClassNamesB(14) = "5 LAT"
ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU"     ' MIS
ClassNamesB(15) = ""                            ' MIS; replace full cell with "MIS" so one line only
ClassNamesA(16) = "5 LAT-MT 6 LAT-MT"
ClassNamesB(16) = "5/6 LAT"

ClassReplace = Application.Union(ClassNamesA, ClassNamesB)

For i = 1 To UBound(ClassReplace)
    Selection.Replace What:=ClassReplace(i, 1), Replacement:=ClassReplace(i, 2), _
        LookAt:=xlPart, MatchCase:=True
Next i

errorcatch: MsgBox ("Error")

End Sub
Note: I am defining the array values in the code because I need this to run on the exported files from the timetable software. Thus, I'm not able to put the data into a separate sheet and reference it in the code.
Note: I have defined the range of the arrays as 1 To 20 (even though there are only 16 elements) to anticipate the possibility of adding more. If it's possible to make these arrays dynamic, all the better.

Challenges:
  • Some of the elements in ClassNamesA are identical (ex. 9 and 11, 7 and 13), but the outputs are different. I have indicated in comment the affected course names. For example, use A(9) if the course name is LO or BEZ, but use A(11) if the course name is GODS. Use A(13) if the course name is MIS, but use A(7) in all other cases.
  • For indexes 13 and 15, the full cell should be replaced by MIS. This is an all-school activity, so it is not necessary to display the class names. I have set the value of the index in B to "", but there should not be a second line in these cells.
My question is how to code the replacement (in the For loop) so that it finds and replaces the indicated text strings, without replacing the course names (except for 'MIS'), and differentiating the LO/BEZ/GODS courses with the same display of class names. When I run the code now, I get a "Compile Error: Type mismatch", and it highlights 'ClassNamesA' in the line
VBA Code:
ClassReplace = Application.Union(ClassNamesA, ClassNamesB)

Thank you in advance for your help. My apologies in advance for not being able to respond again today--I'm leaving now for my godson's birthday party--but I will respond first thing tomorrow. Wishing you all a happy, safe, and healthy new year!
 

Excel Facts

Can a formula spear through sheets?
Use =SUM(January:December!E7) to sum E7 on all of the sheets from January through December
VBA Code:
Option Compare Text'module is not lettersensitive

Sub RenameClasses()
     Dim ClassNamesA(1 To 20) As String, b2, bChange

     'use a pipe "|" between the what-string and replacement-string
     'first all replacements with a coursename
     ClassNamesA(1) = "LO|3 HUM 3 LAT 4 HUM 4 LA|LO|2de/3de Graad"     ' LO/BEZ
     ClassNamesA(2) = "BEZ|3 HUM 3 LAT 4 HUM 4 LA|BEZ|2de/3de Graad"     ' LO/BEZ
     'then all others
     ClassNamesA(17) = "4 HUM 4 LAT|4 ASO"
     ClassNamesA(18) = "5 HUM 5 LAT-MT 6 LAT-MT|3de Graad"
     ClassNamesA(3) = "3 HUM 3 LAT|3 ASO"
     ClassNamesA(4) = "6 LAT-MT|6 ASO"
     ClassNamesA(5) = "5 HUM 5 LAT-MT|5 ASO"
     ClassNamesA(6) = "2A KT 2A MT-W|2A"
     ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT|1ste Graad"
     ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W|1ste Graad"
     ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L|2de/3de Graad"     ' LO
     ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA|2de Graad"       ' GODS
     ClassNamesA(12) = "1A1 1A2|1A"
     ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W|"                 ' MIS; replace full cell with "MIS" so one line only
     ClassNamesA(14) = "5 LAT-MT|5 LAT"
     ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU|"               ' MIS; replace full cell with "MIS" so one line only
     ClassNamesA(16) = "5 LAT-MT 6 LAT-MT|5/6 LAT"

     For i = LBound(ClassNamesA) To UBound(ClassNamesA)         'loop trough all classnamesA
          sp = Split(ClassNamesA(i), "|")                       'split on the pipe
          If UBound(sp) = 1 Or UBound(sp) = 3 Then              'in classnamesA, there  are 2 or 4 parts with the pipe as separator
               b2 = (UBound(sp) = 1)                            'flag only 2 parts
               For Each c0 In Range("A1:A20").Cells             'loop through this cells
                    If c0.Interior.Color = RGB(255, 255, 255) And Len(c0.Value) > 0 Then     'background color cell is white and cell isn't empty
                         sp2 = Split(c0.Value, Chr(10))         'split on vblf
                         bChange = False                        'flag nothing is changed
                         If UBound(sp2) = 1 Then
                              If b2 Then                        'no coursename given
                                   If sp2(1) = sp(0) Then bChange = True: sp2(1) = sp(1)     'simple replacement of classnames
                              Else
                                   If sp(0) = sp2(0) And sp(1) = sp2(1) Then     'coursenames and classes match !
                                        bChange = True: sp2(1) = sp(3)     ' replacement of classnames
                                   End If
                              End If
                              If bChange Then c0.Value = Join(sp2, Chr(10)): c0.Interior.Color = RGB(0, 200, 0)     'something is changed, so change value and backgroundcolor
                         End If
                    End If
               Next
          End If
     Next

End Sub
 
Last edited by a moderator:
Upvote 0
Option Compare Text'module is not lettersensitive

Sub RenameClasses()
Dim ClassNamesA(1 To 20) As String, b2, bChange

'use a pipe "|" between the what-string and replacement-string
'first all replacements with a coursename
ClassNamesA(1) = "LO|3 HUM 3 LAT 4 HUM 4 LA|LO|2de/3de Graad" ' LO/BEZ
ClassNamesA(2) = "BEZ|3 HUM 3 LAT 4 HUM 4 LA|BEZ|2de/3de Graad" ' LO/BEZ
'then all others
ClassNamesA(17) = "4 HUM 4 LAT|4 ASO"
ClassNamesA(18) = "5 HUM 5 LAT-MT 6 LAT-MT|3de Graad"
ClassNamesA(3) = "3 HUM 3 LAT|3 ASO"
ClassNamesA(4) = "6 LAT-MT|6 ASO"
ClassNamesA(5) = "5 HUM 5 LAT-MT|5 ASO"
ClassNamesA(6) = "2A KT 2A MT-W|2A"
ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT|1ste Graad"
ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W|1ste Graad"
ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L|2de/3de Graad" ' LO
ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA|2de Graad" ' GODS
ClassNamesA(12) = "1A1 1A2|1A"
ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W|" ' MIS; replace full cell with "MIS" so one line only
ClassNamesA(14) = "5 LAT-MT|5 LAT"
ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU|" ' MIS; replace full cell with "MIS" so one line only
ClassNamesA(16) = "5 LAT-MT 6 LAT-MT|5/6 LAT"

For i = LBound(ClassNamesA) To UBound(ClassNamesA) 'loop trough all classnamesA
sp = Split(ClassNamesA(i), "|") 'split on the pipe
If UBound(sp) = 1 Or UBound(sp) = 3 Then 'in classnamesA, there are 2 or 4 parts with the pipe as separator
b2 = (UBound(sp) = 1) 'flag only 2 parts
For Each c0 In Range("A1:A20").Cells 'loop through this cells
If c0.Interior.Color = RGB(255, 255, 255) And Len(c0.Value) > 0 Then 'background color cell is white and cell isn't empty
sp2 = Split(c0.Value, Chr(10)) 'split on vblf
bChange = False 'flag nothing is changed
If UBound(sp2) = 1 Then
If b2 Then 'no coursename given
If sp2(1) = sp(0) Then bChange = True: sp2(1) = sp(1) 'simple replacement of classnames
Else
If sp(0) = sp2(0) And sp(1) = sp2(1) Then 'coursenames and classes match !
bChange = True: sp2(1) = sp(3) ' replacement of classnames
End If
End If
If bChange Then c0.Value = Join(sp2, Chr(10)): c0.Interior.Color = RGB(0, 200, 0) 'something is changed, so change value and backgroundcolor
End If
End If
Next
End If
Next

End Sub
Thanks so much for the reply, BSALV!

I haven't tried running your code yet because (1) I see that it's looking for cells with a white background, which isn't the case for any of the cells in my table, and (2) I'm not quite skilled enough with VBA (yet) to be able to modify this. (In fact, the cells that contain courses all have different colours, and it's not consistent between courses, so there's no way to base the function on the cell fill.)

What I have in the meantime--which works, although I'm certain it's extremely inefficient, especially when it is running 20 comparisons on 75 cells in 19 sheets--is this:
VBA Code:
        If ActiveSheet.Name <> "Toezicht" Then
            Dim ClassNamesA(1 To 20) As String
            Dim ClassNamesB(1 To 20) As String
            Dim StartPosition As Integer
            Dim CompareResult As Integer
            Dim CourseName As String
            
            ClassNamesA(1) = "4 HUM 4 LAT"
            ClassNamesB(1) = "4 ASO"
            ClassNamesA(2) = "5 HUM 5 LAT-MT 6 LAT-MT"
            ClassNamesB(2) = "3de Graad"
            ClassNamesA(3) = "3 HUM 3 LAT"
            ClassNamesB(3) = "3 ASO"
            ClassNamesA(4) = "6 LAT-MT"
            ClassNamesB(4) = "6 ASO"
            ClassNamesA(5) = "5 HUM 5 LAT-MT"
            ClassNamesB(5) = "5 ASO"
            ClassNamesA(6) = "2A KT 2A MT-W"
            ClassNamesB(6) = "2A"
            ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT"
            ClassNamesB(7) = "1ste Graad"
            ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W"
            ClassNamesB(8) = "1ste Graad"
            ClassNamesA(9) = "3 HUM 3 LAT 4 HUM 4 LA"       ' LO/BEZ
            ClassNamesB(9) = "2de/3de Graad"                ' LO/BEZ
            ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L"    ' LO
            ClassNamesB(10) = "2de/3de Graad"               ' LO
            ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA"      ' GODS
            ClassNamesB(11) = "2de Graad"                   ' GODS
            ClassNamesA(12) = "1A1 1A2"
            ClassNamesB(12) = "1A"
            ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W"       ' MIS
            ClassNamesB(13) = ""                            ' MIS; repace full cell so one line only
            ClassNamesA(14) = "5 LAT-MT"
            ClassNamesB(14) = "5 LAT"
            ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU"     ' MIS
            ClassNamesB(15) = ""                            ' MIS; repace full cell so one line only
            ClassNamesA(16) = "5 LAT-MT 6 LAT-MT"
            ClassNamesB(16) = "5/6 LAT"
            
            For Each Cell In Range("B3:F15")
                Cell.Value = Application.WorksheetFunction.Trim(Cell.Value)
            Next
            
            For Each Cell In Range("B3:F15")
                If Len(Cell) > 5 Then
                    For i = 1 To UBound(ClassNamesA)
                        StartPosition = InStr(1, Cell, Chr(10)) + 1
                        CompareResult = StrComp(Mid(Cell, StartPosition), ClassNamesA(i))
                        If CompareResult = 0 Then
                            CourseName = Left(Cell, StartPosition - 2)
                            If CourseName = "MIS" Then
                                Cell.Value = CourseName
                                Else
                                If CourseName = "GODS" And i = 9 Then
                                    Cell.Value = CourseName & Chr(10) & ClassNamesB(11)
                                    Else: Cell.Value = CourseName & Chr(10) & ClassNamesB(i)
                                End If
                            End If
                        End If
                    Next i
                End If
            Next
        End If

Notes:
  • The code has to run on three different types of timetables, one of which has a completely different layout and content, thus the initial IF function excluding the odd-timetable-out.
  • I discovered while running this that there are (always? sometimes?) extra spaces in the class names from the export, thus the FOR loop with .Trim().
  • I was receiving errors when it tried to parse the code on blank cells, thus the IF Len() function.
  • On some sheets, one or more cells contain 'MIS' and/or 'Lunch' (without a second line, without a class name), which returned errors, thus the Len() function is set > 5 (for 'Lunch').
I think your code looks like it would be much more efficient than what I've got; would it be possible to merge them somehow?
 
Upvote 0
VBA Code:
Option Compare Text

Sub xxxxx()
     If ActiveSheet.Name <> "Toezicht" Then
          Dim ClassNamesA(1 To 20) As String
          Dim ClassNamesB(1 To 20) As String
          Dim StartPosition As Integer
          Dim CompareResult As Integer
          Dim CourseName As String

          ClassNamesA(1) = "4 HUM 4 LAT"
          ClassNamesB(1) = "4 ASO"
          ClassNamesA(2) = "5 HUM 5 LAT-MT 6 LAT-MT"
          ClassNamesB(2) = "3de Graad"
          ClassNamesA(3) = "3 HUM 3 LAT"
          ClassNamesB(3) = "3 ASO"
          ClassNamesA(4) = "6 LAT-MT"
          ClassNamesB(4) = "6 ASO"
          ClassNamesA(5) = "5 HUM 5 LAT-MT"
          ClassNamesB(5) = "5 ASO"
          ClassNamesA(6) = "2A KT 2A MT-W"
          ClassNamesB(6) = "2A"
          ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT"
          ClassNamesB(7) = "1ste Graad"
          ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W"
          ClassNamesB(8) = "1ste Graad"
          ClassNamesA(9) = "3 HUM 3 LAT 4 HUM 4 LA"             ' LO/BEZ
          ClassNamesB(9) = "2de/3de Graad"                      ' LO/BEZ
          ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L"          ' LO
          ClassNamesB(10) = "2de/3de Graad"                     ' LO
          ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA"            ' GODS
          ClassNamesB(11) = "2de Graad"                         ' GODS
          ClassNamesA(12) = "1A1 1A2"
          ClassNamesB(12) = "1A"
          ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W"             ' MIS
          ClassNamesB(13) = ""                                  ' MIS; repace full cell so one line only
          ClassNamesA(14) = "5 LAT-MT"
          ClassNamesB(14) = "5 LAT"
          ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU"           ' MIS
          ClassNamesB(15) = ""                                  ' MIS; repace full cell so one line only
          ClassNamesA(16) = "5 LAT-MT 6 LAT-MT"
          ClassNamesB(16) = "5/6 LAT"

          For Each Cell In Range("B3:F15")
               Cell.Value = Application.WorksheetFunction.Trim(Cell.Value)
          Next

          For Each Cell In Range("B3:F15")
               If Len(Cell) > 5 Then
                    For i = 1 To UBound(ClassNamesA)
                         sp = Split(Cell.Value, Chr(10))        'cut in 2 at chr(10)
                         If UBound(sp) = 1 Then                 '2 parts ?
                              If sp(1) = ClassNamesA(i) Then    '2nd part equal to classNameA
                                   CourseName = sp(0)           'coursename is 1st part
                                   Select Case CourseName 'several options for your coursename
                                        Case "MIS": Cell.Value = CourseName 'with "MIS", only coursename
                                        Case "GODS": Cell.Value = CourseName & Chr(10) & IIf(i = 9, ClassNamesB(11), ClassNamesB(i))
                                        Case Else: Cell.Value = CourseName & Chr(10) & ClassNamesB(i)
                                   End Select
                              End If
                         End If
                    Next i
               End If
          Next
     End If
End Sub
 
Upvote 0
Solution
VBA Code:
Option Compare Text

Sub xxxxx()
     If ActiveSheet.Name <> "Toezicht" Then
          Dim ClassNamesA(1 To 20) As String
          Dim ClassNamesB(1 To 20) As String
          Dim StartPosition As Integer
          Dim CompareResult As Integer
          Dim CourseName As String

          ClassNamesA(1) = "4 HUM 4 LAT"
          ClassNamesB(1) = "4 ASO"
          ClassNamesA(2) = "5 HUM 5 LAT-MT 6 LAT-MT"
          ClassNamesB(2) = "3de Graad"
          ClassNamesA(3) = "3 HUM 3 LAT"
          ClassNamesB(3) = "3 ASO"
          ClassNamesA(4) = "6 LAT-MT"
          ClassNamesB(4) = "6 ASO"
          ClassNamesA(5) = "5 HUM 5 LAT-MT"
          ClassNamesB(5) = "5 ASO"
          ClassNamesA(6) = "2A KT 2A MT-W"
          ClassNamesB(6) = "2A"
          ClassNamesA(7) = "1A1 1A2 2A MT-W 2A KT"
          ClassNamesB(7) = "1ste Graad"
          ClassNamesA(8) = "1A1 1A2 2A KT 2A MT-W"
          ClassNamesB(8) = "1ste Graad"
          ClassNamesA(9) = "3 HUM 3 LAT 4 HUM 4 LA"             ' LO/BEZ
          ClassNamesB(9) = "2de/3de Graad"                      ' LO/BEZ
          ClassNamesA(10) = "3 HUM 6 LAT-MT 4 LAT 5 L"          ' LO
          ClassNamesB(10) = "2de/3de Graad"                     ' LO
          ClassNamesA(11) = "3 HUM 3 LAT 4 HUM 4 LA"            ' GODS
          ClassNamesB(11) = "2de Graad"                         ' GODS
          ClassNamesA(12) = "1A1 1A2"
          ClassNamesB(12) = "1A"
          ClassNamesA(13) = "1A1 1A2 2A KT 2A MT-W"             ' MIS
          ClassNamesB(13) = ""                                  ' MIS; repace full cell so one line only
          ClassNamesA(14) = "5 LAT-MT"
          ClassNamesB(14) = "5 LAT"
          ClassNamesA(15) = "1A1 6 LAT-MT 4 LAT 3 HU"           ' MIS
          ClassNamesB(15) = ""                                  ' MIS; repace full cell so one line only
          ClassNamesA(16) = "5 LAT-MT 6 LAT-MT"
          ClassNamesB(16) = "5/6 LAT"

          For Each Cell In Range("B3:F15")
               Cell.Value = Application.WorksheetFunction.Trim(Cell.Value)
          Next

          For Each Cell In Range("B3:F15")
               If Len(Cell) > 5 Then
                    For i = 1 To UBound(ClassNamesA)
                         sp = Split(Cell.Value, Chr(10))        'cut in 2 at chr(10)
                         If UBound(sp) = 1 Then                 '2 parts ?
                              If sp(1) = ClassNamesA(i) Then    '2nd part equal to classNameA
                                   CourseName = sp(0)           'coursename is 1st part
                                   Select Case CourseName 'several options for your coursename
                                        Case "MIS": Cell.Value = CourseName 'with "MIS", only coursename
                                        Case "GODS": Cell.Value = CourseName & Chr(10) & IIf(i = 9, ClassNamesB(11), ClassNamesB(i))
                                        Case Else: Cell.Value = CourseName & Chr(10) & ClassNamesB(i)
                                   End Select
                              End If
                         End If
                    Next i
               End If
          Next
     End If
End Sub
Brilliant--works perfectly. Thanks!
 
Upvote 0
thanks !
Are this flemish classes, courses ??‍?
 
Upvote 0
thanks !
Are this flemish classes, courses ??‍?
Well spotted! I teach in a Flemish school, and I'm working on the timetables. I'm curious how you pinpointed Flemish as opposed to Dutch--you must be from the area?
 
Upvote 0

Forum statistics

Threads
1,224,811
Messages
6,181,081
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top