[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/03/25(Sun) 03:54
投稿者名:ちび
Eメール:
URL :
タイトル:
どうしてでしょう?
    いつも、参考にさせていただいております。
  プログラムをはじめたばかりでどうしたらよいいのかわかりません。
  直す方法を教えてください、よろしくお願いいたします。
  
  excelを操作してタイトルになる項目の結合して・線と色を付けたいのですが、
  下記のselect文に入るとアプリケーションエラー・オブジェクト定義エラーとでて、
  デバックが中断されてしまいます。 

  
  Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim xlCells As Excel.Range
    ・
    ・
  この間にexcelは起動し、項目の表示することはできたのですが・・・・
    ・
  intTitle = 38
        
        For i = 1 To intTitle
            Select Case i
                Case 1 To 10
                    xlCells(Cells(1, i), Cells(2, i)).MergeCells = True
                    xlCells(Cells(1, i), Cells(2, i)).Interior.Color = QBColor(34)
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeTop).LineStyle = xlGray75
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeLeft).LineStyle = xlGray75
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeRight).LineStyle = xlGray75
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeBottom).LineStyle = xlDouble
                Case Else
                    xlCells(Cells(1, i), Cells(2, i)).Interior.Color = QBColor(34)
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeTop).LineStyle = xlGray75
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeLeft).LineStyle = xlGray75
                    xlCells(Cells(1, i), Cells(2, i)).Borders(xlEdgeRight).LineStyle = xlGray75
                    xlCells(1, i).Borders(xlEdgeBottom).LineStyle = xlGray75
                    xlCells(2, i).Borders(xlEdgeBottom).LineStyle = xlDouble
            End Select
        Next i

投稿時間:2007/03/25(Sun) 10:45
投稿者名:Blue
Eメール:
URL :
タイトル:
Re: どうしてでしょう?
>Cells
はExcelのオブジェクトですよね?
(VBで普通にCellsなんて使えない)

Cellsはシートのオブジェクトなので、

xlSheet.Cells

としないとダメです。
それと、何度も同じようなコードを書くのであればWithを使ってみては。
つまり

With xlSheet.Range(xlSheet.Cells(1, i), xlSheet.Cells(2, i))
    .MergeCells = True
    .Interior.Color = QBColor(34)
    .Borders(xlEdgeTop).LineStyle = xlGray75
    .Borders(xlEdgeLeft).LineStyle = xlGray75
    .Borders(xlEdgeRight).LineStyle = xlGray75
    .Borders(xlEdgeBottom).LineStyle = xlDouble
End With


>どうしてでしょう?
もう少しまともなタイトルをつけれませんか?
普通はタイトルを見ただけで、内容の概要がわかるようなものにします。

>デバックが中断されてしまいます。
デバッグでは?
さらに中断するって意味不明です。

デバッグはプログラマがバグを取るためにする行為であって、
VBが勝手にやるものではないです。
デバッグモードになってしまい中断してしまうと言ったほうが良いでしょう。

投稿時間:2007/03/25(Sun) 16:47
投稿者名:ちび
Eメール:
URL :
タイトル:
Re^2: どうしてでしょう?
教えていただいて、ありがとうございました。
早速、試してみたいと思います。
また、投稿していたらぜひ教えてください。
よろしくお願いします。

投稿時間:2007/03/25(Sun) 17:24
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: どうしてでしょう?
> 早速、試してみたいと思います。

簡単な事だから、試してから、返事した方がいいのでは?
むしろ、原因は他にあるような。

QBColor(34)  これって何色ですか?  その他にも色々ありそうな?

投稿時間:2007/03/25(Sun) 17:49
投稿者名:ちび
Eメール:
URL :
タイトル:
Re^4: どうしてでしょう?
その後もたくさん問題はありました・・・試してからしまったとも思いましたが、教えていただいた
内容と過去ログ等を参考になんとか形することが出来ました。
はじめてプログラムをつくっているので動いてとてもうれしかったです。
お気にかけていただいてありがとうございました。