ないアイデアのいずれかを使用しますが、.....
- が
Microsoft Visual Basic For Applications Extensibility 5.3.
- にVBEの参照を追加へのプログラムによるアクセスを有効にすることができますVBAプロジェクト
Excel 2010では、Developer
タブを選択し、Macro Security
ボタンをクリックします。
マクロ設定の下でVBAプロジェクトオブジェクトモデルへの信頼アクセス。
これに似たコードを使用します。
Sub AddProcedureToModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
Dim x As Long
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Sheet1")
Set CodeMod = VBComp.CodeModule
x = 1
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "Public Sub MyProcedureName()"
LineNum = LineNum + 1
Do While Sheet1.Cells(x, 1) <> ""
.InsertLines LineNum, " " & Sheet1.Cells(x, 1)
x = x + 1
LineNum = LineNum + 1
Loop
.InsertLines LineNum, "End Sub"
End With
End Sub
これはVBEにシート1のA列にあるものは何でもコピーします。
http://www.cpearson.com/excel/vbe.aspx
編集:あなたの質問を再読み込みした後 は、このコードは、Sheet1のモジュール内のコードの下にコメントとしてU6に値を追加します。
Sub AddCommentModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Sheet1")
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "'" & Sheet1.Range("U6")
End With
End Sub
注 - 中これらのインスタンスはシート1はシートのコードネームであり、必ずしもシートタブに表示される名前ではありません。これを使用するには、Sheet1
の代わりにを使用します。
編集2(私は家に帰って午後5時30分を待っていると):あなたは、細胞U6に入力するたび
はSheet1のモジュールにこのコードを追加してコメントを自動的に更新します:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$U$6" Then
AddCommentModule
End If
End Sub
これらはそれぞれ、良い結果を得るための2つの可能な方法を提供するために時間を割いていただきありがとうございます。ただし、これらの2つの方法のそれぞれは、あるワークシートのデータを別のワークシートに貼り付けるのに対し、ワークシートから別のワークシートのExcelオブジェクトまたはコード名にデータをコピーして貼り付けることを目標としています。 VBAコードを入力します)。ありがとうございました。 – Majora