La siguiente macro la puedes utilizar para poner en negritas parte del texto de una celda de Excel.
Utilizando una macro recorrer todas las filas y poner en negritas el texto de la derecha de cada celda.
Macro:
--------------------------------------
Option Explicit Sub PonerNegritas() Dim i As Long, n As Long 'recorre las filas de la columna "A" For i = 2 To Range("A" & Rows.Count).End(3).Row With Range("A" & i) 'obtiene la posición del guión "-" (de derecha a izquierda) n = InStrRev(.Value, "-") If n > 0 Then 'si encontró el guión, entonces pone en negritas el texto 'después del guión .Characters(n + 2, Len(.Value)).Font.Bold = True End If End With Next End Sub
--------------------------------------
Código para poner en negritas el texto que está entre 2 caracteres:
--------------------------------------
Sub PonerNegritas_2() Dim i As Long, m As Long, n As Long 'recorre las filas de la columna "A" For i = 2 To Range("A" & Rows.Count).End(3).Row With Range("A" & i) 'obtiene la posición del guión "-" (de derecha a izquierda) m = InStr(.Value, "/") n = InStrRev(.Value, "/") If n > 0 Then 'si encontró el caracter, entonces pone en negritas 'el texto entre caracteres .Characters(m + 1, n - m - 1).Font.Bold = True End If End With Next End Sub
Curso de Macros en Excel para aprender cómo utilizar matrices.
En el curso veremos ejercicios para leer los datos de la hoja, llevarlos a una matriz, procesar los datos en memoria, pasar los datos a la matriz de salida y por último poner el resultado a las celdas.
Sub matriz_ejercicio1()
'Incio
Dim a As Variant, b As Variant
Dim i As Long, j As Long
'Entradas
a = Range("A1:C5").Value
ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
'Proceso
For i = 1 To UBound(a, 1)
For j = 1 To UBound(a, 2)
b(i, j) = a(i, j)
Next
Next
'Salida
Range("E1").Resize(UBound(b, 1), UBound(b, 2)).Value = b
Curso de Macros en Excel para aprender cómo utilizar matrices. En el curso veremos ejercicios para leer los datos de la hoja, llevarlos a una matriz, procesar los datos en memoria, pasar los datos a la matriz de salida y por último poner el resultado a las celdas.
La siguiente macro captura la imagen completa de la pantalla y la guarda como archivo jpeg en la carpeta y el nombre que desees.
Sub Guardar_Pantalla()
'Por.Dante Amor Dim sh As Worksheet Dim archivo As String ' archivo = "C:\ejemplo\pantalla.jpeg" Application.SendKeys "(%{1068})" DoEvents Set sh = Sheets.Add DoEvents sh.Shapes.AddChart With sh.ChartObjects(1) .Height = 500 .Width = 1000 .Chart.Paste .Chart.Export archivo End With Application.DisplayAlerts = False sh.Delete MsgBox "Se guardó la pantalla" End Sub
Curso de Macros en Excel para aprender cómo utilizar matrices.
En el curso veremos ejercicios para leer los datos de la hoja, llevarlos a una matriz, procesar los datos en memoria, pasar los datos a la matriz de salida y por último poner el resultado a las celdas.
Sub matriz_ejercicio3() Dim a As Variant, b As Variant Dim i As Long, j As Long, k As Long, m As Long, lr As Long lr = Sheets("Plantilla").Range("A" & Rows.Count).End(3).Row a = Sheets("Plantilla").Range("A1:L" & lr).Value ReDim b(1 To UBound(a, 1) * 7, 1 To UBound(a, 2)) For i = 2 To UBound(a, 1) m = 5 For j = 1 To 7 k = k + 1 b(k, 1) = a(i, 1) b(k, 2) = a(i, 2) b(k, 3) = a(i, 3) b(k, 4) = a(i, 4) b(k, m) = a(i, m) b(k, 12) = a(i, 12) m = m + 1 Next Next Sheets("Carga").Range("A2").Resize(k, UBound(b, 2)).Value = b End Sub