Visual Basic - Como colocar el nombre y path del workbook variable en un codigo

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 16/05/2016 05:02:20
Buenas noches:

Estoy haciendo un código en visual basic, y quería saber como tengo que declarar la variable con la cual le voy a dar a conocer el Path y el nombre del workbook de uno de los libros con los cual el código va a trabajar.

siempre veo que para todo se pone el path y nombre del archivo entre comillas, pero lamentablemente este dato en mi código tiene que ser variable.
por favor orientenme al respecto, necesito ayuda
ejemplo
Sub datos_generales_analisis()
wbs(variable).Sheets(variable).Cells(1, "B").Select

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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 16/05/2016 18:01:59
Pues si en VB es app.path ... app.name aca debria ser

1
MsgBox "Ruta: " & ThisWorkbook.Path & "  Nombre :  " & ThisWorkbook.Name

Eso te muestra la ruta y el nombre...

Espero te ayude
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 16/05/2016 19:42:12
Aparentemente no me explique bien y en verdad lo lamento, lo cual entiendo, y deben llevarme despacio porque yo la última vez que programe fue con turbo pascal 5.0, imaginance, muchos de ustedes no habían nacido.
Bueno, Resulta que he construido un código en visual basic, el cual trabajara con un libro y a través de los datos de este, fabricara hojas según el número de líneas que tenga la hoja principal de dicho libro.

Pero resulta que en el día de hoy ejemplo, el libro que quiere trabajar será c: \proyecto\miraflores01.xls pero dentro de días o semanas este nombre podría variar muchas veces , es decir podría ser c: \proyecto\miraflores02.xls , c: \proyecto\veracruz.xls, por consiguiente necesito colocar este la dirección, el path y el libro variable dentro del código con la finalidad de que el digitador no trabaje el código sino que le proporcione el dato .

Ejemplo , si fuéramos a trabajar con este libro llamado C:\PROYECTOS\CASA ESTUDIO.xlsx y esta hoja llamada 100-0202 lo podemos dejar así
Workbooks("C:\PROYECTOS\CASA ESTUDIO.xlsx").Sheets("100-0202").Cells(1, "B").Select
Pero el código solo trabajara siempre con el libro y la hoja y en el momento en que se quiera trabajar con otro proyecto habrá que cambiar el código Visual Basic, entonces el usuario tendrá que entrar al código para cambiar el proyecto y eso no es funcional que todo el mundo este entrando a ver los códigos VB quisiera poner estas dos opciones variables.
Ejemplo

Dim Nombre As String
Dim Hoja As String
Workbooks(Nombre).Sheets(hoja).Cells(1, "B").Select
Pero esto no me da resultado, me da un error 09. Subíndice fuera de intervalo.

Espero me hayan comprendido!!!

Muchas gracias
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 16/05/2016 21:33:03
Ahhh OK Ok ahora me queda mucho mas claro.
... entonces si quieres manipular el excel con todos estos compobnentes deberas

Primero en Referencias (Menu Proyecto - referencias) Adicionar
Microsodt Excel 1X.0 Object Librery

Ahora dentro del codigo deberas declarar...

1
2
3
4
5
6
7
Public vbaplexc  As New Excel.Application
'y en el codigo si el libro ya existe 
filename = El archivo que vas a manipular que estara en la ruta que tu desees ...
vbaplexc.Workbooks.Open (filename) '  aqui tu escoges el archivo .. para que te quede almacenado ..... y ahi puedes ver las hojas los libros .. etc 
vbaplexc.ActiveWorkbook.Path
 
' si el libro no existe deberias crear uno nuevo .. dime como te va...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 16/05/2016 23:54:40
me dice error de compilacion
atributo no valido en sub o en function

debo recordar que no estoy utilizando VBA.NET sino dentro el visual basic que suboi con excel
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 17/05/2016 16:01:30
Podrias poner tu codigo.... lo que tienes y es un proyecto de vb o de excel con vba
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 17/05/2016 17:26:32
mi codigo


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
Sub datos_generales_analisis()
  Dim Nombre_archivo_presupuesto As Workbook
  Dim  nuevo_nombre As Worksheet
  Dim directorio As String
    directorio = "c:\PRESUPUESTO\D G PRESUPUESTO.xlsx"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Workbooks.Open (directorio)
    Nombre_archivo_presupuesto = Cells(8, "B")
    nuevo_nombre = Cells(9, "B")
    Nombre_archivo_presupuesto = ActiveWorkbook.Name
    ruta = ActiveWorkbook.Path
    Workbooks(Nombre_archivo_presupuesto).Sheets(nuevo_nombre).Cells(1, "B").Select
    ActiveCell.FormulaR1C1 = nombre_proyecto
    Selection.Font.Bold = True
       	With Selection
            		.HorizontalAlignment = xlCenter
            		.VerticalAlignment = xlCenter
            		.WrapText = False
           		.Orientation = 0
          		.AddIndent = False
            		.IndentLevel = 0
            		.ShrinkToFit = False
            		.ReadingOrder = xlContext
            		.MergeCells = False
  	End With
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 17/05/2016 18:57:36
Haber entenderia que esto ... es desde excel

Cosas en ty codigo no se donde o en que linea da el eror.
Nombre_archivo_presupuesto es un workbook... y dices que sea = cells... croe que deberia ser string...
nuevo_nombre = Cells(8, "B")
En estos dos casos intenta con el valor algo asi


Nombre_archivo_presupuesto = Cells("B8").value 'entiendo que esta en una celda y quieres sacar de ahi el valor...
nuevo_nombre = Cells("B9").value
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
Sub datos_generales_analisis()
Dim Nombre_archivo_presupuesto As Workbook
Dim nuevo_nombre As Worksheet
Dim directorio As String
directorio = "c:\PRESUPUESTO\D G PRESUPUESTO.xlsx"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open (directorio)
Nombre_archivo_presupuesto = Cells(8, "B")
nuevo_nombre = Cells(9, "B")
Nombre_archivo_presupuesto = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
Workbooks(Nombre_archivo_presupuesto).Sheets(nuevo_nombre).Cells(1, "B").Select
ActiveCell.FormulaR1C1 = nombre_proyecto
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 17/05/2016 21:26:47
Inserte una imagen pero en la linea [Nombre_archivo_presupuesto = Cells(8."B") ], así es que me dice que error 91 en tiempo de ejecución variable de objeto o bloque with no establecido.

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
Sub datos_generales_analisis()
    Dim ruta As String, directorio As String, nombre_proyecto As String
    Dim Nombre_archivo_presupuesto As Workbook
    Dim nuevo_nombre As Worksheet
    'Dim directorio As String
    directorio = "c:\PRESUPUESTO\D G PRESUPUESTO.xlsx"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Workbooks.Open (directorio)
    Nombre_archivo_presupuesto = Cells(8, "B")
    nuevo_nombre = Cells(120, "B")
    Nombre_archivo_presupuesto = ActiveWorkbook.Name
    ruta = ActiveWorkbook.Path
    Workbooks(Nombre_archivo_presupuesto).Sheets(nuevo_nombre).Cells(1, "B").Select
    ActiveCell.FormulaR1C1 = nombre_proyecto
    Selection.Font.Bold = True
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 17/05/2016 23:46:09
puedes subir la hoja
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 18/05/2016 00:16:39
esto

Nombre_archivo_presupuesto = Cells(8, "B")


Quieres decir que el contenido de B8 pase a esa variables??? o que valor tiene Cells(8, "B")
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 18/05/2016 00:46:43
lo que quiero decir es que el path y nombre de archivo a trabajar esta en la celda B8 del archivo directorio

es decir, tenemos una hoja que se llama, ejemplo con un presupuesto llamada c:\casa_estudio.xlsx y en este archivo quiero construir los análisis de costos de este presupuesto.
si pongo la dirección dentro del código no habría problema, pero al momento de poner este como una hoja de un libro de excel me da el error mencionado

ejemplo si en el codigo pongo
Workbooks("c:\casa_estudio.xlsx").sheets("100-0202").Cells(1,"B").Select.

no hay ningún problema pero cuando cuando declaro lo siguiente
Dim Nombre_archico_presupuesto As Workbook
Dim Nombre_analisis As Worksheet
y pongo en el codigo la siguiente linea me da el errror que mencione
Workbooks(Nombre_archico_presupuesto ).sheets(Nombre_analisis ).Cells(1,"B").Select.

si el proyecto lo trabajo yo no importa, por que solo tendré que cambiar la escritura entre comillas, cada vez que sea un proyecto nuevo, pero si lo trabaja otra persona no podrá cambiar de proyecto.

entonces por eso necesito entrar el workbook y la sheet varibles
me da la impresion que mi problema es de declaracion de variables no estoy declarando el workbook y ls sheet como debe de ser o me falta crear algo antes de pasar a leerlos.

seguro que falta de conocimiento al trabajar estos conceptos.

y a pesar de todos muchas gracias por su tiempo
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 18/05/2016 16:05:40
Entre Lineas:

lo que quiero decir es que el path y nombre de archivo a trabajar esta en la celda B8 del archivo directorio
es decir, tenemos una hoja que se llama, ejemplo con un presupuesto llamada c:\casa_estudio.xlsx y en este archivo quiero construir los análisis de costos de este presupuesto.
si pongo la dirección dentro del código no habría problema, pero al momento de poner este como una hoja de un libro de excel me da el error mencionado

Workbooks("c:\casa_estudio.xlsx").sheets("100-0202").Cells(1,"B").Select.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ejemplo si en el codigo pongo
Workbooks("c:\casa_estudio.xlsx").sheets("100-0202").Cells(1,"B").Select.
 
 
 
'Intenta asi 
Dim Nombre_archico_presupuesto As String
Dim Nombre_analisis As String
Dim Directorio As String
Nombre_analisis  = Cells("B9").value   'Suponiendo que en B9 esta el nombre de la hoja 
Nombre_archivo_presupuesto = Cells("B8").value  ' suponiendo que en B8 esta la RUTA completa del libro.
'Suponiendo que quieres Abrir el archivo y situarte en la hoja de B9 y en la celda B1
 
Workbooks(Nombre_archico_presupuesto ).sheets(Nombre_analisis ).Cells("B1").Select.
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 18/05/2016 17:42:49
Te doy muchas gracias por el tiempo dedicado.

pero me sigue dando error 9,

creo que mi error es declarar las variables con un nivel que no es el adecuado para lo que van a desarrollar
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Andres Leonardo (1798 intervenciones) el 18/05/2016 18:02:42
pero te puse que la declares como string ....podrias subir la hoija
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
sin imagen de perfil

Como colocar el nombre y path del workbook variable en un codigo

Publicado por Miguel (16 intervenciones) el 18/05/2016 18:46:04
si me da un email te voy a mandar todo el código y todas los libros a utilizar con la estructura real y así lo corres y me dice y vuelvo y reitero, un millón de gracias por la intención o me explicas como subirlo por aquí ? digo yo
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