Visual Basic - Añadir información a celda siguiente

Life is soft - evento anual de software empresarial
 
Vista:

Añadir información a celda siguiente

Publicado por María José (14 intervenciones) el 08/05/2006 09:49:08
Hola chic@s:

Tengo un problema porque en el código que he hecho, abro un fichero excel y le introduzco datos desde una ventana de VB, el problema es que cuando le meto el segundo dato, me abre otro fichero excel, y así sucesivamente. Os pongo el código para que veáis lo que he hecho.Public Class Form1

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

End Sub

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click

End Sub

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged

End Sub

Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged

End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim ApExcel As Object
Dim fila As Integer : Dim celda As String
Dim A
Dim B
ApExcel = CreateObject("Excel.application")
ApExcel.Visible = True
ApExcel.Workbooks.Open("c:\users\lista de materiales.xls")
ApExcel.DisplayAlerts = True

If (RadioButton1.Checked) = True Then
A = (Val(TextBox1.Text) - 500)
B = A \ 32
fila = A + (B + 1)
End If

If (RadioButton2.Checked) = True Then
A = Val(TextBox1.Text) \ 32
fila = Val(TextBox1.Text) + (A + 1)
End If

If (RadioButton1.Checked) = True Then
Dim Preg
celda = (((ApExcel.Sheets("hoja2").cells(fila, 1))).value)
If celda = "" Then
1: With ApExcel.Sheets("hoja2")
.cells(fila, 1) = TextBox1.Text
.cells(fila, 2) = TextBox2.Text
.cells(fila, 3) = TextBox3.Text
.cells(fila, 4) = TextBox4.Text
.cells(fila, 5) = TextBox5.Text
End With
Else
Preg = InputBox("Esta celda ya tiene asignada una marca ¿quiere sobreescribirla")
If Preg = "si" Then GoTo 1
If Preg <> "si" Then GoTo 4

End If
End If

If (RadioButton2.Checked) = True Then
Dim Preg
celda = (((ApExcel.Sheets("hoja1").cells(fila, 1))).value)
If celda = "" Then
3: With ApExcel.Sheets("hoja1")
.cells(fila, 1) = TextBox1.Text
.cells(fila, 2) = TextBox2.Text
.cells(fila, 3) = TextBox3.Text
.cells(fila, 4) = TextBox6.Text
.cells(fila, 5) = TextBox7.Text
End With
Else
Preg = InputBox("Esta celda ya tiene asignada una marca ¿quiere sobreescribirla?")
If Preg = "si" Then GoTo 3
If Preg <> "si" Then GoTo ?????

End If
End If

ApExcel = Nothing

End Sub

Private Sub Form1_MenuStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MenuStart

End Sub
End Class

Tampoco en ????? sé dónde enviarlo para que me deje introducir datos de nuevo.

Un saludo y muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder