Tienda | Foros | Blogs
 

visual basic

Seguir
estoy creando un programa para calcular el precio de una ventana en pulgadas por lo tanto necesito poner mis dimensiones en pulgadas como por ejemplo 10 3/4 de ancho por 65 1/8 de largo y multiplicarlo y dividirlo por 144 y sacar los pies cuadrados y luego multiplicarlo por el precio del pie cuadrado puede ser $5 el pie cuadrado.alguien me puede ayudar con la formula para multiplicar este tipo de ecuaciones 12 1/4 x 89 3/4 /144 * 5 + 38.17 . gracias


8 Soluciones propuestas

En Excel podés colocar las fracciones (por ejemplo: 12 1/4) y los cálculos los realiza automáticamente tomando 12.25
O sea:
A1: colocás el ancho en formato fracción
A2: colocás el largo en formato fracción
A3: 5
A4: +A1*A2/144*A3

Saludos!
Tangos escribió:
En Excel podés colocar las fracciones (por ejemplo: 12 1/4) y los cálculos los realiza automáticamente tomando 12.25
O sea:
A1: colocás el ancho en formato fracción
A2: colocás el largo en formato fracción
A3: 5
A4: +A1*A2/144*A3

Saludos!
mauricioz13 escribió:
Tangos escribió:
En Excel podés colocar las fracciones (por ejemplo: 12 1/4) y los cálculos los realiza automáticamente tomando 12.25
O sea:
A1: colocás el ancho en formato fracción
A2: colocás el largo en formato fracción
A3: 5
A4: +A1*A2/144*A3

Saludos!


yo necesito ayuda con visual studio 2010 o 2008 , en excel yo se como hacerlo , pero gracias por su ayuda con excel
Es que no entendiste la ayuda.
Te lo escribo en Visual Basic Script.
Copiá lo siguiente en un archivo PRUEBA.VBS y luego dale doble click:

'-------------------------------------------------------------
DIM Libro, Excel, Resultado
Set Excel = CreateObject("Excel.Application")
Excel.DisplayAlerts = False
Set Libro = Excel.WorkBooks.Add
With Libro
.ActiveSheet.Range("A1").FormulaR1C1 = "12 3/4"
.ActiveSheet.Range("A2").FormulaR1C1 = "10 1/8"
.ActiveSheet.Range("A3").FormulaR1C1 = "5"
.ActiveSheet.Range("A4").FormulaR1C1 = "=+R[-3]C*R[-2]C*R[-1]C/144"
End With
Resultado = Libro.ActiveSheet.Range("A4").Value
Libro.Close
Excel.DisplayAlerts = True
Excel.Quit
Set Excel = Nothing
MsgBox Resultado
'-------------------------------------------------------------

O sea, estoy instanciando un Excel para que me resuelva el problema.
Puse las asignaciones fijas, pero podés usar tus variables.

Saludos!
Tangos escribió:
Es que no entendiste la ayuda.
Te lo escribo en Visual Basic Script.
Copiá lo siguiente en un archivo PRUEBA.VBS y luego dale doble click:

'-------------------------------------------------------------
DIM Libro, Excel, Resultado
Set Excel = CreateObject("Excel.Application")
Excel.DisplayAlerts = False
Set Libro = Excel.WorkBooks.Add
With Libro
.ActiveSheet.Range("A1").FormulaR1C1 = "12 3/4"
.ActiveSheet.Range("A2").FormulaR1C1 = "10 1/8"
.ActiveSheet.Range("A3").FormulaR1C1 = "5"
.ActiveSheet.Range("A4").FormulaR1C1 = "=+R[-3]C*R[-2]C*R[-1]C/144"
End With
Resultado = Libro.ActiveSheet.Range("A4").Value
Libro.Close
Excel.DisplayAlerts = True
Excel.Quit
Set Excel = Nothing
MsgBox Resultado
'-------------------------------------------------------------

O sea, estoy instanciando un Excel para que me resuelva el problema.
Puse las asignaciones fijas, pero podés usar tus variables.

Saludos!



muchisimas gracias llevo semanas buscando como hacerlo ya me habia leido 3 libros y ninguno me decia como hacerlo de verdad gracias.
Tangos escribió:
Es que no entendiste la ayuda.
Te lo escribo en Visual Basic Script.
Copiá lo siguiente en un archivo PRUEBA.VBS y luego dale doble click:

'-------------------------------------------------------------
DIM Libro, Excel, Resultado
Set Excel = CreateObject("Excel.Application")
Excel.DisplayAlerts = False
Set Libro = Excel.WorkBooks.Add
With Libro
.ActiveSheet.Range("A1").FormulaR1C1 = "12 3/4"
.ActiveSheet.Range("A2").FormulaR1C1 = "10 1/8"
.ActiveSheet.Range("A3").FormulaR1C1 = "5"
.ActiveSheet.Range("A4").FormulaR1C1 = "=+R[-3]C*R[-2]C*R[-1]C/144"
End With
Resultado = Libro.ActiveSheet.Range("A4").Value
Libro.Close
Excel.DisplayAlerts = True
Excel.Quit
Set Excel = Nothing
MsgBox Resultado
'-------------------------------------------------------------

O sea, estoy instanciando un Excel para que me resuelva el problema.
Puse las asignaciones fijas, pero podés usar tus variables.

Saludos!



muchisimas gracias llevo semanas buscando como hacerlo ya me habia leido 3 libros y ninguno me decia como hacerlo de verdad gracias.[/qu


que pena pero es que estoy aprendiendo , yo hize un programa en excel para puertas de baño y he estado trabajando con el por 8 años ,pero ahora quiero pasarlo a visual basic mas que nada por la apariencia ,siento que con el sistema de ventanas de visual basic y los dibujos puedo hacerlo mas presentable,cuando yo estoy en visual basic y en mi ventana puse un label que dice width con un textbox a la par para poner las dimensiones que van hacer en pulgadas (70 3/4 )y otro label que dice height y un textbox para poner la altura y un textbox para que me de el resultado despues de click el buttom (total)de la multiplicacion entre textbox1 y textbox2 / 144 * 5 , pero el visual no me acepta 70 3/4 como hago,yo se que lo que tu me dijistes con excel esta bien lo hize y me trabajo pero con las medidas que pongo en excel como hago para pasar lo que pongo en el textbox1 y textbox2 de visual a excel o viceversa o tu crees que ya que tengo el programa hecho con todas las formulas que son un monton por que tengo 7 colores diferentes de metal,7 colores diferentes de vidrio,60 diferentes tipos de puertas (es decir un monton de formulas lo pueda pasar directamente de excel a visual studio de una forma mas facil.disculpa la molestia y muchisimas gracias por tu ayuda
mauricioz13 escribió:
Tangos escribió:
Es que no entendiste la ayuda.
Te lo escribo en Visual Basic Script.
Copiá lo siguiente en un archivo PRUEBA.VBS y luego dale doble click:

'-------------------------------------------------------------
DIM Libro, Excel, Resultado
Set Excel = CreateObject("Excel.Application")
Excel.DisplayAlerts = False
Set Libro = Excel.WorkBooks.Add
With Libro
.ActiveSheet.Range("A1").FormulaR1C1 = "12 3/4"
.ActiveSheet.Range("A2").FormulaR1C1 = "10 1/8"
.ActiveSheet.Range("A3").FormulaR1C1 = "5"
.ActiveSheet.Range("A4").FormulaR1C1 = "=+R[-3]C*R[-2]C*R[-1]C/144"
End With
Resultado = Libro.ActiveSheet.Range("A4").Value
Libro.Close
Excel.DisplayAlerts = True
Excel.Quit
Set Excel = Nothing
MsgBox Resultado
'-------------------------------------------------------------

O sea, estoy instanciando un Excel para que me resuelva el problema.
Puse las asignaciones fijas, pero podés usar tus variables.

Saludos!



muchisimas gracias llevo semanas buscando como hacerlo ya me habia leido 3 libros y ninguno me decia como hacerlo de verdad gracias.[/qu


que pena pero es que estoy aprendiendo , yo hize un programa en excel para puertas de baño y he estado trabajando con el por 8 años ,pero ahora quiero pasarlo a visual basic mas que nada por la apariencia ,siento que con el sistema de ventanas de visual basic y los dibujos puedo hacerlo mas presentable,cuando yo estoy en visual basic y en mi ventana puse un label que dice width con un textbox a la par para poner las dimensiones que van hacer en pulgadas (70 3/4 )y otro label que dice height y un textbox para poner la altura y un textbox para que me de el resultado despues de click el buttom (total)de la multiplicacion entre textbox1 y textbox2 / 144 * 5 , pero el visual no me acepta 70 3/4 como hago,yo se que lo que tu me dijistes con excel esta bien lo hize y me trabajo pero con las medidas que pongo en excel como hago para pasar lo que pongo en el textbox1 y textbox2 de visual a excel o viceversa o tu crees que ya que tengo el programa hecho con todas las formulas que son un monton por que tengo 7 colores diferentes de metal,7 colores diferentes de vidrio,60 diferentes tipos de puertas (es decir un monton de formulas lo pueda pasar directamente de excel a visual studio de una forma mas facil.disculpa la molestia y muchisimas gracias por tu ayuda



este es mi codigo hasta donde voy pero solo funciona con numeros enteros o con decimales pero no con fracciones:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.Text = "SILVER" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 8
End If

If ComboBox1.Text = "GOLD" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 9
End If

If ComboBox1.Text = "BRUSHED NICKEL" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 10
End If

If ComboBox1.Text = "WHITE" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 11
End If

If ComboBox1.Text = "OIL RUBBED BRONZE" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 12
End If

If ComboBox1.Text = "OTHER" Then
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) / 144 * 13
End If

If ComboBox2.Text = "CLEAR" Then
TextBox3.Text = Val(TextBox3.Text) * 1
End If

If ComboBox2.Text = "AQUATEX" Then
TextBox3.Text = Val(TextBox3.Text) * 1
End If

If ComboBox2.Text = "RAIN" Then
TextBox3.Text = Val(TextBox3.Text) * 1.25
End If

If ComboBox2.Text = "OTHER" Then
TextBox3.Text = Val(TextBox3.Text) * 2
End If

If ComboBox3.Text = "YES" Then
TextBox3.Text = Val(TextBox3.Text) + 15
End If

End Sub


otra alternativa que estaba pensando era que solamente se puede introducir valores en numeros como por ejemplo en lugar de 1 3/4 se pone 1.75 de esta forma si trabaja pero quiero ver laforma de hacerlo con fracciones. tal ves asi te des una mejor idea de lo que estoy tratando de hacer.
SOLUCIÓN ACEPTADA
Ok, lo que te permite el Excel es resolver los pies cuadrados a partir de los valores de pulgadas expresados en forma fraccionaria. Sólo se usaría Excel para esa parte de la fórmula. El resto lo seguís manejando desde VB.

Entonces, quedaría algo así (tener en cuenta que no manejo VB, puede haber algún error de sintaxis):

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

DIM Libro, Excel
Set Excel = CreateObject("Excel.Application")
Excel.DisplayAlerts = False
Set Libro = Excel.WorkBooks.Add
With Libro
.ActiveSheet.Range("A1").FormulaR1C1 = TextBox1.Text
.ActiveSheet.Range("A2").FormulaR1C1 = TextBox2.Text
.ActiveSheet.Range("A3").FormulaR1C1 = "=+R[-2]C*R[-1]C/144"
End With
Pies = Libro.ActiveSheet.Range("A3").Value
Libro.Close
Excel.DisplayAlerts = True
Excel.Quit
Set Excel = Nothing

y luego sigues con los cálculos, teniendo en cuenta que los pies cuadrados están ahora en la variable "pies":

If ComboBox1.Text = "SILVER" Then
TextBox3.Text = pies * 8
End If

etcétera. Saludos!