У меня проблема, я хочу применить формулу к моей основной книге со значениями из разных листов.Проблема в том, что используемая рабочая тетрадь ежемесячно, а название меняется.Я думал о переименовании первого листа в «Лист1» и применил формулу в целом для Листа 1.
Function AlreadyOpen(sFname As String) As Boolean
Dim wkb As Workbook
On Error Resume Next
Set wkb = Workbooks(sFname)
AlreadyOpen = Not wkb Is Nothing
Set wkb = Nothing
End Function
Sub ianuarie()
'ianuarie
Dim wb2 As Workbook
Set wb2 = Workbooks.Open("d:\LocalData\pw02353\Desktop\SDA si raport lunar\SDA ianuarie.xlsx")
Dim wb1 As Workbook
If AlreadyOpen("Estimation & Effort Tracking_SCAR_PE-S&P_DVO_2019.xlsx") Then
Else
Set wb1 = Workbooks.Open("d:\LocalData\pw02353\Desktop\SDA si raport lunar\Estimation & Effort Tracking_SCAR_PE-S&P_DVO_2019.xlsx")
End If
Workbooks("Estimation & Effort Tracking_SCAR_PE-S&P_DVO_2019.xlsx").Activate
Range("U2").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF('[SDA ianuarie.xlsx]Sheet1'!C2,RC[-18],'[SDA ianuarie.xlsx]Sheet1'!C6)"
Range("U2").Select
Selection.AutoFill Destination:=Range("U2:U66"), Type:=xlFillDefault
Range("U2:U66").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-78
Range("U2").Select
Application.CutCopyMode = False
End Sub
Option Explicit
Sub MonthTest() Dim strMonth As String
strMonth = InputBox("Introduceti luna", "Raport lunar", "ianuarie")
If strMonth = "ianuarie" Then
Call ianuarie
MsgBox "Ati selectat raportul pe luna ianuarie" ElseIf strMonth = "februarie" Then
Call februarie
MsgBox "Ati selectat raportul pe luna februarie"....and so on for each month
Мне нужно ссылаться на общий «Лист 1», если у меня открыта рабочая книга, только длявычтите и рассчитайте значения на его основе.