2017-01-11 9 views
-2

値Iは、マクロExcelのVBAに慣れていない、と私は次のことを行いMac用のExcelでマクロを作成する必要があります。Excelのマクロ - 他のタブからスプレッドシートを投入すると、

私は(2つのタブがありますwkst1とwkst2)を作成し、3番目のもの(wkst3)を作成する必要があります

wkst1には列名が1つあります。

A 

B 

wkst2は、2つの列私はwkst1に記載されているそれぞれの名前に関連付けられているwkst2のすべての行を確保するためにwkst3を移入する必要が

X  1 

Y  4 

を持っています。

私の望む結果は次のようになります:

A  X  1 

A  Y  4 

B  X  1 

B  Y  4 

このマクロに使用するコードを教えてください。 ありがとうございます!

答えて

0
I managed to find the solution by surfing on the web. 

Sub writeall() 

Dim Ws As Worksheet 
Dim Ws1 As Worksheet 
Dim Ws2 As Worksheet 

Dim X As Long 
Dim Y As Long 
Dim count As Long 

Application.ScreenUpdating = False 

Set Ws = ActiveWorkbook.Worksheets(1) 
Set Ws1 = ActiveWorkbook.Worksheets(2) 
Set Ws2 = Workbooks("xxxx.xlsx").Sheets("2017") ' xxxx is the name of the xlsx 

count = 1 


For X = 2 To Ws2.Range("A" & Rows.count).End(xlUp).Row 
For Y = 1 To Ws1.Range("A" & Rows.count).End(xlUp).Row 
    count = count + 1 
    Ws.Cells(count, 1).Value = Ws2.Cells(X, 1).Value 
    Ws.Cells(count, 2).Value = Ws1.Cells(Y, 2).Value 
    Ws.Cells(count, 3).Value = Ws1.Cells(Y, 1).Value 

Next Y 
Next X 

Application.ScreenUpdating = True 
MsgBox ("Spreadsheet updated") 


End Sub 
関連する問題