Tengo el siguiente código del que necesito encontrar la forma de que no me dé un resultado indeseado que obtengo.
Sub MFD()
'
'
' P3FD1 Macro
Dim fin As Long, final As Long
Dim i As Long, j As Long, n As Long
With Sheets("FD")
' With ThisWorkbook.Worksheets("Datos")
fin = Application.CountA(.Range("A:A"))
final = Application.CountA(.Range("1:1"))
For i = 1 To final - 1
scadena = vbNullString
n = .Cells(1, i + 1)
For j = 1 To fin
If .Cells(j, i) = n Then .Cells(j, i).Interior.Color = vbBlack
If .Cells(j, i) = n Then .Cells(j, i).Font.Color = vbRed
scadena = Trim(scadena & " " & .Cells(j, i))
scadena = Trim(Replace(scadena, n, ""))
scadena = n & " " & scadena
Next j
matriz = Split(scadena, " ")
c = 1
For Each numero In matriz
.Cells(c, i + 1) = numero
c = c + 1
Next numero
Next i
End With
Range("A90").Select
End Sub
Sub MFU()
'
'
' P3FD1 Macro
Dim fin As Long, final As Long
Dim i As Long, j As Long, n As Long
With Sheets("FU")
' With ThisWorkbook.Worksheets("Datos")
fin = Application.CountA(.Range("A:A"))
final = Application.CountA(.Range("1:1"))
For i = 1 To final - 1
scadena = vbNullString
n = .Cells(1, i + 1)
For j = 1 To fin
If .Cells(j, i) = n Then .Cells(j, i).Interior.Color = vbBlack
If .Cells(j, i) = n Then .Cells(j, i).Font.Color = vbRed
scadena = Trim(scadena & " " & .Cells(j, i))
scadena = Trim(Replace(scadena, n, ""))
scadena = n & " " & scadena
Next j
matriz = Split(scadena, " ")
c = 1
For Each numero In matriz
.Cells(c, i + 1) = numero
c = c + 1
Next numero
Next i
End With
Range("A1").Select
End Sub
El codigo trabaja bien con numeros del 0 al 9, pero no de 0 a 99.
De 0 a 9 trabaja bien, de 0 a 99 da resultados bizarros.
Ese es el problema que necesito corregir.
adjunto archivo de excel con una muestra.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
F22.xlsm
Buenas noches un fraternal saludo.
Tengo el siguiente código del que necesito encontrar la forma de que no me dé un resultado indeseado que obtengo.
Sub MFD()
'
'
' P3FD1 Macro
Dim fin As Long, final As Long
Dim i As Long, j As Long, n As Long
With Sheets("FD")
' With ThisWorkbook.Worksheets("Datos")
fin = Application.CountA(.Range("A:A"))
final = Application.CountA(.Range("1:1"))
For i = 1 To final - 1
scadena = vbNullString
n = .Cells(1, i + 1)
For j = 1 To fin
If .Cells(j, i) = n Then .Cells(j, i).Interior.Color = vbBlack
If .Cells(j, i) = n Then .Cells(j, i).Font.Color = vbRed
scadena = Trim(scadena & " " & .Cells(j, i))
scadena = Trim(Replace(scadena, n, ""))
scadena = n & " " & scadena
Next j
matriz = Split(scadena, " ")
c = 1
For Each numero In matriz
.Cells(c, i + 1) = numero
c = c + 1
Next numero
Next i
End With
Range("A90").Select
End Sub
Sub MFU()
'
'
' P3FD1 Macro
Dim fin As Long, final As Long
Dim i As Long, j As Long, n As Long
With Sheets("FU")
' With ThisWorkbook.Worksheets("Datos")
fin = Application.CountA(.Range("A:A"))
final = Application.CountA(.Range("1:1"))
For i = 1 To final - 1
scadena = vbNullString
n = .Cells(1, i + 1)
For j = 1 To fin
If .Cells(j, i) = n Then .Cells(j, i).Interior.Color = vbBlack
If .Cells(j, i) = n Then .Cells(j, i).Font.Color = vbRed
scadena = Trim(scadena & " " & .Cells(j, i))
scadena = Trim(Replace(scadena, n, ""))
scadena = n & " " & scadena
Next j
matriz = Split(scadena, " ")
c = 1
For Each numero In matriz
.Cells(c, i + 1) = numero
c = c + 1
Next numero
Next i
End With
Range("A1").Select
End Sub
El codigo trabaja bien con numeros del 0 al 9, pero no de 0 a 99.
De 0 a 9 trabaja bien, de 0 a 99 da resultados bizarros.
Ese es el problema que necesito corregir.
adjunto archivo de excel con una muestra.