2016-05-09 9 views
1

Excelのスプレッドシートを開き、その列の最後の空の行を取得するコードがあります。私が抱えている問題は、Excel表計算シートに2つの表が作成されていることです。私はB7の範囲を選択できるようにしたい:列BのB94を私はBで始まる別のテーブルを表すデータ持っているように:ここでは101 これまでに私のコードですが...特定の範囲の列から最後の行を取得する方法

Const xlUp = -4162 

Set xlApp = CreateObject("Excel.Application") 
With xlApp 
    .Visible = False 
    Set xlWB = .Workbooks.Open("M:\Shared Documents\Job Cost Analysis\Hi-Tech BPO\Logs\" & currentMonth & "-Summary Hi Tech BPO.xlsx", , False) 
    Set ws = .Worksheets(sheetName) 

Dim LR 
'''''''''''Here is where I want to select the range of B7:B94'''''''''''''' 
LR = .Range("B" & .Rows.count).End(xlUp).Row 
.Range("B" & LR + 1).Value = RIGHT(client_id,LEN(client_id)-7) 

End With 

xlApp.DisplayAlerts = False 
xlWB.SaveAs ("M:\Shared Documents\Job Cost Analysis\Hi-Tech BPO\Logs\" & currentMonth & "-Summary Hi Tech BPO.xlsx") 
xlWB.Close 
xlApp.Quit 
+0

これらの実際のListObject(別名*構造化*)テーブルまたは単なるデータブロックですか? – Jeeped

+0

と 'LR = .Range(" B101 ")。End(xlUp).Row'は動作しません。 –

答えて

1

、真ListObject(別名structured)テーブルについて

LR = .Range("B100").End(xlUp).Row 

LR = .Range("B100").End(xlUp).End(xlUp).Row 

後者は、テーブルが「フル」ではないと仮定します。 LRが7でないことを確認するためのチェックを行う必要があります。

+0

ありがとう@Jeepedは私にとって素晴らしい仕事でした – SikRikDaRula

1

方法について

データの構造化されていないブロックについて
.Range("B7").End(xlDown).Offset(1,0).Row 
関連する問題