PDA

Ver la Versión Completa : Como Obtenr en VB.net el valor de una celda en excel.


Guadalupe
23-05-2006, 22:26:09
Hola, es mi primer tema en el for, espero no les de molestias y me puedan orientar soy nueva, gracias.
y me gustaria saber como hacerle para obtener el valor de una celda en excel desde VB.NET.

Saludos.

pepitu
24-05-2006, 09:29:46
Hola Guadalupe.

Tómate mi respuesta "con pinzas" porqué no domino el tema (mucho menos VB.NET) pero espero que te ayude.

Para obtener/establecer los valores de las celdas de Excel debes usar el objeto Range, el cual recibe las coordenadas de la celda (o de un rango de celdas).
Ejemplos:
HojaDeExcel("B1"), HojaDeExcel("A2:D4"),HojaDeExcel("A2,A3,A4")

Guadalupe
25-05-2006, 02:09:06
Hola,

Si me conecto a excel..

Abro una hoja de excel con información, y empiezo a minipular los datos...

ejmplo... es una hoja donde ya existen datos, y lo que necesito es estando esos datos..ir leyendo celda por celda de una columna, e ir poniendo su id de acuerdo a su descripcion ejemplo..

si en mi celda A1 dice grande, ponerle en B1, 33 y si dice en A1 chico ponerle 34 a la celda B1..

pero estamos hablando de mas de un dato...


mande un nuevo tema, sobre l mismo, ja..

se que se debe de hacer por medio de concatenación de caracteres. o es lo que e investigado pero no se como hacerle..

Gracias... te agradeceria si me das una orientada

Guadalupe
25-05-2006, 21:49:25
Hola ya lo resolvi, gracias, todos cooperamos para que me funcionara entre mis libros y ustedes, ya corre hasta aqui...

Les mando el codigo, talves lespueda servir de algo en un futuro.

Dim i As Integer
Dim cad As String


cad = ""
For i = 1 To 20
cad = oHoja2.Range("B" & i).value
If cad = Nothing Then ' y si ya no tiene datos que salga
Exit For
End If



If oHoja2.Range("B" & i).value = "GRANDE" Then
oHoja2.Range("Q1") = "ID_PRODUCTO" ' Me pone una etiqueta en la Q1

oHoja2.Range("Q" & i) = "33"

Else

If oHoja2.Range("B" & i).value = "CHICO" Then
oHoja2.Range("Q" & i) = "34" ' Id Producto
End if

Cajami
03-07-2006, 04:20:43
Hola mi problema es casi parecido si noque lo que quiero hacer io es escribir en determinadas celdas de un archivo de excel que ia está creado esperando que le pase valores apra que cree un grafico, pero no lo puedo hacer en VB2005 nunca lo he hecho toy buscando pero no encuentro naa, supongamos que el archivo se llama Graficos.xls.

He visto que Guadalupe a hecho este codigo:

cad = ""
For i = 1 To 20
cad = oHoja2.Range("B" & i).value
If cad = Nothing Then ' y si ya no tiene datos que salga
Exit For
End If

pero donde pongo el nombre de mi archivo de excel y como poner la ruta, si por algun motivo el proyecto cambia de ruta.

Tumbes - Perú

lowellpelikno
11-11-2011, 04:30:14
Hola ya lo resolvi, gracias, todos cooperamos para que me funcionara entre mis libros y ustedes, ya corre hasta aqui...

Les mando el codigo, talves lespueda servir de algo en un futuro.

Dim i As Integer
Dim cad As String


cad = ""
For i = 1 To 20
cad = oHoja2.Range("B" & i).value
If cad = Nothing Then ' y si ya no tiene datos que salga
Exit For
End If



If oHoja2.Range("B" & i).value = "GRANDE" Then
oHoja2.Range("Q1") = "ID_PRODUCTO" ' Me pone una etiqueta en la Q1

oHoja2.Range("Q" & i) = "33"

Else

If oHoja2.Range("B" & i).value = "CHICO" Then
oHoja2.Range("Q" & i) = "34" ' Id Producto
End if

hola quizás un poco tarde:: pero estoy empesando en esto de la programada y pues tu codigo creo k me sirve pero solo tengo un problema en la parte:
For i = 1 To 20
cad = oHoja2.Range("B" & i).value
If cad = Nothing Then ' y si ya no tiene datos que salga
Exit For
End If me salta el siguiente error la variable oHoja2 se utiliza antes de que se le haya asignado un valor. prodria darse una excepción de referencia nula en tiempo de ejecución
este s el codigo que yo tengo hasta el momento

Option Explicit On

' Para acceder a OleDB
Imports system.data
Imports System.Data.OleDb
Imports Microsoft.Office.Interop
Dim i As Integer
Dim cad As String
Dim oHoja2 As Excel.Range

' crear conexión
Dim oConexion As New System.Data.OleDb.OleDbConnection()
oConexion.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; Data Source='D:\PROYECTOS Y PROGRAMAS EN VE2005\LIBRO2.xls';Extended Properties=Excel 8.0;"

' crear adaptador
Dim oDataAdapter As New OleDbDataAdapter("SELECT * FROM [Hoja1$]", oConexion)

cad = ""
For i = 1 To 20
cad = oHoja2.Range("A" & i).Value
If cad = Nothing Then ' y si ya no tiene datos que salga
Exit For
End If



If oHoja2.Range("B" & i).Value = TextBox1.Text Then
Label2.Text = "labelllll"
'oHoja2.Range("Q1") = "ID_PRODUCTO" ' Me pone una etiqueta en la Q1

'oHoja2.Range("Q" & i) = "33"

'ElseIf oHoja2.Range("B" & i).Value = "CHICO" Then
'oHoja2.Range("Q" & i) = "34" ' Id Producto
End If
Next
End Sub




creo que me seria muy util que pusieras el codigo completo aaa si es que lees esto espero que siii!!!:):):)