• ベストアンサー

VB2005 → EXCELのセルに貼り付け

いつもお世話になってます。 私はVB入門者です。 取得した値をセルに転載する処理を行っております。 値をセルに貼り付けるのは下記の方法で出来たのですが Dim oExcel As Object Dim oBook As Object Dim oSheet As Object oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.open("C:\hoge.xls") oSheet = oBook.Worksheets(1) oSheet.Range("A2") = hoge_name oSheet.Range("A2") = hoge1_name  ←これをA2のhoge_nameの下段に入れたいのです。 oBook.SaveAs("C:\hoge.xls") oSheet = Nothing oBook = Nothing oExcel.Quit() oExcel = Nothing GC.Collect() 2つの変数をエクセルのひとつのセルに改行して貼り付ける方法を教えて下さい。 又、上書き保存の際に確認のメッセージは不要なのに表示されてしまいます。 どのように書き換えたら良いのでしょうか。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

>ちなみに配列を2段で入れたい場合は下記のどこを修正すればよいのでしょうか。 ・セルに対して順番に配列を連結させて代入する。 ・事前に別の配列を準備し、その配列に連結したものを代入し、  セル範囲に代入する。 位しか思いつかず、一気に出来るのかどうかは勉強不足です。

npupu
質問者

お礼

アドバイスを元に構成しなおし、うまくいきました! For n = 0 To hoge_id.Length - 1 ReDim Preserve hoge_name1(hoge.Length - 1, 0),hoge_name2(hoge_id.Length - 1, 0) hoge_name1(cont, 0) = "配列1:" & hoge_name1 hoge_name1(cont, 0) = hoge_name(cont, 0) & vbLf & "配列2:" & hoge_name2(cont,0) cont += 1 Next oSheet.Range("A2").Resize(hoge_id.Length, 1) = hoge_name1 ちょっとぎこちないですが、出力はバッチリでした。 どうもありがとうございました

その他の回答 (2)

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

&演算子の使い方間違っていませんか?? 文字の連結は、 "AAAA"(スペース)&(スペース)"bbbb" のように、スペースを入れないといけないですよ。

npupu
質問者

お礼

お察しの通りです。。。もっと勉強します。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

oSheet.Range("A2") = hoge_name & vbLf & hoge1_name oBook.Close(True) かな?

npupu
質問者

お礼

すみません私がとんちんかんなことをしてました。 うまくいきました(汗) ちなみに配列を2段で入れたい場合は下記のどこを修正すればよいのでしょうか。 2段にしなければ配列が入ったので、スムーズにいくかと思っていたのですが。。。 どうぞよろしくお願いします。 --------配列-------- hogehoge_name {AA,AB,AC} hogehoge1_name {00,11,22} ------------------- 希望するセル表示(A2) 配列1:AA 配列2:00 セル表示(A3) 配列1:AB 配列2:11 セル表示(A4) 配列1:AC 配列2:22 ------------------- Dim oExcel As Object Dim oBook As Object Dim oSheet As Object oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.open("C:\hoge.xls") oSheet = oBook.Worksheets(1) oSheet.Range("A2") = "配列1:" + hogehoge_name & vbLf & "配列2:" + hogehoge1_name oBook.SaveAs("C:\hoge.xls") oBook.Close(True) oSheet = Nothing oBook = Nothing oExcel.Quit() oExcel = Nothing GC.Collect()

npupu
質問者

補足

うまくいかないです。 演算子 & は型singleの1次元配列、及びstringに対して定義されていません。と表示されてしまいました。 型を変えてもダメでした。

関連するQ&A

専門家に質問してみよう