セルの結合


みなこ  2002-09-03 08:26:29  No: 104793

すみません。VB6でExcelを操作するプログラムを作成しているのですが。
わからないところがあるので教えていただきたいのです。

左から右へセルを一つずつ参照していくのですが。
もしその一つ前のセルの一つ下のセルが空白の場合はそのその二つのセルを結合させたいのですが。。

 1000 1001 1002 1003 1004 1005
 1111      4444 5555      6666

ます、1001のセルを参照した場合、その前の一つ下のセル「1111」を参照して空白では
ないので、次のセル「1002」を参照したとき、その前の一つ下のセルは空白なので
「1001」のセルとその下のセルを結合したいのですが。

よろしくお願いします。


さわ  2002-09-06 03:02:06  No: 104794

一つ前のセルを見るロジックは意味解らないけど?
様は移動列上段の列の下のセルがブランクなら上下結合って事なら
こんな感じでどうですか?
Dim oSheet       As Worksheet  'ExcelSheet
    Dim lCol         As Long
    Const clStartCol As Long = 1
    Const clEndCol   As Long = 255
    Const cMoveRow   As Long = 1
    Const cChkRow    As Long = 2
    'CreateExcel(Appl,Book,Sheet)etc略
    'カラム移動
    For lCol = cStartCol To cEndCol
        'シート参照
        With oSheet
            'カレント列二行目のブランク?
            If .Cells(cMoveRow, _
                    lCol).Value = vbNullString Then
                '範囲(行1:カレント列と行2:カレント列).結合
                .Range(.Cells(cMoveRow, lCol), .Cells(cChkRow, lCol)).Merge
            End If
        End With
    Next


さわ  2002-09-06 03:12:02  No: 104795

↓訂正
Dim oSheet       As Object'ExcelSheet
↓cMoveRowをcChkRow
If .Cells(cMoveRow, _
                    lCol).Value = vbNullString Then
でした。。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加