前のシートから番号+1を作成する方法


2

マクロを使用して同じブック内の単一のシートを複数のシートにコピーしたいのですが、その方法は知っていますが、まだ質問があります。

私は式を使用しています:

Sub Button3_Click()
Dim x As Integer
Dim y As Integer
x = InputBox("How many copies you want?")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

単一のシートを新しい5枚のシートにコピーするとします。シート名は次のようになります。

Sheet 1 | Sheet 1 (2) | Sheet 1 (3) | Sheet 1 (4) | Sheet 1 (5) | Sheet 1 (6) 

私が欲しいのは:

the formula in the "Sheet 1 (2)" Cell A1 is "='Sheet 1'A1+1" and 
the formula in the "Sheet 1 (3) cell A1 is "='Sheet 1 (2)'A1+1: and 
the formula in the "Sheet 1 (4) cell A1 is "='Sheet 1 (3)'A1+1: and
the formula in the "Sheet 1 (5) cell A1 is "='Sheet 1 (4)'A1+1: and

または、数式が何であれ、次のシートのセルA1が前のシートの+1を持つ番号を参照するようにしたいだけです。(ページのように)。

特にExcel 2003でそれを行う方法を知りたいですか?

回答:



0

コードにこの追加を試してください:

Sub Button3_Click()
Dim x As Integer
Dim y As Integer, tmpSheet As Worksheet
x = InputBox("How many copies you want?")
For numtimes = 1 To x
    ActiveWorkbook.Sheets("Sheet1").Copy _
    After:=ActiveWorkbook.Sheets("Sheet1")
Next
For y = 2 To x + 1
    Set tmpSheet = ActiveWorkbook.Sheets("Sheet1 (" & y & ")")
    If y = 2 Then
        tmpSheet.Range("A1").Formula = "='Sheet1'!A1 + 1"
    Else
        tmpSheet.Range("A1").Formula = "='Sheet1 (" & y - 1 & ")'!A1 + 1"
    End If
Next y
End Sub
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.