我有一個輸入框,要求用戶選擇一個單元格,并將其存盤為一個范圍。然后,此范圍將被轉換為地址(字串),因此 !worksheet 也不會被保存。
For 回圈將在作業表中回圈,但是,我需要參考起始單元格(范圍)來運行宏 - 問題是,我不能再參考起始單元格,因為它現在是字串,而不是范圍。
我需要在 For 回圈內將地址(字串)重新轉換回一個范圍。
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
celladdress = myCell.Address()
NoSheets = Sheets.Count
For x = 2 To NoSheets
'covert address back to range
'Identify blend data
NumRows = Range(myCell, myCell.Offset(1, 0).End(xlDown)).Rows.Count
NumColumns = Range(myCell, myCell.Offset(0, 1).End(xlToRight)).Columns.Count
Set StartRange = Range(myCell, myCell.Offset(NumRows - 1, NumColumns - 1))
StartRange.Copy
uj5u.com熱心網友回復:
您需要Worksheet該回圈內的物件參考:
For x = 2 To NoSheets
Dim currentSheet As Worksheet
Set currentSheet = thatWorkbook.Worksheets(x)
...
Next
獲得作業表后,您仍然可以使用在上myCell獲取 a ,而無需處理單元格地址字串:RangecurrentSheet
Set currentCell = currentSheet.Cells(myCell.Row, myCell.Column)
Range避免對and的不合格呼叫Cells;他們隱含地指的是ActiveSheet,這通常意味著只適用于Worksheet.Activate呼叫的代碼(您通常希望避免必須完全使用Selectand Activate)。
uj5u.com熱心網友回復:
myCell.address(,,,true) 為您提供范圍的完整外部地址。
myCell.Parent.Name 為您提供作業表的名稱
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/481504.html
