VBAをコーディングするのは初めてのため、ForとIfを使って簡単なコードを作ったので、この関数を習得してみてください。 私はすべての変数を宣言せず、宣言し、データ型について学びました。 LAST_ROWとLAST_COLUMNは、主に動的なスプレッドシート
Sub test()
'Declare variables here
Dim sht1, sht2 As Worksheet
'sht1 has the data and sht2 is the output Worksheet, you can change the names
Set sht1 = ThisWorkbook.Worksheets("Sheet1")
Set sht2 = ThisWorkbook.Worksheets("Sheet2")
last_row1 = sht1.Range("A65536").End(xlUp).Row
last_column = sht1.Cells(1, sht1.Columns.Count).End(xlToLeft).Column
x = 1
'Add header
sht2.Cells(1, 1) = "Company"
sht2.Cells(1, 2) = "Country"
sht2.Cells(1, 3) = "Status"
'Data add
For i = 2 To last_row1
'Assuming Company is in Column 1 or A
For k = 2 To last_column
'If cell is different from blank then write data
If sht1.Cells(i, k) <> "" Then
sht2.Cells(x + 1, 1) = sht1.Cells(i, 1)
sht2.Cells(x + 1, 2) = sht1.Cells(1, k)
sht2.Cells(x + 1, 3) = sht1.Cells(i, k)
x = x + 1
End If
Next k
Next i
MsgBox "Data Updated"
End Sub
次の時間を作るために、エクセルVBAで多くのことを助けることができる変数であり、いくつかのコーディングを学び、あなたのコードを投稿してみてください。
私は通常、自分で仕事のいくつかをやろうとしますが、このインスタンスでは、達成しようとしていたものの近くにあるものを見つけるのに本当に苦労しました。次回はもっと頑張ります。これは美しく動作しますので、非常にありがとうございます。私は正解とマークしています。 –