Ваши Range
объекты не определены в этом утверждении:
strName = Range("A10").Text & " " & Range("C7").Text & ws.Name
Таким образом, они ссылаются на эти ячейки на активном листе, а не на листе ws
.
Есливы хотите сослаться на эти ячейки на каждом рабочем листе, который вы просматриваете, а затем квалифицировать их соответствующим образом:
strName = ws.Range("A10").Text & " " & ws.Range("C7").Text
Возможно, вы захотите проверить, что strName не равно NULL, прежде чем пытаться сохранить PDF.
Я бы также рекомендовал потерять строку On Error Resume Next
и правильно обрабатывать ошибки.