Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Formulario de Excel Avanzado para el registro de los clientes de una tienda

| 3 comentarios

logo ch2 Formulario de Excel Avanzado para el registro de los clientes de una tienda

Formulario para el registro de los clientes del sistema de una tienda

Para realizar el siguiente formulario se necesita tener una idea de lo que en verdad quieres hallar con la información solicitada ,es decir se tiene que hacer un análisis de la información que se quiere recoger luego de esto elaborar el formulario en base a las variables en consulta . Este formulario si bien sobretodo es para tener una base de datos de los clientes que compran tus productos , también puede ser muy útil para distintas aplicaciones tales como estrategias de marketing , sirve también para conocer tu publico objetivo ,es decir a quien va dirigido tu producto ,no solo sobre genero si no también por edad ,distrito .

En el siguiente formulario lo que se pide es datos generales de los clientes como nombre , teléfono , dirección , email ,etc porque lo que se quiere conocer es simplemente los datos del cliente para enviarles ofertas en distintas temporadas. Así , contar con un  contacto casi directo con el cliente para que tenga información al respecto de los productos y novedades que ofrece la tienda .

Formulario para el registro de clientes

Elaborado por: Manuel Fallaque

3 comentarios

  1. Este ejemplo me resulto muy util a mi, soy profesor y cree un formulario basandome en este ejemplo, en el adicionaba notas de mis alumnos y se iban registrando en lka hoja de calculo a traves de un boton al que le di las siguientes funciones
    Private Sub CommandButton1_Click()
    Dim codigo As Double
    Dim alumno As String
    Dim cap1n1 As Double
    Dim cap1n2 As Double
    Dim cap1n3 As Double
    Dim cap1n4 As Double
    Dim cap2n1 As Double
    Dim cap2n2 As Double
    Dim cap2n3 As Double
    Dim cap2n4 As Double
    Dim cap3n1 As Double
    Dim cap3n2 As Double
    Dim cap3n3 As Double
    Dim cap3n4 As Double
    Dim ultimafila As Double

    alumno = txtalumno.Value
    codigo = txtcodigo.Value
    cap1n1 = c1n1.Value
    cap1n2 = c1n2.Value
    cap1n3 = c1n3.Value
    cap1n4 = c1n4.Value
    cap2n1 = c2n1.Value
    cap2n2 = c2n2.Value
    cap2n3 = c2n3.Value
    cap2n4 = c2n4.Value
    cap3n1 = c3n1.Value
    cap3n2 = c3n2.Value
    cap3n3 = c3n3.Value
    cap3n4 = c3n4.Value
    ultimafila = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count

    Cells(ultimafila + 1, 1) = codigo
    Cells(ultimafila + 1, 2) = alumno
    Cells(ultimafila + 1, 3) = cap1n1
    Cells(ultimafila + 1, 4) = cap1n2
    Cells(ultimafila + 1, 5) = cap1n3
    Cells(ultimafila + 1, 6) = cap1n4
    Cells(ultimafila + 1, 8) = cap2n1
    Cells(ultimafila + 1, 9) = cap2n2
    Cells(ultimafila + 1, 10) = cap2n3
    Cells(ultimafila + 1, 11) = cap2n4
    Cells(ultimafila + 1, 13) = cap3n1
    Cells(ultimafila + 1, 14) = cap3n2
    Cells(ultimafila + 1, 15) = cap3n3
    Cells(ultimafila + 1, 16) = cap3n4

    End Sub

    esto me permite que la informacón baje a la hija de calculo y se ordene de forma secuencial.
    luego con otro boton lo ordena alfabeticamente y saca promedio.
    Las funciones de este ultimo boton son:
    Private Sub CommandButton2_Click()
    ' Macro3 Macro
    '

    '
    Range("A7:R60").Select
    ActiveWindow.SmallScroll Down:=-18
    Range("R59:R60").Select
    ActiveWindow.SmallScroll Down:=-51
    Range("A7:O67").Select
    ActiveWindow.SmallScroll Down:=-15
    Range("A7:Q67").Select
    Range("Q67").Activate
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .ColorIndex = 0
    .TintAndShade = 0
    .Weight = xlThin
    End With
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 13434879
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    ActiveWindow.SmallScroll Down:=-63
    Range("G7:G67").Select
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Range("G7").Select
    ActiveCell.FormulaR1C1 = "=ROUND(AVERAGE(RC[-4]:RC[-1]),0)"
    Range("G7").Select
    Selection.AutoFill Destination:=Range("G7:G66"), Type:=xlFillDefault
    Range("G7:G66").Select
    Selection.AutoFill Destination:=Range("G7:G67"), Type:=xlFillDefault
    Range("G7:G67").Select
    ActiveWindow.SmallScroll Down:=-30
    Range("L30").Select
    ActiveWindow.SmallScroll Down:=-30
    Range("L7:L67").Select
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Range("G7").Select
    Selection.Copy
    Range("L7").Select
    ActiveSheet.Paste
    Range("L7").Select
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("L7:L67"), Type:=xlFillDefault
    Range("L7:L67").Select
    ActiveWindow.SmallScroll Down:=-45
    Range("Q7:Q67").Select
    With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = 0
    .PatternTintAndShade = 0
    End With
    Range("Q7").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
    Range("Q7").Select
    Selection.AutoFill Destination:=Range("Q7:Q67"), Type:=xlFillDefault
    Range("Q7:Q67").Select
    ActiveWindow.SmallScroll Down:=-57
    Range("C3").Select

    ' Macro4 Macro
    '

    '
    Range("A7:Q67").Select
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add Key:=Range("B7:B67"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Hoja1").Sort
    .SetRange Range("A7:Q67")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    Range("A7").Select
    End Sub

    Private Sub CommandButton3_Click()
    ' Macro5 Macro
    '

    '
    Range("A7:R67").Select
    Selection.EntireRow.Delete
    Range("A7").Select
    End Sub

    todavia le falta mucho al formulario para que sea bueno pero e avanzado mucho gracias a estas ideas

  2. Yo utilicé la siguiente fórmula para ingresar los datos de mi encuesta:
    Private Sub Datos_Click()
    ActiveSheet.Cells(8, 1).Select
    Selection.EntireRow.Insert

    ActiveSheet.Cells(8, 1) = TextBox1
    ActiveSheet.Cells(8, 2) = TextBox2

    TextBox1 = Empty
    TextBox2 = Empty

    End Sub

    Y también me dio resultado.
    Sólo utilicé dos datos a ingresar.

  3. excelente programa

Deja una respuesta

Los campos requeridos estan marcados con *.