dポイントプレゼントキャンペーン実施中!

はじめまして。

[環境]
Windows2000
VB6.0
Excel2000

[主な参照設定]
Microsoft Excel 9.0 Object Library
Microsoft Activex Data Object 2.1 Library
Microsoft Office 10.0 Object Library
Microsoft Access 9.0 Object Library
Microsoft ADO Ext. 2.8 for DDL and Security

[処理ルーチン]
Access2000からデータを取得→固定FormatのExcelを起動→Excelにデータを書出し

[質問]
・VB6.0からExcelにデータを書き出しているのですが、セル(書式設定の動作)について質問させて下さい。
単一のセルに対して、データの書出しは問題ないのですが、結合されているセル(B20:G20)に対して文字を挿入しようとするとうまく反映できませんでした。
で、「セルの書式設定→配置→セルの結合を解除」文字を挿入「セルの書式設定→配置→セルを再度結合」って処理を考えていたのですが、うまく動作しません。

もっと簡単な解決方法があるのでしょうか?
※よろしければ簡単なソースで例て教えて頂けないでしょうか?

A 回答 (2件)

・Range("B20:G20").Cells(1,1).Value = Var



・Range("B20:G20")(1).Value = Var

結合セルの場合は、一番最初のセル、この例の場合はB20セルに対して代入を
行います。Range オブジェクトの Cells プロパティーを使います。

Range("B20:G20").Cells(1,2) なら C20 セルの Range オブジェクトが参照
されます。

Rangeオブジェクト.Cells([RowIndex],[ColumnIndex]).Value = Var
    • good
    • 0
この回答へのお礼

丁寧な説明でわかりやすかったです。
ありがとう御座いました。

お礼日時:2006/06/06 13:19

結合セルの座標は「左上のセル位置」を指定します。


B20:G20 なら B20 になります。

Range("B20") = "A"

または、結合セルに対応したプロパティを使用する。
Range("C20").MergeArea = "B"
    • good
    • 0
この回答へのお礼

無事解決致しました。

というか私がDDEを使用して値の代入を行っていた為に
起こった不具合だと自己解決致しました。
お騒がせしてすみません。
[旧ソース]
intChan1 = DDEInitiate("Excel", "System") ' リンクを設定します。
Shell "" & EXCEL_PATH & " " & EXCEL_NAME & "", 1
  If Err Then Exit Sub
intChan1 = DDEInitiate("Excel", "System")
'End If
strTopics = DDERequest(intChan1, "Selection")
strSheetName = Left(strTopics, InStr(1, strTopics, "!") - 1)
DDETerminate intChan1
intChan1 = DDEInitiate("Excel", strSheetName)
DDEPoke intChan1, "R20C2", "" & strMoj(10) & ""
DDETerminateAll
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
[新ソース]
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\DDE\data.xls")
Set xlSheet = xlBook.Worksheets(1)

xlApp.Visible = True 'Excelを表示
xlSheet.Cells(20, 2).Value = "test"

xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

お礼日時:2006/06/06 13:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!