VBA(シート名を指定して値取得)

 


-- 1. 開発タブの挿入でボタンを作成
ActiveXコントロールのものを使用する

-- 2. デザインモードONで作成したボタンをダブルクリックするとエディタが開くので下記コードを記載。デザインモードOFFで実行


Private Sub CommandButton1_Click()

'画面を更新しない
Application.ScreenUpdating = False
'確認メッセージを表示しない
Application.DisplayAlerts = False

Dim variable1 As String
Dim variable2 As String


'現在のフォルダを取得
Dim path As String
path = ActiveWorkbook.path

 

'ワークブック作成
Dim wb As Workbook
Set wb = Workbooks.Add

'シート名取得
Dim sheetName As String
sheetName = Worksheets(1).Name

'シート名変更
Worksheets(1).Name = "シート1"

'シート追加
Dim sh As Worksheet
Set sh = Worksheets.Add()
sh.Name = "シート2"

'シート2に値を書き込み、その値を参照してシート1に値を設定

Worksheets("シート2").Range("A1") = "val1"
Worksheets("シート2").Range("A2") = "val2"

variable1 = Worksheets("シート2").Range("A1")
variable2 = Worksheets("シート2").Range("A2")


Worksheets("シート1").Range("A1") = variable1
Worksheets("シート1").Range("A2") = variable2

 


'ワークブック保存
wb.SaveAs (path & "\" & "ワークブック1.xlsx")

'ワークブックを閉じる
wb.Close

 

'確認メッセージを表示する
Application.DisplayAlerts = True
'画面を更新する
Application.ScreenUpdating = True


End Sub