В своем ответе на мой комментарий Вы заявляете: «Имя файла, я никогда не думал об этом Может быть что-нибудь сейчас..» Из горького опыта я могу сказать вам, что иметь дело с тысячами файлов с системными именами - это кошмар. Теперь вам нужно исправить проблему с именем.
Я также нервничаю относительно 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! Я не знаком с Джерри Бокаером, хотя он предлагает интересное решение. Sid Rout всегда производит отличный код. Если есть проблема, я уверен, что они смогут это исправить.
Однако настоящая цель этого «ответа» состоит в том, чтобы сказать, что я разделил бы эту проблему на три. У этого есть много преимуществ и никаких недостатков, о которых я знаю.
Шаг 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 слаб. Удачи.
Вы хотите сказать, что вы хотите, чтобы каждая «таблица» была сохранена в собственном файле или все в одном файле? – lnafziger
Да, я хочу, чтобы каждая таблица была сохранена в собственном файле. Извините, я не был в этом разбираться. – ViV
Когда вы говорите «свой собственный файл», вы имеете в виду в отдельной электронной таблице Excel или хотите сохранить данные в другом формате (например, CSV)? – assylias