• 締切済み

Visual Basic2005でExcelに罫線を描く

Visual Basic 2005 でデーターをエクセルに書き込んだが、各セルに罫線枠を書けません。エクセルのマクロをコピーして使用しても認識できません。 何か基本的設定ミスがありそうです。 どなたか、アドヴァイスをお願いします。    ※ Visual Basic = 2005, Excel = 2003 使用

みんなの回答

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.2

>(1)複数個のセルを一つの枠で囲む方法(自分でも工夫します)  頑張ってください。 >(2)古いExcelファイルの「Sheet1」に、VB2005 から書き込む時 1, ブックのオープン Set xlBook = xlApp.Workbooks.Addを  Set xlBook = xlApp.Workbooks.Open "E:\work\vba086.xls" 変えればどうでしょう。 2、シートオープン Set xlSheet = xlBook.Worksheets.Addを   Set xlSheet = Excel.xlBook.Sheets( シート名 ) に変える。 3、表示 表示されていない場合入れてみてください。 xlBook.Visible = True ' 表示 4、ファイルのセーブ   xlBook.Save  5、シートを閉じる   Set xlSheet = Nothing  6、ファイルを閉じる   xlBook.Close   Set xlBook = Nothing 確認:(これ一番にやることです) 参照設定はできていますか? [プロジェクトメニュー]の[参照設定]をクリックしてください。一覧表が出てくるのでその中から、Microsoft Excel 9.0 Object Library を選んでチェックします。(Excelのバージョンによって数字の部分は変わります。)

J_Kuma
質問者

補足

※基礎知識もなく、必要部分だけを文献から応用使用しているので  ご迷惑を、おかけしています。  罫線の部分は使いこなせそうです。これで書類の体裁を整える事が出 来ました。  エクセル書類の書き換えで、ファイルを[Open]は下記で開けるのです が、書き込み段階でエラーが発生します。 ------------------------------------------------------------ Ret = OpenFileDialog1.ShowDialog() If Ret = Windows.Forms.DialogResult.OK Then End If Shell = CreateObject("Shell.Application") Shell.shellexecute(OpenFileDialog1.FileName, ,Application.StartupPath, "open", 1)  (ここでファイルは開きます) xlApp = GetObject(, "Excel.Application") ------------------------------------------------------------ ここで「"WorkBook"」型は「"Application"」に見つかりません。   となります     Set xlBook, set Sheet が出来ていないと思います。 1.ブックオープンの "E:\work\vba086.xls" は Path を示して     いるのでしょうか。小生のPCでは ?     この部分でご指示内容のテストは出来ませんでした。   ※恐縮ですが、再度のご教示をお願いします。

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.1

参考まで。 「CreateObject("Excel.Application")」はソースに入っていますか?   Dim xlApp  As Excel.Application   Dim xlBook  As Excel.Workbook   Dim xlSheet As Excel.Worksheet   Set xlApp = CreateObject("Excel.Application")   Set xlBook = xlApp.Workbooks.Add   Set xlSheet = xlBook.Worksheets.Add '表に罫線を引く 指定範囲に格子の罫線を引く xlSheet.Range("A1:F6").Borders.LineStyle = xlContinuous  '実線 '表の外枠を太線に xlSheet.Range("A1:F6").Borders(xlEdgeTop).LineStyle = xlGray75 xlSheet.Range("A1:F6").Borders(xlEdgeLeft).LineStyle = xlGray75 xlSheet.Range("A1:F6").Borders(xlEdgeRight).LineStyle = xlGray75 xlSheet.Range("A6:F6").Borders(xlEdgeBottom).LineStyle = xlGray75 '項目欄を二重線で区切る xlSheet.Range("A1:F1").Borders(xlEdgeBottom).LineStyle = xlDouble xlSheet.Range("B1:B6").Borders(xlEdgeLeft).LineStyle = xlDouble

J_Kuma
質問者

補足

早速のご回答有難う御座いました。 即、TESTの結果はOKでしたが、あと2点だけ再質問させて下さい。  (1)複数個のセルを一つの枠で囲む方法(自分でも工夫します)  (2)古いExcelファイルの「Sheet1」に、VB2005 から書き込む時     CreateObject("****") 以下のセッテングが巧くできません。

関連するQ&A

  • エクセルで罫線を引くとデーターを消すマクロ

    あまり、マクロに詳しくなくて どうしても分からないので質問します。 1 エクセルのA1のセルにデーターを入れると   A30迄自動的にA1のデーターをコピー 2 A5の下側に罫線を付けると、A6から A30まで、コピーしたデーターを消す (A5に入れる罫線は、ランダムで、A3の時もあれば、 A20の時もあります) 3 A6に違うデーターを入れると 1と同じくA36までコピーする 4 2と同じくA10の下側に罫線を付けると、 A11からA36までデーターを消す 以上のような作業でデーターを コピー、ペーストで繰り返しているのですが、 罫線を引くことを基準に、マクロで出来ないかと 思い質問します。 よろしくお願いします。  

  • エクセルで、罫線まで一緒にコピーされてしまうのですが

    エクセルのセル内にある文字や数値のデータをコピーして他のセルに貼り付けする際、セルの書式設定で設定してある罫線まで一緒にコピーして貼り付けされてしまい、コピーした後、コピー先のセルの罫線の設定を元に戻すという面倒な作業をしています。 セル内の文字や数値などのデータだけコピーして他のセルに貼り付ける方法とか設定とかあるんでしょうか?

  • エクセル グループ化 罫線

    こんばんは。 すみませんが、困っているので教えて下さい! エクセルでデータをグループ化すると、罫線がおかしくなってしまいます。 セルが結合された部分の枠の罫線が出てきません。グループ化を解除すると罫線はちゃんとひかれているのですが・・・ どの様にすれば、罫線を表示させれるのでしょうか?

  • Excelの罫線

    Excelでセルの中心に罫線を引く方法はないでしょうか(枠にそって罫線を引くのはできるのですが)

  • EXCELの罫線が表示されない

    EXCEL2007にて作成したデータ存在時の条件付き書式では、 最終行のセルの下罫線が表示されるのですが、同じシート をEXCEL2010にて起動すると、同下罫線が表示されません。 また、EXCEL2013でも結果は同じです。 EXCEL2010以降、連続するセルに対する罫線の考え方が変 わったのでしょうか?EXCEL2007と同様に表示できる方法 をご存知の方、ご教授のほど宜しくお願い致します。

  • エクセルの罫線が消えません!

    エクセルで罫線があるので消そうと思い セルの書式設定の罫線を見ましたが、そこには罫線は引かれていませんでした。 一度、違う太さの罫線を引いてみたのですが反映されず。 セルの中の文字を消すと線も一緒に消えるのですが、記入するとまた出てきます。 他の空白セルをコピーし、貼り付けて文字を書くとうまくいくのですが、原因をみつけれず困っています。 どなたか分かる方がいらっしゃいましたらご回答宜しくお願い致します。

  • EXCELでの網かけと罫線

    Excel2003を使用しています。 セル、または行・列を網かけする時にその部分で右クリックして、書式設定から網かけをしました。 そして網かけをはずすと、枠の罫線が消えてしまっています。 それで罫線を元に戻そうとしても、太い線や微妙に違う線しかなく、元のグレーの線に戻りません。 網かけをして、なおかつ罫線はそのままというやり方はないんでしょうか? よろしくお願い致します。

  • 罫線の消去

    Excel2002です。 ある表データで格子状に罫線が引いて あります。 その一部のセルに斜め罫線が入っていますが、 その斜め罫線だけを消去したいのです。 ツールバーの罫線ボタンで「罫線の削除」を 利用しても メニューバーの書式より「セルの書式設定」より 「なし」で操作しても、そのセルの枠罫線まで 消えてしまいます。 対処の仕方をお教えください。

  • Excel 2013 で簡易罫線選択メニュー?

    添付図は Excel 2002 の[ツールバー]上の一つ[罫線]をクリックして現れた罫線メニューを示しています。詳細な設定は、Excel 2013 と同様に[セルの書式設定]から行なえるのですが、私はツールバーのもので殆どの場合事足りていました。 Excel 2013 でも Excel 2002 と同様に数種類の罫線を出せる設定方法があれば、その手順を教えてください。

  • Excelマクロで罫線をひきたい。

    Access2000からエクスポートした結果のExcel2000のワークシートに、線をひきたいんです。 一番最初のセルはa1と決まっているけど、一番最後のセルは毎回変わってしまうのですが、 このセルを取得するためにはどんなマクロボタンを作成すればいいでしょうか? ただ本来の希望としては、マクロボタンひとつで、並べ替え>セルの変更>罫線、としたいのですけれど。 「セルの変更」というのは、エクスポートしたデータで「ランク」という項目があり、 これに「特・A・B」という項目があります。 Access上はひとつのフィールドにまとまっているのですが、Excel上では、それぞれ「特・A・B」という列を作成し、データがあったら、「○」を入れるというようにしたいのです。 (列が増えることになります。) また「備考1・備考2」がAccess上にあり、これは別フィールドとなっていますが、 今度はExcel上で「備考」としてひとつの列にしたいのです。 (列の減少) 別シートを作成してもかまいません。 このようなことはできるのでしょうか? せめて罫線だけでもひければ、と思います。 よろしくお願いします。