Macro Excel crear una base de datos

Necesito crear una base de datos según una selección de registros.

En la Hoja1 tengo un Campo1 y un Campo2 cuando yo pulso un botón creado con la macro tiene que llevar dicha información a la Hoja3 guardarla y cada vez que pulse se añadan las filas unas debajo de otras hasta creando una base de datos.

4 Respuestas

Respuesta
1

Creo que este ejemplo te puede servir:

http://sintad.com.mx/macros%20excel/macro%20que%20agrega%20registros%20a%20una%20tabla%20con%20un%20formulario.html 

Respuesta
1

Mi propuesta de solución es esta

Hoja1. Range("A1") '(cambia esto por tu campo1)

Hoja1. Range("B1") '(cambia esto por tu campo2)

Private Sub CommandButton1_Click()
Dim fila, final As Integer

fila = 2
Do While Hoja3.Cells(fila, 1) <> Empty
fila = fila + 1
Loop

final = fila

Hoja3.Cells(final, 1) = Hoja1.Range("A1")
Hoja3.Cells(final, 2) = Hoja1.Range("B1")
End Sub

Respuesta
1

Estos ejemplos

 http://www.programarexcel.com/2015/09/pasar-datos-listbox-hoja-de-excel.html?m=1

http://www.programarexcel.com/2013/03/copia-datos-abre-otro-libro-pega-datos.html?m=1 

Respuesta
1

Uno más o menos así.

Sub MacroBase()
'Éste código sólo es para tu primer hoja a pegar'
Sheets("Aquí va el nombre de tu hoja").Select
Range("Aquí va el rango que vas a copiar").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A1").Select
Windows("El nombre de la hoja donde se concentrará").Activate
Range("A1").Select
Activesheet.Paste
Application.cutCopyMode = False
'Éste código es el que vas a usar las veces que necesites para hacer la base de datos con el resto de las hojas a concentrar'
Sheets("Aquí va el nombre de tu hoja").Select
Range("Aquí va el rango que vas a copiar").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A1").Select
Windows("El nombre de la hoja donde se concentrará").Activate
Range("A1").Select
Range("A" & Range("A1").End(xlDown).Row + 1).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'El código de "Selection.Paste..." es para que pegue como valores, si quieres que pegue todo con sus respectivos formatos utiliza; "ActiveSheet.Paste"
Application.CutCopyMode = False
Range("A1").Select
End Sub

Puntúa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas