前提・実現したいこと
CSVをExcelに取り込み、男女の人数と割合を出したいと考えています。
人数を出すところまではできたのですが、割合を求めるところで手も足も出なくなりました・・・。
図では5人しかいませんが、10人だったり、1人だったりと増減があります。
人数と同じように、割合も「Formula =男性の人数/総人数」と数式を入力し、
表示は「60%」とするようにしたいのです。
お詳しい方がいらっしゃいましたら宜しくお願い致します。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Sub test()
Dim fname As Variant
Dim wb As Workbook
Dim sh As Worksheet
Dim r As Long
Dim rng As Range
fname = Application.GetOpenFilename("CSVファイル(.csv),.csv", MultiSelect:=False)
If VarType(fname) = vbBoolean Then Exit Sub
Application.ScreenUpdating = False
With Worksheets("Sheet1")
Set wb = Workbooks.Open(fname)
Set sh = wb.Worksheets(1)
For r = 1 To sh.Cells(Rows.Count, 1).End(xlUp).Row
.Cells(r + 1, 1).Resize(, 2).Value = sh.Cells(r, 6).Resize(, 2).Value
.Cells(r + 1, 3).Resize(, 1).Value = sh.Cells(r, 30).Resize(, 1).Value
Next r
wb.Close
With .Cells(r + 2, 2).Resize(4, 1)
.HorizontalAlignment = xlCenter
.Cells(1, 1).Value = "男"
.Cells(2, 1).Value = "%"
.Cells(3, 1).Value = "女"
.Cells(4, 1).Value = "%"
.Offset(, 1).Resize(, 1).Formula = "=COUNTIF(C$3:C$" & r & ",$B" & r + 2 & ")"
End With
End With
Application.ScreenUpdating = True
MsgBox "取込が完了しました"
End Sub
説明](e5ba176666202863d9ee7a174b097b45.png)
図は実際にCSVを取り込んだ後のものですが、C列はなぜこんなに配置がバラバラになってしまうのでしょうか・・・。
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/27 01:22
2021/01/27 01:46