を使用してカラム内のすべてのセルに対して式シート名を置き換え特定のタブの名前たとえば、これは3月(03)、次に翌月には新しいシートを作成し、"2017_04 Cash"
...などと呼ばれます。あなたは私のコードを見れば、私はCashWS.Name = "2017_0" & MonthVal & " Cash"
として式Iが現在設定されている列(AF)を有するVBA
'2017_03 Cash'
一部を変更するスクリプトの何かに含める
Set CashWS = Sheets.Add
CashWS.Name = "2017_0" & MonthVal & " Cash"
below..youが表示されます
すべての3は基本的に4で置き換える必要があります。数式を列AFの最後の行までずっとドラッグします。
Sub AddSheets()
Dim PrevSheet As String
Dim CashWS As Worksheet
Dim MonthVal As String
Dim lr As Long
NewSheet = InputBox("Which month is this Commissions statement for?")
PrevSheet = InputBox("What was the previous month?")
Worksheets(PrevSheet).Copy After:=Worksheets("Summary")
ActiveSheet.Name = NewSheet
With Worksheets(NewSheet)
lr = .Cells(.Rows.Count, "AG").End(xlUp).Row
.Range(.Cells(5, "AE"), .Cells(lr, "AE")) = .Range(.Cells(5, "AG"), .Cells(lr, "AG")).Value
End With
Range("D2").Select
ActiveCell.FormulaR1C1 = "=EOMONTH(DATE(2017,MONTH(DATEVALUE(MID(CELL(""filename"", RC[-5]), FIND(""]"", CELL(""filename"", RC[-5])) + 1, 255)&""1"")+1),1),0)"
Selection.NumberFormat = "m/d/yyyy"
Range("D3").Select
ActiveCell.FormulaR1C1 = "=MONTH(R[-1]C)"
Range("D3").Select
Selection.NumberFormat = "General"
MonthVal = ActiveCell.Value
Set CashWS = Sheets.Add
CashWS.Name = "2017_0" & MonthVal & " Cash"
End Sub
「MATCH(G:G、 '2017_03 Cash'!A:A、0)」は正しいですか? – Jeeped
@Jeepedはい、IFERROR(INDEX( '2017_03 Cash'!D:D、MATCH(G:G、 '2017_03 Cash'!A:A、0))、0)この式は、それは私に与えられ、それはその列にデータを引き込みます。 –
@RituMishra私のコメントはその質問だけではありませんでした。あなたがそこで読んでいるときに、回答を受け入れることは両当事者にヒントを与える。また、OPの問題を解決した解決策を他の人が見つけるのを助けることができます。また、質問に答えがあるのを見ると視聴者も増加します。 (あなたが最高の答えを得られたことを後で書き留めた直後ではない)。あなたが賞金を始めたいのでない限り。 SOの品質を可能な限り高く保つことに感謝します。 – Masoud