現在のブックの一部の列を追加するマクロを作成しようとしています。私はVbaを秀でるために新しいのですが、私はここで質問する前にインターネットで回答を見つけようとしました。事前のおかげで現在のブックにマクロがある場合、別のブックを使用します。
マイコード:私はいくつかのソリューションを試みたが、それはこの達するまで、私のコードだけで実行
Sub Mono_recurso()
'
' Mono_recurso Macro
'
lin_ori = 2
lin_dest = 2
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet
Set wkb = Excel.Workbooks("C:\Users\Feels Bad Man\Desktop\exemplo.xlsm")
Set wks = wkb.Worksheets("Tabela de síntese")
Do While Sheets("Mono").Cells(lin_ori, 1) <> ""
Sheets("Mono recurso").Cells(lin_dest, 1) = Sheets("Mono").Cells(lin_ori, 1)
Sheets("Mono recurso").Cells(lin_dest, 2) = Sheets("Mono").Cells(lin_ori, 2)
lin_ori = lin_ori + 1
lin_dest = lin_dest + 1
Loop
lin_ori = 3
lin_dest = 2
Do While Sheets("Mono recurso").Cells(lin_dest, 1) <> ""
Do While wkb.wks.Cells(lin_ori, 2) ' <> ""))
If Sheets("Mono recurso").Cells(lin_dest, 1) = wkb.wks.Cells(lin_ori, 2) Then
Sheets("Mono recurso").Cells(lin_dest, 3) = wkb.wks.Cells(lin_ori, 6)
Sheets("Mono recurso").Cells(lin_dest, 4) = wkb.wks.Cells(lin_ori, 7)
Sheets("Mono recurso").Cells(lin_dest, 5) = wkb.wks.Cells(lin_ori, 8)
Sheets("Mono recurso").Cells(lin_dest, 6) = wkb.wks.Cells(lin_ori, 15)
Sheets("Mono recurso").Cells(lin_dest, 7) = wkb.wks.Cells(lin_ori, 16)
lin_ori = lin_ori + 1
Else
lin_ori = lin_ori + 1
End If
Loop
lin_dest = lin_dest + 1
Loop
'
End Sub
:
Set wkb = Excel.Workbooks("C:\Users\Feels Bad Man\Desktop\exemplo.xlsm")
この行は、 'Set wkb = Excel.Workbooks(" exampleso.xlsm ")'と言うべきです。 Excelは2つのブックを同じファイル名で開くことを許可しないため、あなたが参照しているブックが 'C:\ Users \ Feels Bad Man \ Desktop'から開いたブックであることがわかります。 – YowE3K
申し訳ありませんが、私はそれを試みましたが、それは同じ行で停止します...両方のブックを使用することは可能ですか?私は、私が働いているものとサイクルを実行するためにロードしたいものを意味しています。だから私は1つにExcelファイルの両方をマージする必要はありません –
質問には常にエラー番号と正確なメッセージを提供してください。 – Excelosaurus