• ベストアンサー

VBAでエクセルのデータ更新 セルを合併したところへ

お世話になります VBA(ACCESSの)でエクセルに更新したいのですが 普通のセルには、うまくいくのですが 合併したセルに対して更新できません この場合何か方法がありますか、 何か手がかりだけでも、アドバイスいただけたら と、思います ちなみに、codingは 一行目のRow Columで、行列を指定して"data"と いうデータを更新するところ xls.Application.Goto "r" & x & "c" & y xls.Application.Activecell.Value = "data"

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 Access のデータをExcelに、オートメーションオブジェクトか何かで、データを貼り付けるのでしょうか?全体がどうなっているのか、さっぱり見当が付きません。 Goto でセルを選択した後は、どうするのでしょうか?データは? xls.Application.Goto Sheet1.Range("A1") としてもよいけれども、オブジェクトの処理でしたら必要ないのではありませんか? >xls.Application.Activecell.Value = "data" それに、これでは分らないです。 単に、オートメーション・オブジェクトのExcel.Application を、例えば、xlAppの変数に入れたら、後は、ブックを開けて、以下のようにしたら進んでいくはずです。 With xlApp.myBook1.Sheet1   For i = 1 To 100    If .Cells(i, 1).MergeCells Then     '結合セル処理    Else    '通常のセルの処理    End If   Next  End With

ppmi
質問者

お礼

わかりました 方法がいろいろあるんですね

その他の回答 (1)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、多分 データは更新されていると思います R1C1とR1C2のセルを結合させて、 以下を実行すると 結合された。セルに20が表示されます。 Public Sub gg() Dim r As Integer Dim c As Integer '代入1 r = 1 c = 1 Sheet1.Application.Goto "r" & r & "c" & c ActiveCell.Value = 10 '代入2 r = 1 c = 2 Sheet1.Application.Goto "r" & r & "c" & c ActiveCell.Value = 20 End Sub 結合するとR1C1とR1C2は、 同じセルになるみたいです。 つまり、結合されたセルに、10が入った後、 20が入って、結局、結合されたセルは 20になるみたいです。 ちなみに、代入1文だけで、実行すると 結合セルは10の値になります。

ppmi
質問者

お礼

わかりましたありがとうございました