Rellenar Pagaré conectando Excel con Word





Si requieres aprender a rellenar un Pagare o cualquier otro documento con datos que están disponibles en Excel utilizando Word, en este pos aporto una macro que permite aprende como rellenar pagare con datos de Excel manipulando Word desde Excel, podrás realizar lo que requieras con los datos que estén en la base de datos de Excel enviándolos a Word para ser usados en una plantilla de Word y su posterior impresión, todo al alcance de un solo click desde Excel.


Otros post relacionados con macros que permiten manejar Word desde Excel:
Como crear un archivo de Word con Excel
Como abrir un archivo de Word con Excel
Como conectar Excel con Word crear archivo e insertar texto en Word
Como dar formato a texto de Word desde Excel 
Como abrir modificar e imprimir archivo de Word con macro desde Excel
Como modificar una plantilla de Word con macro de Excel
Como rellenar pagare con datos de Excel conectando con Word


Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.


  


Para comprender en forma fácil el ejemplo aconsejo descargar el archivo, desde el final del link lo podrás hacer, es gratuito y el código esta abierto como todas las macros publicadas en esta Web; al abrir el fichero verás un botón el cual permite ejecutar la macro; además existen una serie de datos que serán usados para rellenar un pagare de ejemplo; es decir en Word se incorporarán todos los datos que están en la base de datos de Excel, en este caso en el rango B2:B15.

En el vídeo a continuación podrás observar una explicación más detallada y visual del funcionamiento de la macro, recomiendo invertir unos minutos y observar el mismo, lo cual será de utilidad para comprender el funcionamiento de esta macros que conectan Excel con Word.

El ejemplo de macro que permite Conectar Excel con Word y rellenar un pagare; básicamente toma los datos de Excel, Abre una plantilla de Word, incorpora los datos en la plantilla, guardando el archivo con un nombre compuesto por el número del pagaré, por último cierra la plantilla sin modificarla para que permita futuros usos.

Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.




Código que se inserta en un módulo




Sub ManejarWordRellenarPagare()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim objWord As Word.Application, wdDoc As Word.Document
Dim datos(0 To 1, 0 To 12) As String
On Error Resume Next
Set a = Sheets(ActiveSheet.Name)
nom = ActiveWorkbook.Name
pto = InStr(nom, ".")
nomarch = Left(nom, pto - 1)
ruta = ThisWorkbook.Path & "\" & nomarch & ".docx"
Set objWord = CreateObject("Word.Application")
objWord.DisplayAlerts = wdAlertsNone
objWord.Visible = True
Set wdDoc = objWord.Documents.Open(ruta)
nomfic = nomarch & " Num " & a.Range("B2") & " " & a.Range("B6")
rutainf = ThisWorkbook.Path & "\" & nomfic & ".docx"

'Asignamos a variables que se debe buscar y el texto por que se debe reemplazar
datos(0, 0) = "[Campo_Numero]"
datos(1, 0) = a.Range("B2")
datos(0, 1) = "[Campo_FechaEmision]"
datos(1, 1) = Format(a.Range("B3"), "dd ""de"" mmmm ""de"" yyyy")
datos(0, 2) = "[Campo_ImporteNumero]"
datos(1, 2) = Format(a.Range("B4"), "#,##0.00;-#,##0.00")
datos(0, 3) = "[Campo_FechaPago]"
datos(1, 3) = Format(a.Range("B5"), "dd ""de"" mmmm ""de"" yyyy")
datos(0, 4) = "[Campo_Beneficiario]"
datos(1, 4) = a.Range("B6")
datos(0, 5) = "[Campo_ImporteLetras]"
datos(1, 5) = a.Range("B7")
datos(0, 6) = "[Campo_Especie]"
datos(1, 6) = a.Range("B8")
datos(0, 7) = "[Campo_DomicilioPago]"
datos(1, 7) = a.Range("B9") & " " & a.Range("B10")
datos(0, 8) = "[Campo_NombreDeudor]"
datos(1, 8) = a.Range("B11")
datos(0, 9) = "[Campo_Cedula]"
datos(1, 9) = a.Range("B12")
datos(0, 10) = "[Campo_DomicilioDeudor]"
datos(1, 10) = a.Range("B13")
datos(0, 11) = "[Campo_Localidad]"
datos(1, 11) = a.Range("B14")
datos(0, 12) = "[Campo_Telefono]"
datos(1, 12) = a.Range("B15")
'Creamos un bucle que va desde el primero al último número de la matriz
For I = 0 To UBound(datos, 2)
textobuscar = datos(0, I)
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
'Bucle para reemplazar todo el texto que encuentre y solo el primero que encuentre
While objWord.Selection.Find.Found = True
objWord.Selection.Text = datos(1, I) 'texto a reemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
Next I

'Guarda el archivo con el nombre asignado
wdDoc.SaveAs Filename:=rutainf, FileFormat:=wdFormatXMLDocument
'wdDoc.Close
MsgBox ("El documento se relleno y guardó con éxito"), vbInformation, "AVISO"
wdDoc.Activate
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub





Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

How to fill combobox which depends on another combobox and fill listbox






In filling listbox depending on another listbox and combobox, fill combobox and search data are among other post are related to the present example called Combobox depends on another combobox and fill listbox, there are also others where they are exposed macros on how to walk the rows with macro and are: rows searching and comparing data, scroll rows and count cells with data, scroll rows and copy from column A to B, there are several examples you will find here.

Need to read an excellent book on Excel that will help operate the spreadsheet, click here, if you want to learn about Excel, in Spanish, then you must click here. If what you need is to learn or deepen about programming macros with VBA, this is one of the best courses on line I've seen on the internet.


  

The example that can be downloaded FREE from the end of the page is to fill a combobox depending on another combobox and this combobox depends on a listbox. When you load the form, a list of products is loaded in the first combobox, which filters them to produce only single products and avoid duplicates; Depending on the data selected in this combobox is filled the second combobox turn the data selected in the second combobox is filled a listbox.

The macro example that fills in combobox depending on another combobox and in turn controls the data of a listbox, can be downloaded from the link at the end of this post, once downloaded the example is pressed the button that says "Run Macro" Executes the macro doing the filling of the first combobox, after the second combobox based on those selected in the first combobox; Finally the listbox depends on the selected in the previous combobox.

Subscribe to our You Tube channel to receive explanatory videos in your mail about interesting macros, such as a form that creates a list of all the sheets to be able to select them, search in listbox while typing in textbox, order excel sheets by name, Connect Excel with Access and many more examples.





Code that is inserted into a module

Sub Botón1_Haga_clic_en()
UserForm2.Show
End Sub



Code that is inserted into a userform

Public dir
Private Sub ComboBox1_Change()
Dim fila As Integer
Dim uf As Integer
Dim d1, d2 As String
fila = 2
uf = Sheets("hoja2").Range("A" & Rows.Count).End(xlUp).Row
ComboBox2.Clear
While Sheets("hoja2").Cells(fila, 1) <> Empty
d1 = ComboBox1
d2 = Sheets("hoja2").Cells(fila, 1)
If d1 = d2 Then
ComboBox2.AddItem Sheets("hoja2").Cells(fila, 4)
End If
fila = fila + 1
Wend

End Sub
Private Sub ComboBox2_Change()
Application.ScreenUpdating = False
Dim fila, a As Integer
Dim dato, var As String
'On Error Resume Next
'Borra datos del listbox
ListBox1.Clear
ListBox1.ColumnCount = 6

a = 0
fila = 2
While Sheets("hoja2").Cells(fila, 4) <> Empty
      dato = ComboBox2
'Si el dato de la fila coincide con textbox carga los datos al listbox
  var = Sheets("hoja2").Cells(fila, 4)
   If var = dato Then
        dir = Sheets("hoja2").Cells(fila, 4).Address(False, False)
        
        a = ListBox1.ListCount
        ListBox1.AddItem
        ListBox1.List(a, 0) = Sheets("hoja2").Cells(fila, 1)
        ListBox1.List(a, 1) = Sheets("hoja2").Cells(fila, 2)
        ListBox1.List(a, 2) = Sheets("hoja2").Cells(fila, 3)
        ListBox1.List(a, 3) = Sheets("hoja2").Cells(fila, 4)
        ListBox1.List(a, 4) = Sheets("hoja2").Cells(fila, 5)
        ListBox1.List(a, 5) = Sheets("hoja2").Cells(fila, 6)
   End If


fila = fila + 1
Wend


Application.ScreenUpdating = True
End Sub

Private Sub CommandButton2_Click()
If ComboBox3 = Empty Then
MsgBox ("Debe cargar fecha de salida"), vbCritical, "AVISO"
ComboBox3.SetFocus
Exit Sub
End If
Sheets("hoja2").Range(dir).Offset(0, 2) = ComboBox3
ComboBox1.Clear
ComboBox2.Clear
ListBox1.Clear
ComboBox1.SetFocus
MsgBox ("El registro se guardó con éxito"), vbInformation, "AVISO"
ComboBox3.Clear
End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim sd As New Collection
Dim celda As Range
Dim dato
Dim r As String
Dim uf As Integer
Application.ScreenUpdating = False
On Error Resume Next
ComboBox1.Clear
Sheets("hoja2").Select
Range("A2").Select
uf = Range("A" & Rows.Count).End(xlUp).Row
r = "A2:A" & uf
For Each celda In Range(r)
sd.Add celda.Value, CStr(celda.Value)
Next celda
For Each dato In sd
ComboBox1.AddItem dato
Next dato
Application.ScreenUpdating = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

How to fill multi-column listbox






With this VBA macro for Excel, VBA procedure or Excel VBA macro, as it is usually called, is shown fill a listbox that has several columns, with the complication that the data is not in a continuous range but rather arise from a Search data, which depends on the value that is entered in the combobox, ie a value is selected in the combo box, based on that data is obtained, once they were found they are loaded into the listbox, it has Several columns in the case of example 5; Click at the end of the post to download the example.

The example presented here has a close relationship with the macro VBA for Excel, published in my other post that deals with filling a listbox depending on another listbox and combobox.

Need to read an excellent book on Excel that will help operate the spreadsheet, click here, if you want to learn about Excel, in Spanish, then you must click here. If what you need is to learn or deepen about programming macros with VBA, this is one of the best courses on line I've seen on the internet.


  

The code below must be entered in a form that in the case of the example is named userform1, downloading the example you can see it working, analyze, modify and adapt to what you are doing the code is open without any restriction.

Subscribe to our You Tube channel to receive explanatory videos in your mail about interesting macros, such as a form that creates a list of all the sheets to be able to select themsearch in listbox while typing in textboxorder excel sheets by nameConnect Excel with Access and many more examples.






Code that is inserted into a module




Private Sub Combobox1_Change()
Application.ScreenUpdating = False
Dim fila, a As Integer
On Error Resume Next
'Borra datos del listbox
ListBox1.Clear
a = 0
fila = 2
While Sheets("hoja1").Cells(fila, 5) <> Empty
      dato = Combobox1
  Var = Sheets("hoja1").Cells(fila, 5)
   If Sheets("hoja1").Cells(fila, 5) = dato Then

         a = ListBox1.ListCount
        ListBox1.AddItem
        ListBox1.List(a, 0) = Sheets("hoja1").Cells(fila, 1)
        ListBox1.List(a, 1) = Sheets("hoja1").Cells(fila, 2)
        ListBox1.List(a, 2) = Sheets("hoja1").Cells(fila, 3)
        ListBox1.List(a, 3) = Sheets("hoja1").Cells(fila, 4)
        ListBox1.List(a, 4) = Sheets("hoja1").Cells(fila, 5)
   End If
  

fila = fila + 1
Wend

Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Initialize()
Label2.Caption = Sheets("hoja1").Cells(1, 1)
Label3.Caption = Sheets("hoja1").Cells(1, 2)
Label4.Caption = Sheets("hoja1").Cells(1, 3)
Label5.Caption = Sheets("hoja1").Cells(1, 4)
Label6.Caption = Sheets("hoja1").Cells(1, 5)



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como Conectar Excel con Word y modificar plantilla





Hoy muestro como modificar una plantilla de Word con una Macro de Excel, en otras palabras la macro permite pasar todos los datos contenidos en una hoja de Excel a un documento de Word modificarlo; algo que puede ser útil a las personas que utilizan Word y se relaciona con alguna base de datos de Excel.

Otros post relacionados con macros que permiten manejar Word desde Excel:
Como crear un archivo de Word con Excel
Como abrir un archivo de Word con Excel
Como conectar Excel con Word crear archivo e insertar texto en Word
Como dar formato a texto de Word desde Excel 
Como abrir modificar e imprimir archivo de Word con macro desde Excel
Como modificar una plantilla de Word con macro de Excel

Por favor lee un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.


  


La macro contenida en el archivo que podrás descargar en forma gratuita desde el final, permite tomar una serie de datos, contenidos en el ejemplo en la columna B; y copiar o escribir esos datos en una plantilla de Word, cada uno le dará distinta utilidad, el ejemplo intenta mostrar como a partir de una macro de Excel se puede manipular Word y modificar una plantilla con datos contenidos en hojas de Excel.

Al descargar el ejemplo verás que bajarás un archivo comprimido, en él se encuentra un fichero de Excel que contiene la macro y un Archivo de Word que funciona como plantilla, esto también puede servir para rellenar una carta, lo cual se verá más adelante; estos dos archivos se deben colocar en una misma carpeta, no interesa en que lugar de la PC, la macro detecta la dirección en forma automática del archivo de Word, el que es utilizado como plantilla, al presionar el botón se ejecuta una macro que pasa los datos contenidos en la columna B de la hoja de Excel a un archivo de Word, para finalizar lo guarda con el mismo nombre que el archivo de Excel, pero con formato de Word por supuesto, cerrando el archivo de Word usado como plantilla sin modificar para que sirva para otra oportunidad.

Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.

En el vídeo que se observa más abajo, verás una explicación y funcionamiento en forma más gráfica y detallada; recomiendo que lo mires y el ejemplo será más fácil de comprender si eres un principiante en el tema de macros o no tiene mucha experiencia en trabajar con macros que conectan Excel con Word.






Código que se inserta en un módulo




Sub ExcelModificaPlantillaWord()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim objWord As Word.Application, wdDoc As Word.Document
Dim datos(0 To 1, 0 To 4) As String
On Error Resume Next
Set a = Sheets(ActiveSheet.Name)
nom = ActiveWorkbook.Name
pto = InStr(nom, ".")
nomarch = Left(nom, pto - 1)
ruta = ThisWorkbook.Path & "\" & nomarch & ".docx"
Set objWord = CreateObject("Word.Application")
objWord.DisplayAlerts = wdAlertsNone
objWord.Visible = True
Set wdDoc = objWord.Documents.Open(ruta)
nomfic = nomarch & " " & a.Range("B4") & " " & a.Range("B5")
rutainf = ThisWorkbook.Path & "\" & nomfic & ".docx"

'Asignamos a variables que se debe buscar y el texto por que se debe reemplazar
datos(0, 0) = "[Campo_Fecha]"
datos(1, 0) = a.Range("B2")
datos(0, 1) = "[Campo_Anexo]"
datos(1, 1) = a.Range("B3")
datos(0, 2) = "[Campo_Socio1]"
datos(1, 2) = a.Range("B4")
datos(0, 3) = "[Campo_Socio2]"
datos(1, 3) = a.Range("B5")
datos(0, 4) = "[Campo_Domicilio]"
datos(1, 4) = a.Range("B6")

'Creamos un bucle que va desde el primero al último número de la matriz
For I = 0 To UBound(datos, 2)
textobuscar = datos(0, I)
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
'Bucle para reemplazar todo el texto que encuentre y solo el primero que encuentre
While objWord.Selection.Find.Found = True
objWord.Selection.Text = datos(1, I) 'texto a reemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
Next I

'Guarda el archivo con el nombre asignado
wdDoc.SaveAs Filename:=rutainf, FileFormat:=wdFormatXMLDocument
'wdDoc.Close
MsgBox ("El libro se generó con éxito"), vbInformation, "AVISO"
wdDoc.Activate
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como abrir modificar e imprimir archivo Word desde Excel





El ejemplo que se presenta a continuación contesta la pregunta como abrir un archivo de word, modificarlo e imprimirlo en la impresora predeterminada o configurar otra impresora para imprimir, siendo otra macro de la colección de macros presentadas y que se relaciona con la conexión de Excel con Word. A los fines de facilitar la búsqueda en los links siguientes hay otros post relacionados y que permiten conectar Word son Excel:

Como crear un archivo de Word con Excel
Como abrir un archivo de Word con Excel
Como conectar Excel con Word crear archivo e insertar texto en Word
Como dar formato a texto de Word desde Excel 
Como abrir modificar e imprimir archivo de Word con macro desde Excel

Recomiendo que leas un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.


  


Al descargar el archivo, desde el link del final, verás que es un archivo comprimido, en el hay dos archivos, uno con la macro que permite conectar Word con Excel y un archivo Word; debes descargar los dos archivos en una misma carpeta, ejecuta el archivo de Excel con la macro, verás que hay un botón, al presionarlo corre una macro que permite abrir el achivo de word, modificar texto inserto en Word y mandarlo a imprimir, todo ello presionando un solo botón.

La macro abre el fichero de Word que se descargó conjuntamente con el ejemplo; luego se hace un bucle con la instrucción For ... Next lo cual permite recorrer todas las letras que hay en la columna A; la macro a medida que recorre las letras irá modificando en Word la letra que corresponda a medida que se recorran las celdas con el bucle, más específicamente, irá agregando en Word la siguiente cadena de texto "Anexo A", "Anexo B" y así sucesivamente hasta la última letra; antes de seguir con la letra siguiente irá imprimiendo en la impresora determinada el archivo de Word; luego cierra el archivo de Word y la aplicación Word.

Te recomiendo descargar el archivo para poder entender el funcionamiento y mirar el siguiente vídeo  a continuación, ya que contiene una explicación más gráfica y detallada verás su funcionamiento y explicación de cada línea de código, a los fines que puedas modificar a tus necesidades la macro que permite abrir, modificar e imprimir archivo de Word desde Excel.

Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar Excel con Access y muchos ejemplos más.








Código que se inserta en un módulo




Sub GeneraArchivo()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim conta As Boolean, fila As Long, letra As String, ruta As String
Dim objWord As Word.Application, wdDoc As Word.Document
Dim datos(0 To 1, 0 To 2) As String
Set a = Sheets(ActiveSheet.Name)
uf = a.Range("A" & Rows.Count).End(xlUp).Row
ruta = ThisWorkbook.Path & "\" & Range("B4") & ".docx"
Set objWord = CreateObject("Word.Application")
objWord.DisplayAlerts = wdAlertsNone
objWord.Visible = True
Set wdDoc = objWord.Documents.Open(ruta)

For i = 5 To uf
letra = a.Cells(i, "A")
If i = 5 Then
datos(0, 0) = "[CAMPO]"
Else
datos(0, 0) = "ANEXO" & " " & a.Cells(i, "A").Offset(-1, 0)
End If
datos(1, 0) = a.Range("A3") & " " & letra

For x = 0 To UBound(datos, 2)
textobuscar = datos(0, x)
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar 'texto a buscar
'Bucle para reemplazar todo el texto que encuentre y solo el primero que encuentre
While objWord.Selection.Find.Found = True
objWord.Selection.Text = datos(1, x) 'texto a reemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
Next x
wdDoc.PrintOut
Next i
wdDoc.Close False
objWord.Quit True
MsgBox ("Las hojas se generaron e imprimieron con éxito"), vbInformation, "AVISO"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

How to select or reference cells with Excel macro





When Excel programming with VBA, it is always necessary to select or reference to sheets, cells, rows, columns or ranges for an Excel macro or VBA, here I present different ways of select or reference, in the post presents also as reference or select a cell using variables.

Examples of macros that have been published on this website; such as copy multiple selected items from a listbox to cells in Excel, or how to fill a listbox depending on the selected item in a combo box, or how to fill a listbox which depends on another listbox and a combobox.

You can see the frequent use of the selection or cell reference, which is very common to all Excel macro or VBA for Excel procedure that is developed using Visual Basic for Applications or VBA; reference to cells also use when working with userform, this can be seen in the macro calculates a balance between time and date or this procedure to search for data in three columns, are a number of procedures requiring  know reference or select cells, I present below the most common ways to select or reference cells excel with macro

Need to read an excellent book on Excel that will help operate the spreadsheet, click here, if you want to learn about Excel, in Spanish, then you must click here. If what you need is to learn or deepen about programming macros with VBA, this is one of the best courses on line I've seen on the internet.


  

The following videos visually exposed explanation of each of the codes:










Here are the different codes on how to reference or select a sheets, cells, rows, columns or ranges with explanation; related to the different forms of reference or select cells you can be useful exposed post  how copying, cut and paste data into cells with a macro using VBA.


'Refer to all sheets in the active workbook
ActiveWorkbook.Sheets.Select

http://share.payoneer-affiliates.com/a/clk/2mhvGX
MASTERCARD PAYONEER

'To refer to Sheet2
Sheets("Hoja2").Select


'Referencing the sheet is in position 2 regardless of the name
Sheets(2).Select


'Refer to the previous sheet to the active tab
ActiveSheet.Previous.Select


'Refer to the back sheet to the active tab
ActiveSheet.Next.Select


'To refer to a cell in another book
Application.Goto Workbooks("Libro1.xlsm").Sheets("Sheet1").Cells(7, 6)


'Referencing a sheet storing in a variable the name of the active sheet, prior to active and back to active
Dim sheetnom As String
sheetnom = ActiveSheet.Name
sheetnom1 = ActiveSheet.Previous.Name
sheetnom2 = ActiveSheet.Next.Name


'Referencing a sheet storing in a variable sheet number, current, prior to the current and next
Dim sheetnumb As Byte
sheetnumb = ActiveSheet.Index
sheetnumb = ActiveSheet.Previous.Index
sheetnumb = ActiveSheet.Next.Index


'Select cell C8 of sheet1
Sheets("hoja1").Select
Range("C8").Select


'Referencing otherwise the same cell C8
Cells(8, 3).Select

'Another way to refer to cell C8
Cells(8, "C").Select


We can also refer to cell C8 but leaf 2
Sheets("hoja2").Select
Cells(8, 3).Select


'You can select the cell c8 of the active sheet by
ActiveSheet.Cells(8, 3).Select


'Select the continuous range C2 to D10
Range("C2:D10").Select


Reference otherwise the C2 range: D10
Range(Cells(2, 3), Cells(10, 4)).Select


'Reference otherwise the C2 range: D10
Range("C2", "D10").Select


'Select all worksheet cells
Cells.Select


'Copy all cells in Sheet1 to Sheet2
Sheets("hoja1").Cells.Copy Destination:=Sheets("hoja1").Range("A1")

                                                                                   

'Select entire column B
Range("A:A").Select


'Select all columns from column A to column C
Range("A:C").Select


'Select the entire row 4
Range("4:4").Select


'Select all the rows from row 1 to row 5
Range("1:5").Select

'Select the range discontinuous C5 to G5; A6; F3 to H6 and C24
Range("C5:G5,A6,F3:H3,C24").Select


'Select the union of two or more specified ranges, similar to select and have tight control key
Application.Union(Range("A2: C5"), Range("F6: H12")).Select


'Select two columns of non-contiguous columns of varying length
Set a = Range("A1", Range("A1").End(xlDown))
Set b = Range("E1", Range("E1").End(xlDown))
Union(a, b).Select


'Select a higher range to previously selected, the range is extended to 10 rows, 4 columns
Range("D10").Select
Selection.Resize(10, 4).Select


'Select a greater range to previously selected by setting the number of row and columns to select additional
Range("C2:D10").Select
Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count + 4).Select


'Select from cell E2 to the last cell with data down, similar to ctrl + shift + arrow down
Range("E2", Range("E2").End(xlDown)).Select


'Another form to select
Range("E2:" & Range("E2").End(xlDown).Address).Select


'Select from cell E2 to the last cell data to the right, similar to ctrl + shift + right arrow
Range("E2", Range("E2").End(xlToRight)).Select

'Another form to select
Range("E2:" & Range("E2").End(xlToRight).Address).Select

 

'Select from cell E2 to the last cell data to the left, similar to ctrl + shift + left arrow
Range("E2", Range("E2").End(xlToLeft)).Select


'Another form to select
Range("E2:" & Range("E2").End(xlToLeft).Address).Select


'Select from cell E2 to the first cell with data from below, similar to ctrl + shift + arrow up
Range("E2", Range("E1048576").End(xlUp)).Select


'Another form to select
Range("E2:" & Range("E1048576").End(xlUp).Address).Select


'Select by variables and cells to the right range
Sheets("ApiladoVertical").Range((Cells(filaAV, 1)), Range((Cells(filaAV, 1)), Cells(filaAV, 1)).End(xlToRight)).Select


'Select the last cell with data down, similar to ctrl + arrow down
Range("E2").End(xlDown).Select


'Select the last cell with data to the right, similar to ctrl + right arrow
Range("E2").End(xlToRight).Select


'Select the last cell with data to the left, similar to ctrl + left arrow
Range("E2").End(xlToLeft).Select


'Select from the cell E 1048576 the first cell with data upward, similar to ctrl + arrow up
Range("E1048576").End(xlUp).Select


'Refer to the last cell without data
ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select


'Refer to the last column no data
ActiveSheet.Range("a1").End(xlDown).Offset(0, 1).Select


'Refer to the address of the last data cell down
Dim addr As String
Range("E2").End(xlDown).Select
'Absolute address (Ex: $E$50)
addr = Selection.Cells(1, 1).Address
'Relative  address  (Ex: B50)
addr = Selection.Cells(1, 1).Address(False, False)


'Refer to the address of the last cell to the right data
Dim addrc As String
Range("E2").End(xlToRight).Select
'Absolute address (Ex: $E$50)
addrc = Selection.Cells(1, 1).Address
'Relative  address  (Ex: B50)
addrc = Selection.Cells(1, 1).Address(False, False)
http://4ca829kpkqrc3n56sdsys6hebk.hop.clickbank.net/?tid=CURSOVB
CURSO DE MACROS

'Referencing the number of the last row with continuous data
Dim uf As String
Range("E2").End(xlDown).Select
uf = ActiveCell.Row

'Referencing the number of the last column with continuous data
Dim uc As String
Range("E2").End(xlToRight).Select
uc = ActiveCell.Column


'Refer to the last row with data
uf = Sheets("hoja2").Range("A" & Rows.Count).End(xlUp).Row


"Referencing to the last row with data in column other form
uf = Cells(1048576, 1).End(xlUp).Row


"Referencing to the last column with data in row 1 otherwise
uc = Cells(1, 16384).End(xlToLeft).Column


'Select and combine the selected cells
Range("B1:E1").Select
Selection.Merge


'Select and break apart the selected cells
Range("B1:E1").Select
Selection.UnMerge


'Select a range where the active cell is
Range("B2").CurrentRegion.Select


'Another way to select a range where the active cell is
ActiveSheet.Range("e2", ActiveSheet.Range("e2").End(xlDown).End(xlToRight)).Select


'Another way to select a range where the active cell is
ActiveSheet.Range("e2:" & ActiveSheet.Range("e2").End(xlDown).End(xlToRight).Address).Select


'Select a range where the active cell is located, but having a row with no data in the range
lastCol = ActiveSheet.Range("E2").End(xlToRight).Column
lastRow = ActiveSheet.Cells(E1048576, lastCol).End(xlUp).Row
ActiveSheet.Range("E2", ActiveSheet.Cells(lastRow, lastCol)).Select


'Select the last cell with data regardless if there are empty cells in the middle, in other words
'Selects the last cell in the range formed between the last data column and last row with data
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select


'Select the last cell with data regardless if there are empty cells in the middle
Dim addr1 As String
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
Selection.End(xlToLeft).Select
addr1 = Selection.Cells(1, 1).Address(False, False)


'Refer to the last column no data
'Select the last no data regardless if there are empty cells in the middle
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
Selection.End(xlToLeft).Offset(1, 0).Select


'Referencing entire range data regardless if there are empty cells in the middle
Dim addr2 As String
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
addr2 = Selection.Cells(1, 1).Address(False, False)
Range("A1:" & addr2).Select


In the video you will find the first part of the explanation on how to select or referenced cells in Excel.



'Referencing and select the entire range data regardless of whether there are empty cells in the middle and define name the range
'It's like going to the menu formulas, naming and then define name.
Dim addr3 As String
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
addr3 = Selection.Cells(1, 1).Address(False, False)
Range("A1:" & addr3).Select
ActiveWorkbook.Names.Add Name:="myrange", RefersTo:="=Hoja2!" & Selection.Address
Range("myrange").Select


'Referencing a cell with a certain value over the entire range that contains data
Dim addrt, addrsel As String
Dim cell As Range
Dim searchvalue As Integer
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select
addrt = Selection.Cells(1, 1).Address(False, False)
Range("A1:" & addrt).Select
searchvalue = 15
For Each cell In Selection
If cell = searchvalue Then addrsel = cell.Address(False, False)
Next cell
Range(addrsel).Select
addrt = Selection.Address(False, False)


'Select a range using a variable that determines the range
Dim Ran1 As String
Ran1 = "B5:C18"
Range(Ran1).Select


'Select the cell using a variable that gets its value in cell B5
Dim file As String
file = Range("B5").Value
ActiveSheet.Select
Range("B" & file).Select


'Select cell A2 by a variable whose value is given
Dim file1 As Integer
file1 = 2
Range("A" & file1).Select


'Select a range whose last row is given by the value of a cell
Dim filfree As Integer
filfree = Range("C1").Value
Range("A1" & ":E" & filfree).Select


'Select a range whose last column is given by the value of a cell
Dim colfree As Integer
colfree = Range("A28").Value
Range(Cells(3, 2), Cells(5, colfree)).Select


'Select a range whose last column is given by the value of the current cell
Dim colfree1 As Integer
colfree1 = ActiveCell.Column
Range("B2" & ":E" & colfree1).Select


'Select as on cells that is some distance from the active cell, in other words to many rows and many columns of the current cell.
'Select from A1 8 rows and 15 columns down to the right
Sheets("hoja2").Range("A1").Offset(8, 15).Select


'Selects previous 3 rows and 1 column to the left of the current cell
ActiveSheet.Range("h10").Offset(-3, -1).Select


'Select from the active cell down 4 rows and 2 columns to the right
ActiveCell.Offset(4, 2).Select


'Selects previous rows 3 and 2 column to the left of the current cell
ActiveCell.Offset(-3, -2).Select


'Select cells in a relative other than the current cell
ActiveSheet.Range("C7").Offset(5, 4).Select


'You can also use
ActiveSheet.Cells(7, 3).Offset(5, 4).Select


'Select a specified range, then move the selection in a relative and resize the selection
Range("C2:E5").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select

               
'Count the number of rows with continuous data
Dim nfil  As Integer
Range("E2", Range("E2").End(xlDown)).Select
nfil = Selection.Rows.Count


'Count the number of columns with continuous data                               
Dim ncol As Integer
Range("E2", Range("E2").End(xlToRight)).Select
nrocol = Selection.Columns.Count


'Count the number of cells in a range
Dim nceldas As Integer
Range("E2").CurrentRegion.Select
nceldas = Selection.Cells.Count

'Select the intersection of two or more ranges, a range must be intersected with another but fails
Application.Intersect(Range("A2:C5"), Range("B2:C4")).Select




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.