|
▼夜勤担当 さん:
>再質問です!
> 有効なデータであるならば、並べ替えの対象データとして取り扱いしますが、
>双でない場合は、対象外データとして処理するには、どうやってコードを修正
>しますか?
>例、
>有効データ:あ、い、う、え、お
Sub Try1() を修正するなら、If文を追加して
こんなかな?
Sub Try2()
Dim 行見出し As Range
Dim 列見出し As Range
Dim 元データ As Range
Dim 結果()
Dim data
Dim dataCount As Long
Dim i As Long, j As Long, k As Long
With Worksheets("元データ")
Set 行見出し = .Range("A3", .Range("A65536").End(xlUp)).Resize(, 2)
Set 列見出し = .Range("C1", .Range("IV1").End(xlToLeft))
Set 元データ = 行見出し.Offset(, 2).Resize(, 列見出し.Count)
dataCount = WorksheetFunction.CountA(元データ)
ReDim 結果(dataCount, 1 To 4)
結果(0, 1) = "CD"
結果(0, 2) = "NAME"
結果(0, 3) = "PD"
結果(0, 4) = "MB"
With 元データ
For i = 1 To 行見出し.Rows.Count
For j = 1 To 列見出し.Count
data = .Item(i, j).Value
If Not IsEmpty(data) Then
If data Like "*[あいうえお]*" Then '★追加
k = k + 1
結果(k, 1) = 行見出し(i, 1).Value
結果(k, 2) = 行見出し(i, 2).Value
結果(k, 3) = 列見出し(1, j).Value
結果(k, 4) = data
End If '★追加
End If
Next
Next
End With
End With
With Worksheets("結果")
.UsedRange.ClearContents
.Range("A1").Resize(k + 1, 4).Value = 結果
End With
End Sub
> If data Like "*[あいうえお]*" Then '★追加
は
If data Like "[あいうえお]" Then '★追加
のほうがよかったかもしれません。
|
|