投稿日 | : 2004/01/06(Tue) 14:58 |
投稿者 | : kaminari |
Eメール | : |
URL | : |
タイトル | : Re^2: VBからのExcel操作法について |
花ちゃんさん、ご回答ありがとうございます。
> > Excel上にオートシェイプのテキストボックス(@)を配置してあり、VBで
> > コマンドボタンを押したときに@に値を書き込みたいのですが、
> > マクロを作成して、ソースを見てみたのですが、理解できませんでした。
> マクロを見ましたが、特に複雑なところが無いようですが、こちらも何か条件が
> あるのでしょうか? 条件があるなら質問時に記入しておくべきかと!
既存のExcelファイルを開き、編集して別名で保存しようとしております。
初心者で大変申し訳ないですが、コードを示させていだだきます。
●の部分で「オブジェクト変数またはWithブロック変数が定義されていません」とエラーが出てしまいます。
-----------------------------
Private Sub Command1_Click()
Dim objExcelApp As Workbook
Dim strExcelFile As String
Dim strExcelSheet As String
Dim xlApp As Excel.Application
strExcelFile = "D:\test.xls"
strExcelSheet = "sheet1"
Set objExcelApp = GetObject(strExcelFile, "Excel.Sheet")
Set xlApp = CreateObject("Excel.Application")
objExcelApp.ActiveSheet.Shapes("Text Box 1").Select
●xlApp.ActiveSheet.Selection.Characters.Text = "12345"
objExcelApp.SaveAs "d:\test---.xls"
objExcelApp.Application.Quit
Set objExcelApp = Nothing
Set xlApp = Nothing
End Sub
-----------------------------
Dim i As Long, n As Long
For i = 1 To 10
n = n + 1
xlSheet.Cells(1, i).Value = "TEST"
If xlSheet.Cells(1, i).Value = "TEST" Then
xlSheet.Cells(1, i).Value = Chr(n + 64)
Else
n = n - 1
End If
Next i
i をX方向に変えて、試させて頂きました。
セルを結合していない場合は綺麗に代入されるのですが、
(1, 1)と(2,1)を結合、(3,1)と(4,1)・(5,1)と(6,1)のように二つずつ結合したときに実行すると
結合されたセルにはA,B,C,D,Eまでしか代入されませんでした。
もう少し試して見たいと思います。
説明下手にもかかわらず、ご協力いただきまして、ありがとうございました。