Как мне выбрать книгу с динамическим именем?

#excel #vba #dynamic

#excel #vba #динамический

Вопрос:

Это мой текущий код VBA. Я хотел бы, чтобы номер недели увеличивался на 1 каждую неделю. (так что UAE_WK_2)

     Sub HelloALL3()
    Application.Run "PERSONAL.XLSB!Hello12"
    Windows("UAE_WK_1.xlsm").Activate
    Application.Run "PERSONAL.XLSB!Hello13"
    Windows("UAE_WK_1.xlsm").Activate
    Application.Run "PERSONAL.XLSB!Hello14"
    Windows("UAE_WK_1.xlsm").Activate
    Application.Run "PERSONAL.XLSB!Hello15"
    Windows("UAE_WK_1.xlsm").Activate
    Application. Run "PERSONAL.XLSB!Hello16"

   
   End Sub
  

Ответ №1:

Вы можете использовать простой цикл для номера недели

 Sub test()
  Dim weekNum As Integer
  
  For weekNum = 1 To 4
    Application.Run "PERSONAL.XLSB!Hello12"
    Windows("UAE_WK_" amp; weekNum amp; ".xlsm").Activate
  Next weekNum
  
End Sub
  

Комментарии:

1. Если количество недель увеличивается, то есть, если я на 40 неделе и продолжаю увеличивать число каждую неделю, какие изменения я могу внести? Я новичок в VBA и немного заблудился

2. Если я понимаю, вы можете просто изменить эту строку: для weekNum = от 1 до 40