Que tal amigos de la comunidad, aqui con una duda, tengo un problema con unos datos en Excel, quiero hacer lo siguiente:
Tengo estos datos en columnas de excel:
A B
145 3
214 11
1234 12
y la columna de la derecha me dice cuantas veces debe ir el número de la izquierda, para que quede de la siguiente manera:
145
145
145
214
214
214
214
214
214
214
214
214
214
214
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
El asunto es que tengo así 1500 datos que debo repetir entre 1 y 80 veces de forma variable cada número, alguien sabe alguna macro para hacer esto? y formar mi nueva columna de números la cantidad de veces que dice la columna B??? saludos y ojalá alguien sepa la respuesta... gracias de antemano...
Actualización:Ya probé la macro y me manda error de compilación, pues tengo una fila en la columna A con diversos números, y en la columna B tengo la cantidad de veces que necesito repetir el número en la columna A en forma descendente, como lo puse en el ejemplo arriba... bueno, ojalá alguien pueda ayudarme... saludos.
Copyright © 2024 Q2A.MX - All rights reserved.
Answers & Comments
Verified answer
nos podrias dar mas detalles:
te envio codigo que te pueda servir
Option Explicit
Sub iguales()
Dim UltimaFilaA As Long
Dim UltimaFilaB As Long
Dim UltimaFilaC As Long
Dim a As Long
Dim b As Long
Dim c As Long
Dim colorea As Byte
Worksheets("Hoja1").Range("C13").Activate
Range("C13").Select
Selection.End(xlDown).Select
UltimaFilaA = ActiveCell.Row
Range("D13").Select
Selection.End(xlDown).Select
UltimaFilaB = ActiveCell.Row
Range("E13").Select
Selection.End(xlDown).Select
UltimaFilaC = ActiveCell.Row
Range("A13").Select
For c = 14 To UltimaFilaC
For b = 14 To UltimaFilaB
For a = 14 To UltimaFilaA
If Cells(a, 3).Value = Cells(b, 4).Value And _
Cells(c, 5).Value = Cells(b, 4).Value Then
Cells(c, 6).Value = a
Cells(c, 7).Value = b
colorea = Int(Rnd * 55) + 1
Cells(a, 3).Interior.ColorIndex = colorea
Cells(b, 4).Interior.ColorIndex = colorea
Cells(c, 5).Interior.ColorIndex = colorea
End If
Next a
Next b
Next c
End Sub
Option Explicit
Sub parejas()
Dim x As String * 15
Dim i As Long
Dim colorea As Byte
Dim p 'p es la celda donde se encuentra la ref. repetida
For i = 1 To 100
x = Cells(i + 13, 3)
Set p = Range("D14", Range("D14").End(xlDown).Address).Find(x)
'en la expresión anterior se dice el inicio de la columna de datos pero no el final
If Not (p Is Nothing) Then 'p es un objeto rango que puede estar vacio si no existe repe
colorea = Int(Rnd * 55) + 1
Worksheets("Hoja2").Cells(p.Row, 4).Interior.ColorIndex = colorea
Worksheets("Hoja2").Cells(i + 13, 3).Interior.ColorIndex = colorea
End If
Next i
End Sub