Hola @RubenDario
Faltaría que en cada línea dentro del With le pongas un punto al inicio
With Hoja1
.Range("B6:B18,F6:F18,J6:J18").Select
.Range("J6").Activate
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Selection.ClearContents
.Range("A1").Select
End With
Sin embargo, lo que yo haría (si fuese mi proyecto)... te ofrezco varias soluciones.
No asignarlo a una combinación de teclas, mejor ponerlo en una forma o botón.
Modificar tu libro con la app Custom UI Editor o similar y adicionar un botón en el Ribbon, estará visible solo cuando el libro esté activo.
Al principio de tu código pondría algo como: If Thisworkbook.Name <> ActiveWorkbook.Name Then Exit sub
Por
DiegoPC, · publicado
Hola amigos!!!
Solicito su ayuda para realizar el siguiente trabajo:
1- Necesito concatenar desde hoja "OC" hacia hoja "Oferta_de_Compra":
B2 "-" E1
B2 "-" F1
B2 "-" G1
B2 "-" ....hasta V1
Posteriormente concatenar,
B43 "-" E42
B43 "-" F42
B43 "-" G42
B43 "-" ....hasta V42
Y así consecutivamente hasta finalizar el ciclo de 41 filas, esto pegar transpuesto y se forma consecutiva
en la columna "C" desde la fila 3 de la hoja "Oferta_de_Compra".
2. Posterior al ciclo de concatenación, ordenar de mayor a menor la columa "K" desde la tercera fila.
3. En la columna "M" desde la fila 3, colocar la palabra "IVA", según corresponda de acuerdo al llenado de las otras columnas.
4. Poner un N° correlativo a partir de 1 y en función del orden de la columna "K", es decir,:
- 1 para el primer grupo de la columna "K"
- 2 para el segundo grupo de la columna "K"
- y así sucesivamente.
Este es el código que tengo hasta ahora, pero necesito incluirle otras funciones:
Sub Datos()
'
Application.ScreenUpdating = False
Set h1 = Sheets("OC")
Set h2 = Sheets("oferta_de_compra")
'
u = h2.Range("E" & Rows.Count).End(xlUp).Row
If u = 2 Then u = 3
h2.Range("E3:K" & u).ClearContents
'
n = 0
For i = 3 To h1.Range("E" & Rows.Count).End(xlUp).Row
For j = 5 To 52
If h1.Cells(i, j) = "" Then Exit For
Next
'
h1.Range(h1.Cells(i, "E"), h1.Cells(i, j)).Copy
u2 = h2.Range("E" & Rows.Count).End(xlUp).Row + 1
h2.Cells(u2, "E").PasteSpecial Paste:=xlPasteValues, Transpose:=True
u3 = h2.Range("E" & Rows.Count).End(xlUp).Row ' ACA TERMINA EL CICLO PARA PEGAR LAS CURVAS
h2.Range(h2.Cells(u2, "K"), h2.Cells(u3, "K")) = h1.Cells(i, "A") ' ACA SE PEGAN LAS TIENDAS
h2.Range(h2.Cells(u2, "F"), h2.Cells(u3, "F")) = h1.Cells(i, "D") ' ACA SE PEGA EL PRECIO COSTO
n = n + 1
If n = 38 Then
i = i + 3
n = 0
End If
Next
Amigos por favor su ayuda!!!!
Planilla.rar