runtime error 1004

12/10/2005 - 19:52 por valdesd | Informe spam
recibo este error cunado ejecuto este script en excel version español
mas no cuando lo ejecuto en version ingles, me dicen que es por la
denominacion de las celdas en español que es para linea L y en ingles
es R a continuacion adjunto el script, agradezco quien me pueda ayudar
a resolver esto gracias


Public Function gf_CopyPasteData(s_range As String, s_range2 As String,

i_start_sheet_index As Integer, i_end_sheet_index As Integer) As
Integer
'copies data from sheet one sheet to another sheet
If CInt(Range(s_range).Count) = CInt(Range(s_range2).Count) Then
Sheets(i_start_sheet_index).Range(s_range).Copy _
Destination:=Sheets(i_end_sheet_index).Range(s_range2)
'validation passed, both ranges are of the same size
gf_CopyPasteData = 0
Else
'validation failed, both ranges are a different size
gf_CopyPasteData = 1
End If


End Function
 

Leer las respuestas

#1 Héctor Miguel
13/10/2005 - 05:06 | Informe spam
hola, valdesd !

... error... este script en excel version español mas no cuando lo ejecuto en version ingles
... dicen que es por la denominacion de las celdas en espa#ol que es para linea L y en ingles es R
... adjunto el script, agradezco quien me pueda ayudar a resolver esto gracias
Public Function gf_CopyPasteData(s_range As String, s_range2 As String, _
i_start_sheet_index As Integer, i_end_sheet_index As Integer) As Integer
'copies data from sheet one sheet to another sheet
If CInt(Range(s_range).Count) = CInt(Range(s_range2).Count) Then
Sheets(i_start_sheet_index).Range(s_range).Copy _
Destination:=Sheets(i_end_sheet_index).Range(s_range2)
'validation passed, both ranges are of the same size
gf_CopyPasteData = 0
Else
'validation failed, both ranges are a different size
gf_CopyPasteData = 1
End If
End Function



1) la funcion que expones es 'llamada' desde codigo y 'recibe' 4 argumentos... algo +/- como lo siguiente:
s_range As String => una cadena de texto que hace referencia al rango de origen o 'a copiar'
s_range2 As String => una cadena de texto que hace referencia al rango de destino o 'a copiar_donde'
i_start_sheet_index As Integer => un numero que indica el indice [o posicion] de la hoja donde esta 'rango_origen'
i_end_sheet_index As Integer => un numero que indica el indice [o posicion] de la hoja donde esta 'rango_destino'

2) lo que no has comentado [tampoco en los foros de ingles]... ES 'como' pasas los argumentos en otras lineas del codigo -???-

3) me suena a que los argumentos 's_range' y 's_range2' los pasas con el estilo de referencia R1C1 [pero no dices 'como'] -?-

4) hasta donde se... cuando 'programas' [en exel-vba] usando estilos de referencia NO 'A1' [seguramente]...
vas a encontrar problemas si tu aplicacion se ejecuta en versiones NO-EUA, puesto que...
en [menu] herramientas / opciones / [ficha] general / [seccion] configuracion -> estilo de referencia...
[segun pais/region/idioma/etc.] algunas aplicaciones utilizan LC [LineaColumna] otras FC [FilaColumna] etc.
si cambias de 'LC' <-> 'FC' <-> 'RC' fallaran cuando se usen en otras pc's [con 'el otro' estilo de notacion]
-> si es posible [es preferible]...
o... usar el estilo de referencia 'A1' o... 'programar' ->en ingles<-... ya que siempre sera un 'estilo' RC [RowColumn]

5) probablemente existan alternativas menos 'engorrosas' que andar 'lidiando' con temas de 'internacionalizacion' :D

si comentas los detalles que se te siguen 'quedando en el tintero' :))

saludos,
hector.

Preguntas similares