0

ユーザーフォームを作成する必要があります。3 つ
のコントロールあり
ます。

ユーザーによって挿入された年は私のマクロで使用されます。挿入された年を使用する場所をコメントでマークしたコードを次に示します。

            For i = startrow To endrow

            Range("A" & i, "C" & i).Copy
            Sheets("Sheet13").Range("B" & i + 1).PasteSpecial xlPasteAll
            Range("D" & i).Copy
            Sheets("Sheet13").Range("G" & i + 1).PasteSpecial xlPasteAll
            Range("H" & i).Copy
            Sheets("Sheet13").Range("H" & i + 1).PasteSpecial xlPasteAll
            Sheets("Sheet13").Range("E" & i + 1).Value = "Inventory"
            Sheets("Sheet13").Range("F" & i + 1).Value = "31/12/2013" 'Here should be used the inserted year. I don't want to set the value to "31/12/2013?" but to "31/12/'Inserted Year'"
            Sheets("Sheet13").Range("O" & i + 1).Value = "R"

            Next  

さらに、ユーザー フォームの CommandButton をクリックした後にマクロを開始する方法を教えてください。


よろしくお願いします。
Artur Rutkowski

4

1 に答える 1

0

コマンド ボタンをクリックしたときにマクロを実行する方法を尋ねている場合は、ユーザー フォーム内のコマンド ボタン内にマクロを配置するだけです。

エディターでコマンド ボタンをダブルクリックして、コードに貼り付けることができます。

Private Sub CommandButton1_Click()
startrow = 1
endrow = 4
  For i = startrow To endrow
    Range("A" & i, "C" & i).Copy
    Sheets("Sheet13").Range("B" & i + 1).PasteSpecial xlPasteAll
    Range("D" & i).Copy
    Sheets("Sheet13").Range("G" & i + 1).PasteSpecial xlPasteAll
    Range("H" & i).Copy
    Sheets("Sheet13").Range("H" & i + 1).PasteSpecial xlPasteAll
    Sheets("Sheet13").Range("E" & i + 1).Value = "Inventory"
    Sheets("Sheet13").Range("F" & i + 1).Value = "31/12/2013" 'Here should be used the inserted year. I don't want to set the value to "31/12/2013?" but to "31/12/'Inserted Year'"
    Sheets("Sheet13").Range("O" & i + 1).Value = "R"

  Next
End Sub

右のコンボボックスには、クリック、Dblclick、Enter、Exit などのオプションがあります。

于 2013-07-30T14:25:28.733 に答える