В своем ответе на мой комментарий вы заявляете: «Имя файла, я никогда не думал об этом. Может быть, пока что».Исходя из горького опыта, я могу вам сказать, что работа с тысячами файлов с системными именами - это кошмар.Вам нужно исправить проблему с именем.
Я также нервничаю по поводу AddrToCopy = Split(Rng.Address, ",")
.Rng.Address
будет иметь вид: "$ C $ 1: $ I $ 16, $ K $ 1: $ Q $ 16, $ S $ 1: $ Y $ 16, $ C18 $ I $ 33, $ K $ 18: $ Q $ 33, $ S$ 18: $ Y $ 33, ... ".Если вы будете искать в Интернете, вы найдете сайты, которые сообщают вам, что максимальная длина Rng.Address
составляет 253 символа.Я не верю, что это правильно.По моему опыту, Rng.Address
усекается на полном поддиапазоне.Я экспериментировал с Excel 2003, но я обнаружил, что в Интернете заметили, что это ограничение было исправлено в более поздних версиях Excel.Вы очень проверяете Rng.Address
с вашей версией Excel!Я не знаком с Джерри Бокером, хотя он предлагает интересное решение.Сид Роут всегда производит отличный код.Если есть проблема, я уверен, что они смогут ее исправить.
Однако реальная цель этого «ответа» состоит в том, чтобы сказать, что я бы разделил эту проблему на три.У этого есть много преимуществ и никаких недостатков, о которых я знаю.
Шаг 1. Создайте новый рабочий лист TableSpec
со следующими столбцами:
A Worksheet name. (If tables are spread over more than worksheet)
B Range. For example: C1:I16, K1:Q16
C - I Headings from table. For example, AAPL, Open, High, Low, Close, Volume, AdjClose
Шаг 2. Проверкарабочий лист TableSpec
;например, перечислены ли все таблицы?Подумайте об имени файла и добавьте столбец H, чтобы он содержался.Я прочитал один из ваших комментариев, чтобы обозначить, что вы указали бы «AAPL» в качестве имени файла для первой таблицы, и в этом случае вы можете установить H2 на «= C2»."AAPL" уникален?Вы могли бы иметь порядковый номер.Существует множество вариантов, о которых вы можете подумать, прежде чем создавать какие-либо файлы.
Шаг 3. Рабочий лист TableSpec
теперь предоставляет всю информацию, необходимую для создания ваших файлов.Вы можете удалить большую часть содержимого и протестировать код создания файла в нескольких строках.
Я надеюсь, что вы сможете увидеть преимущества этого пошагового подхода, в частности, если у вас слабый VBA.Удачи.