回答編集履歴

2

修正

2023/07/02 02:27

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  おそらくですが、各行の先頭列からスキャンしていって、途中で空欄のセルがあったらすぐ次の行に移ってしまう点を以て「取得できません」と表現されているのではないでしょうか。
2
2
  であれば、下記のように、空欄のセルがあってもそのセルだけ飛ばして隣の列に移るようにすればよいと思います。
3
3
  ```vba
4
- Sub CreateXMLElements(ws As Worksheet, ByRef xmlDoc As Object, ByRef parentElement As Object)
4
+ Sub CreateXMLElements(ws As Worksheet, xmlDoc As Object, parentElement As Object)
5
5
  Dim lastRow As Long
6
6
  lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
7
7
 

1

修正

2023/07/02 02:21

投稿

退会済みユーザー
test CHANGED
@@ -29,7 +29,7 @@
29
29
 
30
30
  Dim currentColumn As Range
31
31
 
32
- For Each currentColumn In ws.Range(startColumn & rowIndex & ":" & endColumn & rowIndex).Columns 'columnIndex = 1 To endColumn - startColumn + 1
32
+ For Each currentColumn In ws.Range(startColumn & rowIndex & ":" & endColumn & rowIndex).Columns
33
33
  If Not IsEmpty(currentColumn) Then
34
34
  elementName = ws.Cells(rowIndex, "P").Value
35
35
  elementValue = currentColumn.Value