回答編集履歴
2
コードの間違いを修正
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
```vba
|
14
14
|
ExcelWorksheet.Range(CellAddress_).CurrentRegion.Select
|
15
|
-
ExcelApp.Selection.Offset(OffsetNumber_, 0).Resize(Selection.Rows.Count - ResizeNumber_).Select
|
15
|
+
ExcelApp.Selection.Offset(OffsetNumber_, 0).Resize(ExcelApp.Selection.Rows.Count - ResizeNumber_).Select
|
16
16
|
```
|
17
17
|
|
18
18
|
ただし、Select や Selection を使わなくても同様の処理ができます。そのほうがトラブルやバグが発生しにくいので推奨します。
|
@@ -21,6 +21,6 @@
|
|
21
21
|
```vba
|
22
22
|
Dim ExcelRange As Object
|
23
23
|
Set ExcelRange = ExcelWorksheet.Range(CellAddress_).CurrentRegion
|
24
|
-
Set ExcelRange = ExcelRange.Offset(OffsetNumber_, 0).Resize(
|
24
|
+
Set ExcelRange = ExcelRange.Offset(OffsetNumber_, 0).Resize(ExcelRange.Rows.Count - ResizeNumber_)
|
25
25
|
```
|
26
26
|
としておいて`ExcelRange`に対してご希望の処理をおこなえばいいでしょう。
|
1
書式の改善
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
> ・Excel VBAでセル範囲から空白行を除き、セル範囲を二次元配列として取得する際は
|
2
|
-
SelectionやCurrentRegionを使っていたが、Access VBAでは使えなさそうなので、Access VBAの場合はどのような手段があるのかを知りたい
|
2
|
+
> SelectionやCurrentRegionを使っていたが、Access VBAでは使えなさそうなので、Access VBAの場合はどのような手段があるのかを知りたい
|
3
3
|
|
4
4
|
Access VBAからでも Selection, CurrentRegion は普通に使えます。
|
5
5
|
ただし、Excelでは親オブジェクトを省略できますが、Accessではきっちり指定する必要があります。
|