-
Content Count
1,381 -
Joined
-
Last visited
-
Days Won
57
Content Type
Profiles
Forums
Downloads
Everything posted by AlexanderS
-
ANSWERED Formula para pegar a modo comentario el valor de otra celda
AlexanderS replied to tupy77's topic in Excel General
Tienes razón, no me di por hecho que los num de los recibos serian únicos. Adjunto el archivo con una modificación. Saludos EJEMPLO PARA INSERTAR COMENTARIOS.xlsm -
ANSWERED Formula para pegar a modo comentario el valor de otra celda
AlexanderS replied to tupy77's topic in Excel General
Prueba el adjunto, ten en cuenta que la macro esta echa con el formato de la tabla que adjuntaste es posible que debas realizar modificaciones a la macro para adaptarlo a otro libro. Saludos. EJEMPLO PARA INSERTAR COMENTARIOS.xlsm -
ANSWERED Formula para pegar a modo comentario el valor de otra celda
AlexanderS replied to tupy77's topic in Excel General
Hola @tupy77, si es posible con macros y es bastante simple, pero para no tener que imaginarnos la tabla y construirla desde 0 te recomiendo subir un excel de ejemplo. Saludos. -
@Leonardo Briceño Pura vida!! A mi no me pasa lo que indicas, pero de igual forma puedes probar solo des protegiendo la hoja cuando confirmas la eliminación de esta forma no deberías ver las formulas cuando se muestren los cuadros de mensaje. Sub BorrarCeldas(): On Error GoTo ExitSub Set CeldaDestino = Application.InputBox("SELECCIONE LA CELDA CON EL NOMBRE QUE DESEA ELIMINAR", _ "BORRAR - SELECCIONE CELDA", Type:=8) Application.ScreenUpdating = False CeldaDestino.Worksheet.Select CeldaDestino.Select If Msg
-
@Leonardo Briceño, por lo que veo no estas volviendo a proteger la hoja luego de eliminar, solo la proteges si se cancela. Así debería funcionar: Sub BorrarCeldas(): On Error GoTo ExitSub ActiveSheet.Unprotect Password:="123" Set CeldaDestino = Application.InputBox("SELECCIONE LA CELDA CON EL NOMBRE QUE DESEA ELIMINAR", _ "BORRAR - SELECCIONE CELDA", Type:=8) Application.ScreenUpdating = False CeldaDestino.Worksheet.Select CeldaDestino.Select If MsgBox("DESEA ELIMINAR EL NOMBRE " & ActiveCell.Value, vbQuestio
-
ANSWERED BUSCAR NOMBRE HOJA
AlexanderS replied to Leonardo Briceño's topic in Macros y programación VBA
Hola @Leonardo Briceño, en este caso seria convertir tanto la búsqueda como el nombre de las hojas a mayúsculas independientemente de como estén escritas: Sub BuscarNombreHoja() Application.ScreenUpdating = False Dim existe As Boolean Dim nombreHoja As String Dim cont As Integer nombreHoja = UCase(InputBox("INGRESE EL NOMBRE DE LA HOJA")) existe = False For cont = 1 To Worksheets.Count If UCase(Worksheets(cont).Name) Like "*" & nombreHoja & "*" Then existe = True Exit For End If Next If existe = False Then -
ANSWERED PROBLEMA CON SENTENCIA CELLS().COLUMNS().UNGROUP
AlexanderS replied to paikerr's topic in Macros y programación VBA
Hola @paikerr intenta así: Dim rango As Range Set rango = Range(Columns(1), Columns(6)) If IsNull(rango.OutlineLevel) Then rango.Ungroup Comentas, saludos. -
Que tal @fx.ingenieria, bienvenido al foro, te comento que puedes realizar tus consultas en el hilo de excel general (Formulas,etc) o en el de macros y VBA. Espero que el foro te sea de tanta ayuda como ha sido para mi. Pura vida!!, saludos desde Cartago.
-
ANSWERED DUDA SOBRE CUSTOM UI EDITOR PARA EXCEL 2019
AlexanderS replied to paikerr's topic in Excel General
Un gusto @Sergio, sinceramente no sabría recomendarte alguna pagina o vídeo en concreto, la cinta que vez arriba la hice con una recopilación de paginas y un poco de prueba y error. Pero te aseguro que no es tan complicado como parece, seguro que con leer un poco de la documentación del programa le agarras el tiro https://bettersolutions.com/vba/ribbon/custom-ui-editor.htm Saludos. -
ANSWERED Recorrer dos mas recordset con un solo do while
AlexanderS replied to RadioViraje73's topic in Macros y programación VBA
@RadioViraje73, correcto la instrucción copiara los datos en columnas contiguas, entonces tienes algunas opciones: 1 utilizar un ciclo while para leer cada columna de tu tabla individualmente o 2 realizar una consulta a por cada columna para poder utilizar el .CopyFromRecordset, algo como esto: Columnas = Array("FECHA", "PAGADO", "DEBE") For Each param In Columnas Sql = Replace("SELECT ? FROM [Datos$] where (FECHA BETWEEN #1/1/2020# and #31/3/2020#) and DEBE >0", "?", param) Rst.Open Sql, cn, 3, 3 Select Case param Case Is = "FECHA": Sheets("Resultado").Range("A2").CopyFromRecordset -
Color celda y texto antes de escribir
AlexanderS replied to joselica's topic in Macros y programación VBA
Hola @joselica, en este caso no es necesario tratar cada celda individualmente, revisa el adjunto y comentas. Saludos COLOR CELDAS (1) Ucase o Lcase.xlsm -
Color celda y texto antes de escribir
AlexanderS replied to joselica's topic in Macros y programación VBA
Hola @joselica, prueba el adjunto. Saludos COLOR CELDAS (1).xlsm -
ANSWERED Recorrer dos mas recordset con un solo do while
AlexanderS replied to RadioViraje73's topic in Macros y programación VBA
Hola @RadioViraje73, no es necesario recorrer con un ciclo while un recordset, puedes copiar los datos directamente a la hoja de excel con la instrucción .CopyFromRecordset Sheets("Hoja1").Range("A2").CopyFromRecordset Rst Saludos -
ANSWERED DUDA SOBRE CUSTOM UI EDITOR PARA EXCEL 2019
AlexanderS replied to paikerr's topic in Excel General
Hola @paikerr lo trabajo sin problemas en Office 365 y también lo he probado en versiones 2013,2016,2019 sin problemas. Saludos. -
ANSWERED COPIAR DATOS UNICOS SEGUN CONDICION
AlexanderS replied to darkstars9976's topic in Macros y programación VBA
Hola @darkstars9976, prueba este código y me comentas. Sub Copia_recetas() Dim Rng$, x# Dim rept As Range Dim celda With Sheets("BD_Recetas") Rng = .Range("D1") x = 9 For Each celda In Sheets("Proy.-Comer").Range(Rng) If celda <> "" Then Set rept = .Range("C9:C43").Find(celda, , , xlWhole) If rept Is Nothing Then _ .Cells(x, "C") = celda: x = x + 1 End If Next End With -
Perdida de referencias en formulas
AlexanderS replied to DARIEN HERNANDEZ's topic in Macros y programación VBA
Has probado o tienes información sobre Power Pivot ?, si lo que haces simplemente es un exportación de los datos de access a excel no necesitas ninguna macro excel es capas de realizar la exportación a una tabla plana o dinámica, ademas si utilizas Power Pivot puedes crear las "formulas" internamente. Pero solo estoy suponiendo ya que desconozco la estructura de tu base ni lo que quieres hacer en excel. Si te parece puedes subir un ejemplo del accces y el excel, obviamente con datos ficticios pero con un formato fiel al original para que no tengas problemas para adaptarlo. Salu -
Hola @Nori777, no se si entendí pero puedes probar con este código: Sub registrar() Dim jugador As Range Dim Franjas As Variant jug = Sheets("Hoja2").Range("Q36") With Sheets("Hoja1") Set jugador = .Range("BD:BD").Find(jug, , , xlWhole) If jugador Is Nothing Then Exit Sub ult = jugador.End(xlDown).Offset(0, 1).End(xlUp).Row + 1 .Cells(ult, "BE") = Sheets("Hoja2").Range("M36") .Cells(ult, "BF") = Sheets("Hoja2").Range("O36") Franjas = Sheets("Hoja2").Range("L40:Q40"
-
ANSWERED excel no entrega valor entero al restar horas
AlexanderS replied to jomunozta's topic in Macros y programación VBA
@jomunozta, tal como dice Cristian, recuerda que las fechas y horas en realidad son números con decimales y bueno por la forma de excel de tratar operaciones con números flotantes obtendrás un resultado con decimales. Puedes limitar el numero de decimales que debe devolver el resultado a 2 así el 7.99999999999 se convertirá en un 8.00. Y en este otro caso el resultado sera 1.50 Después es solo cuestión de evaluar esos decimales sin mayores a 0. Saludos -
Hola @Galactico, en ese caso debes buscar como utilizar los ciclos while, te adjunto un código que recorre un rango de celdas colocando un número aleatorio y con el while indico que la instrucción debe repetirse hasta que el número que entrega sea mayor a 50. Sub aleatoreo() Dim c As Range For Each c In Range("A1:A7") num = 0 While num < 50 ' El ciclo while se repite si num es menor a 50 num = Int((100 * Rnd) + 1) 'Generamos un número aleatorio Wend c = num Next End Sub Saludos.
-
ANSWERED MsgBox que se cierre automaticamente
AlexanderS replied to manus's topic in Macros y programación VBA
Se me adelanto @Héctor Miguel 🙄 -
ANSWERED MsgBox que se cierre automaticamente
AlexanderS replied to manus's topic in Macros y programación VBA
Inténtalo en una sola linea: Sub MsgBox() CreateObject("WScript.Shell").Popup "Hello", 1, "Se cierra en 1 segundo" End Sub Saludos -
Hola @MauriciodeAbreu, puedes probar con este código: Sub Eliminar_Rango(): On error Resume Next Dim Rango As Range ActiveSheet.Unprotect "1234" Set Rango = Application.InputBox("Selecione un rango de celdas para eliminar las filas asociadas a ese rango", Type:=8) If Not Rango Is Nothing Then Rango.EntireRow.Delete ActiveSheet.Protect "1234" End Sub Comentas, saludos
-
ampliar rango para analizar datos
AlexanderS replied to jhon fredy's topic in Macros y programación VBA
Hola @jhon fredy, tus consultas no son claras ( esta y anteriores) por eso no obtienes respuestas. Debes indicar en tus consultas de forma clara la ayuda que necesitas, ademas adjuntar un archivo de excel para poder realizar pruebas ya que casi nadie esta dispuesto a crear un archivo de 0, los datos del ejemplo deben ser ficticios pero fieles al formato original. Realiza tus consultas explicando mas claramente el problema, adjunta un ejemplo. Así habrá mas usuarios dispuestos a usar su tiempo en atender tus consultas. Saludos.