Excel - error 9 en tiempos de ejecución

   
Vista:

error 9 en tiempos de ejecución

Publicado por mariana (1 intervención) el 21/11/2015 23:18:46
estoy haciendo un proyecto para que se me registren las ventas de un restaurante. Al correr mi macro, me hace la pregunta y después me saca: "se ha producido el error 9 en tiempo de ejecución: el subíndice esta fuera del intervalo". No se como corregirlo. Me podrían ayudar por favor.

Esta es la macro:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub orden()
 
Dim refresco As Integer
Dim agua As Integer
Dim bebida_tropical As Integer
Dim tostada As Integer
Dim camarones As Integer
Dim ceviche As Integer
Dim hamburguesa As Integer
Dim pulpo As Integer
Dim salmon As Integer
Dim helado As Integer
Dim strudel As Integer
Dim pastel As Integer
 
bebida = vbYes
'entrada = vbYes
'platof = vbYes
'postre = vbYes
acumref = 0
acumag = 0
acumbeb = 0
'acump = 0
 
Do While bebida = vbYes
 
bebida = InputBox("deseas alguna bebida")
If bebida = "refresco" Then
Workbooks("mybooks.xls").Sheets("venta").Range(C3).Select
 
acumref = acumref + 1
ActiveCell.Value = acumref
 
ElseIf bebida = "agua" Then
Workbooks("mybooks.xls").Sheets("venta").Range(C4).Select
acumag = acumag + 1
ActiveCell.Value = acumag
 
Else: bebida = "bebidatr"
Workbooks("mybooks.xls").Sheets("venta").Range(C5).Select
acumbeb = acumbeb + 1
ActiveCell.Value = acumbeb
 
End If
 
Loop
 
'Do While entrada = vbYes
 
End Sub
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

error 9 en tiempos de ejecución

Publicado por GMG (105 intervenciones) el 25/11/2015 12:26:35
A ver:

Por un lado no tiene mucho sentido que utilices un while, ya que este se ejecutará sólo cuando bebida = vbyes, al introducir una bebida, refresco, etc, no volverá a repetir las instrucciones, ya que dejará de valer vbyes.

Por otro lado en range debes poner entre comillas la celda: ejemplo

1
Range("C4").Select

en lugar de
1
Range(C4).Select


Ya por último no estoy seguro que quieras guardar los datos de en otro libro, si lo quieres guardar en el mismo libro en el que estás, en la hoja ventas, deberías utilizar (si realmente tienes otro libro abierto que se llama mybooks no hagas caso a esto):

1
Worksheets("venta").Range("C3") = acumref

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar