You are on page 1of 6

<<<<<<<<<CODIGO UNO>>>>>>>>>>

Sub Base()

Dim existe As Boolean

On Error Resume Next


existe = (Worksheets("BASE").Name <> "")
If Not existe Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "BASE"
End If

Sheets("BASE").Select
Worksheets("BASE").Range("a1:cz40000").Clear

ruta = ActiveWorkbook.Path

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ruta & "\Tris.csv",


Destination:=Range("$A$1"))
.Name = "Tris"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Worksheets("BASE").Columns(1).Delete Shift:=xlShiftToLeft
Worksheets("BASE").Columns(7).Delete Shift:=xlShiftToLeft

For j = 1 To 5
Worksheets("BASE").Cells(1, j + 1).ColumnWidth = 3
Next

End Sub

<<<<<<<<<CODIGO DOS>>>>>>>>>>

Sub Selectores()
Dim existe As Boolean
Dim j As Byte, i As Byte
Dim a As Byte, b As Byte
Dim k As Byte, m As Byte
Dim punto1 As Byte, punto2 As Byte
Dim referencia As Byte, promedio As Double, fin As Byte

Sheets("BASE").Select
Worksheets("BASE").Range("h1:n60").Clear

Worksheets("BASE").Cells(1, 8) = "i"
Worksheets("BASE").Cells(12, 8) = "MAX"
Worksheets("BASE").Cells(13, 8) = "MIN"
Worksheets("BASE").Cells(14, 8) = "PROM"
Worksheets("BASE").Cells(1, 8).ColumnWidth = 5
For j = 1 To 5
Worksheets("BASE").Cells(1, j + 8) = "N" & j
Worksheets("BASE").Cells(1, j + 8).ColumnWidth = 3
Next

For i = 0 To 9
Worksheets("BASE").Cells(i + 2, 8) = i
Worksheets("BASE").Cells(i + 2, 9) =
Application.CountIf(Worksheets("BASE").Range("b2:b234"), i)
Worksheets("BASE").Cells(i + 2, 10) =
Application.CountIf(Worksheets("BASE").Range("c2:c234"), i)
Worksheets("BASE").Cells(i + 2, 11) =
Application.CountIf(Worksheets("BASE").Range("d2:d234"), i)
Worksheets("BASE").Cells(i + 2, 12) =
Application.CountIf(Worksheets("BASE").Range("e2:e234"), i)
Worksheets("BASE").Cells(i + 2, 13) =
Application.CountIf(Worksheets("BASE").Range("f2:f234"), i)
Next

For j = 9 To 13
a = Application.WorksheetFunction.Max(Range(Worksheets("BASE").Cells(2, j),
Worksheets("BASE").Cells(11, j)))
b = Application.WorksheetFunction.Min(Range(Worksheets("BASE").Cells(2, j),
Worksheets("BASE").Cells(11, j)))
Worksheets("BASE").Cells(12, j) = a
Worksheets("BASE").Cells(13, j) = b
Worksheets("BASE").Cells(14, j) = (a + b) / 2
Next

punto1 = Application.WorksheetFunction.Max(Range(Worksheets("BASE").Cells(13,
9), Worksheets("BASE").Cells(13, 13)))
punto2 = Application.WorksheetFunction.Max(Range(Worksheets("BASE").Cells(14,
9), Worksheets("BASE").Cells(14, 13)))

For i = 1 To 14
For j = 8 To 13
u = Worksheets("BASE").Cells(i, j)
With Worksheets("BASE").Cells(i, j)
.BorderAround LineStyle:=xlContinuous, ColorIndex:=1,
Weight:=xlThin
End With
If u <= punto1 And j > 8 Then
With Worksheets("BASE").Cells(i, j)
.Interior.Color = RGB(250, 0, 0)
.Font.Color = RGB(0, 0, 0)
End With
ElseIf u > punto1 And u <= punto2 And j > 8 Then
With Worksheets("BASE").Cells(i, j)
.Interior.Color = RGB(250, 250, 0)
.Font.Color = RGB(0, 0, 0)
End With
ElseIf u > punto2 And j > 8 Then
With Worksheets("BASE").Cells(i, j)
.Interior.Color = RGB(70, 140, 70)
.Font.Color = RGB(0, 0, 0)
End With
End If
If i > 11 Then
With Worksheets("BASE").Cells(i, j)
.Interior.Color = RGB(0, 0, 0)
.Font.Color = RGB(250, 250, 250)
End With
End If
Next j
Next i

On Error Resume Next


existe = (Worksheets("NUMEROS").Name <> "")
If Not existe Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "NUMEROS"
End If

Sheets("NUMEROS").Select
Worksheets("NUMEROS").Range("c1:o50").Clear

For j = 1 To 14
Worksheets("NUMEROS").Cells(1, j).ColumnWidth = 5
Next j

For j = 3 To 12
k = j Mod 2
If k = 1 Then
m = m + 1
Worksheets("NUMEROS").Cells(1, j) = "C" & m & "-N"
Else
Worksheets("NUMEROS").Cells(1, j) = "C" & m & "-P"
End If
Next j
m = 1
For j = 9 To 13
m = m + 2
For i = 0 To 9
k = i Mod 2
referencia = Worksheets("BASE").Cells(i + 2, j)
If referencia >= punto2 Then
If k = 1 Then
Worksheets("NUMEROS").Cells(i + 5, m).End(xlUp).Offset(1,
0).Select
ActiveCell = i
Else
Worksheets("NUMEROS").Cells(i + 5, m + 1).End(xlUp).Offset(1,
0).Select
ActiveCell = i
End If
End If
Next
Next
For j = 3 To 12
k = j Mod 2
fin = Worksheets("NUMEROS").Cells(Rows.Count, j).End(xlUp).Row
For i = 1 To fin
If k = 1 Then
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(70, 140, 70)
.Font.Color = RGB(250, 250, 250)
End With
Else
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(250, 250, 250)
.Font.Color = RGB(70, 140, 70)
End With
End If
With Worksheets("NUMEROS").Cells(i, j)
.BorderAround LineStyle:=xlContinuous, ColorIndex:=1,
Weight:=xlThin
End With
Next
Next

m = 0
For j = 3 To 12
k = j Mod 2
If k = 1 Then
m = m + 1
Worksheets("NUMEROS").Cells(8, j) = "C" & m & "-N"
Else
Worksheets("NUMEROS").Cells(8, j) = "C" & m & "-P"
End If
Next j
m = 1
For j = 9 To 13
m = m + 2
For i = 0 To 9
k = i Mod 2
referencia = Worksheets("BASE").Cells(i + 2, j)
If referencia <= punto1 Then
If k = 1 Then
Worksheets("NUMEROS").Cells(i + 14, m).End(xlUp).Offset(1,
0).Select
ActiveCell = i
Else
Worksheets("NUMEROS").Cells(i + 14, m + 1).End(xlUp).Offset(1,
0).Select
ActiveCell = i
End If
End If
Next
Next
For j = 3 To 12
k = j Mod 2
fin = Worksheets("NUMEROS").Cells(Rows.Count, j).End(xlUp).Row
For i = 8 To fin
If k = 1 Then
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(250, 0, 0)
.Font.Color = RGB(250, 250, 250)
End With
Else
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(250, 250, 250)
.Font.Color = RGB(250, 0, 0)
End With
End If
With Worksheets("NUMEROS").Cells(i, j)
.BorderAround LineStyle:=xlContinuous, ColorIndex:=1,
Weight:=xlThin
End With
Next
Next

m = 0
For j = 3 To 12
k = j Mod 2
If k = 1 Then
m = m + 1
Worksheets("NUMEROS").Cells(15, j) = "C" & m & "-N"
Else
Worksheets("NUMEROS").Cells(15, j) = "C" & m & "-P"
End If
Next j
m = 1
For j = 9 To 13
m = m + 2
For i = 0 To 9
k = i Mod 2
referencia = Worksheets("BASE").Cells(i + 2, j)
If referencia > punto1 And referencia < punto2 Then
If k = 1 Then
Worksheets("NUMEROS").Cells(i + 20, m).End(xlUp).Offset(1,
0).Select
ActiveCell = i
Else
Worksheets("NUMEROS").Cells(i + 20, m + 1).End(xlUp).Offset(1,
0).Select
ActiveCell = i
End If
End If
Next
Next
For j = 3 To 12
k = j Mod 2
fin = Worksheets("NUMEROS").Cells(Rows.Count, j).End(xlUp).Row
For i = 15 To fin
If k = 1 Then
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(250, 250, 0)
.Font.Color = RGB(0, 0, 0)
End With
Else
With Worksheets("NUMEROS").Cells(i, j)
.Interior.Color = RGB(250, 250, 250)
.Font.Color = RGB(0, 0, 0)
End With
End If
With Worksheets("NUMEROS").Cells(i, j)
.BorderAround LineStyle:=xlContinuous, ColorIndex:=1,
Weight:=xlThin
End With
Next
Next

End Sub

You might also like