質問するログイン新規登録

回答編集履歴

2

コードの間違いを修正

2023/11/21 03:28

投稿

hatena19
hatena19

スコア34367

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(Selection.Rows.Count - ResizeNumber_)
24
+ Set ExcelRange = ExcelRange.Offset(OffsetNumber_, 0).Resize(ExcelRange.Rows.Count - ResizeNumber_)
25
25
  ```
26
26
  としておいて`ExcelRange`に対してご希望の処理をおこなえばいいでしょう。

1

書式の改善

2023/11/21 03:22

投稿

hatena19
hatena19

スコア34367

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ではきっちり指定する必要があります。