Visual Basic con excel

Hola conectado, soy novato en este mundo de vb y necesito saber como pasar datos de los textbox a Celdas de excel, estoy utilizando momentáneamente la base de datos en access, necesito conocer los pasos a seguir para esto, Gracias

1 Respuesta

Respuesta
1
Debes agregar la referencia al proyecto de Microsoft Excel Object Library.
Y luego intenta con esto en un form nuevo.
Private Sub Form_Load()
Dim xl As New Excel.Application
xl.Workbooks.Add
xl.ActiveCell(1, 1) = "A"
xl.SaveWorkspace "c:\xl.xls"
End Sub
Por favor, como te dije anteriormente soy novato, probé el cpodigo pero no puedo grabar, bueno en realidad no se genera el archivo, ademas los datos de los text box, deben ir en partes especiales dentro del excel
Por ejemplo
txtnombre.text = celda (a1)
Esto que al text box donde vaya el nombre se guarde automáticamente en la celda A1
Gracias
Puedes definirle nombres a las celdas "especiales" donde dices que tienen que ir los valores y luego poner el valor de los textbox en las celdas con la referencia del nombre que necesitas.
Ej:
Private Sub cmdExport_Click()
Dim i As Long
Dim j As Long
Dim lRowCount As Long
Dim lPasteCount As Long
Dim sLtr As String
Dim sStart As String
Dim sEnd As String
Dim sRowData As String
Dim sSelData As String
Dim oExcelApp As excel.Application
Dim oWs As excel.Worksheet
Dim oWb As excel.Workbook
Const cNUMCOLS = 6
Const cNUMROWS = 700
Const cFIXEDROWS = 6
Const cCLIPROWS = 500
On Error Resume Next
Screen.MousePointer = vbHourglass
Set oExcelApp = CreateObject("EXCEL.APPLICATION")
oExcelApp.Visible = False
oExcelApp.Workbooks.Add
Set oWs = oExcelApp.ActiveSheet
Set oWb = oExcelApp.ActiveWorkbook
'Manejo de Celdas
With oWs
.Cells(1, 4).Value = "'Value1"
.Cells(2, 4).Value = "'Value2"
.Cells(3, 4).Value = "'Value3"
.Cells(4, 4).Value = "'Value4 Value4 Value4 Value4 Value4 Value4"
.Cells(5, 5).Value = "'Value5"
.Cells(5, 6).Value = "'Value6"
.Cells(5, 7).Value = "'Value7"
End With
oWs.SaveAs FileName:="c:\xl.xls"
'Manejo de Rangos
sStart = "A" & CStr(cFIXEDROWS + 1)
sLtr = Mid$("ABCDEFGHIJKLMNOPQRSTUVWXYZ", cNUMCOLS + 1, 1)
sEnd = sLtr & CStr(cFIXEDROWS + cNUMROWS + 1)
oWs.Range(sStart, sEnd).Select
oWs.Range(sStart, sEnd).Activate
oWs.Range(sStart, sEnd).NumberFormat = "#,##0.00"
oWb.Save
oWb.Saved = True
'Liberación de Objetos
oExcelApp.Quit
Set oWs = Nothing
Set oWb = Nothing
Set oExcelApp = Nothing
Screen.MousePointer = vbDefault
MsgBox "Exportación Completa"
End Sub
Esta es una rutina que yo utilizo, mirala, es bastante sencilla y está completa. En este caso las referencias son primero por Fila y Columna (como tu lo pedías y luego te explica como usar rangos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas