在这个定义的宏中获取错误91?

发布于 2025-02-04 05:28:58 字数 1257 浏览 1 评论 0原文

我在使用自定义功能定义范围时遇到麻烦。这是主要宏:

'1 Selección del archivo de nóminas

    Dim nominas_wb As Workbook
    Dim nominas_path As Variant
        nominas_path = Application.GetOpenFilename(Title:="Seleccione el archivo de nóminas que desee añadir al repositorio:")
            
    If nominas_path <> False Then
        Set nominas_wb = Workbooks.Open(nominas_path)
    ElseIf nominas_path = False Then
        Exit Sub
    End If
    
    Dim nominas_ws As Worksheet
    Set nominas_ws = nominas_wb.Worksheets(1)
    
'2 Definiendo las dimensiones del archivo de nóminas
  
    Dim nominas_range As Range
    nominas_range = nominas_ws.Range(Cells(1, 1), Cells(last_row_index(nominas_ws, 5), last_column_index(nominas_ws, 1)))

...和以下是函数:

Function last_row_index(target_worksheet As Worksheet, target_column_index As Long) As Long

    last_row_index = target_worksheet.Cells(Rows.Count, target_column_index).End(xlUp).Row
    
End Function


Function last_column_index(target_worksheet As Worksheet, target_row_index As Long) As Long

    last_column_index = target_worksheet.Cells(target_row_index, Columns.Count).End(xlToLeft).Column
    
End Function

错误本身是NOMINAS_RANGE = ... line上的错误91。

I am having trouble with defining a range using custom functions. Here is the main macro:

'1 Selección del archivo de nóminas

    Dim nominas_wb As Workbook
    Dim nominas_path As Variant
        nominas_path = Application.GetOpenFilename(Title:="Seleccione el archivo de nóminas que desee añadir al repositorio:")
            
    If nominas_path <> False Then
        Set nominas_wb = Workbooks.Open(nominas_path)
    ElseIf nominas_path = False Then
        Exit Sub
    End If
    
    Dim nominas_ws As Worksheet
    Set nominas_ws = nominas_wb.Worksheets(1)
    
'2 Definiendo las dimensiones del archivo de nóminas
  
    Dim nominas_range As Range
    nominas_range = nominas_ws.Range(Cells(1, 1), Cells(last_row_index(nominas_ws, 5), last_column_index(nominas_ws, 1)))

... and here are the functions:

Function last_row_index(target_worksheet As Worksheet, target_column_index As Long) As Long

    last_row_index = target_worksheet.Cells(Rows.Count, target_column_index).End(xlUp).Row
    
End Function


Function last_column_index(target_worksheet As Worksheet, target_row_index As Long) As Long

    last_column_index = target_worksheet.Cells(target_row_index, Columns.Count).End(xlToLeft).Column
    
End Function

The error itself is an error 91 on the nominas_range = ... line.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文