Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

copiar celda de otra hoja buscando por nombre

Estas en el tema de copiar celda de otra hoja buscando por nombre en el foro de Visual Basic clásico en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código vb: Ver original Function RESULTADOS (celdaMes As String , celdaCabecera As String )   Dim hojaBuscada As Integer Dim filaBuscada As Integer ...
  #1 (permalink)  
Antiguo 11/01/2016, 06:56
 
Fecha de Ingreso: enero-2016
Mensajes: 21
Antigüedad: 8 años, 10 meses
Puntos: 0
copiar celda de otra hoja buscando por nombre

Código vb:
Ver original
  1. Function RESULTADOS (celdaMes As String, celdaCabecera As String)
  2.  
  3. Dim hojaBuscada As Integer
  4. Dim filaBuscada As Integer
  5. Dim columnaBuscada As Integer
  6.  
  7. ' Si la hoja es la correcta...
  8. 'For i=1 To ThisWorkBook.Sheets.Count
  9. '   if (ThisWorkBook.Sheets(i).Name = celdaMes) Then
  10. '       hojaBuscada = i
  11. '   End if
  12. 'Next
  13.    
  14. 'Ahora comparamos celdas en la hoja buscada...para encontrar la fila de los totales
  15. For i=1 To 200
  16.         if (ThisWorkBook.Sheets("celdaMes").Cells(i,1)="TOTALES") Then
  17.             filaBuscada = i
  18.         End if 
  19. Next
  20.  
  21. 'Encontramos la columna que nos interesa
  22. For i=1 To 50
  23.         if (ThisWorkBook.Sheets("celdaMes").Cells(1,i)=celdaCabecera) Then
  24.             columnaBuscada = i
  25.         End if
  26. Next
  27.  
  28. Dim resultado As Integer
  29. resultado=Application.ThisWorkBook.Sheets("celdaMes").Cells(filaBuscada,columnaBuscada).Copy
  30.  
  31. RESULTADOS = resultado
  32.  
  33. End Function

Buenos días, estoy intentando mejorar mi hoja de gastos.

Uso LibreOffice calc en Ubuntu 12.04.

Tengo una hoja por cada mes y una hoja final para resumen anual. En esta hoja final intento que no tenga que copiar y pegar desde la hoja del mes a la hoja final cada fin de mes como hago ahora.
El problema está principalmente en que la fila de totales no es fija sino que cada mes varia en función de las filas que voy añadiendo o quitando en esta hoja.

Hablando de esta función:

En la casilla del mes de enero de la columna coche pondría: =RESULTADOS (A2, B1) en las columnas están los conceptos como el coche y enlas filas los meses.
La función debe primero buscar la hoja enero (A2). He comentado la primera forma que usé por que me parece mejor usando directamente el string que recojo de A2 pero no sé si se puede hacer así.
Luego, sabiendo la hoja en que trabajar, busca la fila de TOTALES. Y luego busca la columna del concepto que me interesa (B1).
Ahora mismo cuando ejecuto la fórmula me da Err:502.
He probado poniendo los ThisWorkBook delante. No sé si hace falta o sí es correcto.
También he usado el Application...copy para copiar la celda. Tampoco sé si es correcto.
Alguna sugerencia? Gracias

Antonio

Etiquetas: basic, basico, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.