Люди помогите, реально нужна помощь!!! Вообщем ситуация такая скачал с этой ТЕМЫ файл "post_220917.xls", запустил его, при этом был открыт рабочий файл где хранится вся информация, после этого появилось серое поле, для продолжения работы я закрыл рабочий файл при выходе я его сохранил, так как там была забита информация за последние три часа, открываю рабочий файл а там СЕРОЕ ПОЛЕ!!! Ребята прошу помогите как быть!!! Как восстановить файл!!!!!!!!!!!!!
За сегодня с толкнулся с такой проблемой. Нужно чтобы, когда я ввожу данные в ячейку они сразу отображались в UserForm в TextBox. И на оборот из TextBox в UserForm. У меня есть код
Код
Private Sub TextBox1_Change()
TextBox1.Text = Range("Лист1!A3").Value
End Sub
Получается когда я ввожу данные в ячейку данные вводятся в UserForm в TextBox, только тогда когда я начинаю вводить, в TextBox, А как сделать, чтобы автоматически вводились? С этим кодом все в порядке, привел в пример, чтобы можно было их совместить, Нужно чтобы работало и туда и обратно.
Код
Private Sub CommandButton1_Click()
Sheets("Лист1").[A3] = Me.TextBox1
End Sub
Здравствуйте подскажите пожалуйста, как ускорить ввод данных из формы в ячейку. Просто я когда работаю со своей формой и ввожу данные в нее, они вводятся с небольшим опазданием. Если нельзя ускорить то как сделать, чтобы сперва данные заносились в форму во все "TextBox", а по нажатию кнопки "Внести", данные из "TextBox" разносились по ячейка
Здравствуйте. Есть макрос, с помощью которого можно открывает папку, выбрать файл и создать гиперссылку
Код
Sub www()
Dim s
s = Application.GetOpenFilename("Files (*.*), *.*")
If s <> False Then
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=s, _
TextToDisplay:=s
End If
End Sub
А как можно его модернизировать, чтобы можно было выбрать несколько файлов и создать на них гиперссылки?
Здравствуйте. Помогите пожалуйста, очень срочно нужно!!! Вообщем есть файл "Книга1" она должна скопировать (ЗНАЧЕНИЯ) данные из "Книги2". Макрос у меня есть ,который копирует данные вместе с формулой а надо ЗНАЧЕНИЯ, вот он:
Код
Sub КопиВставка()
Workbooks.Open Filename:="C:\Users\Valera\Desktop\Новая папка (2)\Книга2.xlsm"
Workbooks("Книга2.xlsm").Worksheets("Инф. Заказчик").Range("A1:C16").Copy
Workbooks("Книга1.xlsm").Activate
ActiveWorkbook.Worksheets("Инф. Заказчик").Select
Range("A1").Select
ActiveSheet.Paste
Workbooks("Книга2.xlsm").Worksheets("Расчет выброса").Range("A1:C25").Copy
Workbooks("Книга1.xlsm").Activate
ActiveWorkbook.Worksheets("Расчет выброса").Select
Range("A1").Select
ActiveSheet.Paste
Workbooks("Книга2.xlsm").Close
End Sub
Но нужно, чтобы я мог выбрать нужную книгу откуда копировать, как в этом примере:
Код
Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
Optional ByVal InitialPath, _
Optional ByVal MyFilter As String = "Книги Excel (*.xls*),") As String
' функция выводит диалоговое окно выбора папки с заголовком Title,
' начиная обзор диска с папки InitialPath
' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
If Not IsMissing(InitialPath) Then
On Error Resume Next: ChDrive Left(InitialPath, 1)
ChDir InitialPath ' выбираем стартовую папку
End If
res = Application.GetOpenFilename(MyFilter, , Title, "Открыть") ' вывод диалогового окна
GetFileName = IIf(VarType(res) = vbBoolean, "", res) ' пустая строка при отказе от выбора
End Function
Sub ПримерИспользования_GetFileName()
ИмяФайла = GetFileName("Заголовок окна", ThisWorkbook.Path) ' запрашиваем имя файла
' ===================== другие варианты вызова функции =====================
' текстовые файлы, стартовая папка не указана
' ИмяФайла = GetFileName("Выберите текстовый файл", , "Текстовые файлы (*.txt),")
' файлы любого типа из папки "C:\Windows"
' ИмяФайла = GetFileName(, "C:\Windows", "")
' ==========================================================================
If ИмяФайла = "" Then Exit Sub ' выход, если пользователь отказался от выбора файла
MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub
Здравствуйте. Помогите с написанием макроса. Мне нужно так чтобы когда я встаю на ячейку (активную), запускаю макрос, который бы копировал данные из этой ячейки и вставлял эти данные в нужную мне функцию, которая вставлялась в эту же активную ячейку. Записал макрос, он в принципе работает, но только копирует одни и те же данные. Помогите подправить его.
Здравствуйте. Нашел в интернете макрос который переводит выделенное цифровое значение в текстовое предложение http://www.cyberforum.ru/vba/thread541622.html, но почему-то, когда выделяю в ячейки число, которое нужно перевести в текст выдает ошибку "Collapse Direction:=wdCollapseEnd". Там же скачал, перевести дату в текст тоже не работает, подскажите что делаю не так?
Здравствуйте подскажите пожалуйста. У меня возникла проблема с формулой, нужно сравнить две даты. Например в ячейке "A1" дата «13.03.2015», а в ячейке "C1" дата "до 27.12.2014". В примере есть две формулы но они мне не помогли, подскажите в какую сторону копать. Вот пример.
Здравствуйте. Подскажите, пожалуйста. Где-то в интернете я нашел, макрос который выравнивает высоту строк, но он выравнивает для всего листа, а что нужно подправить, чтобы он выравнивал, конкретные строки. Например, с 9 по 72 и с 147 по 183.
Здравствуйте помогите мне пожалуйста с написанием макроса. Есть книга с листами "Номер", "Инф", "Дан". На листе "Номер", когда встаешь в столбец "A" (в нем у меня находятся номера по порядку), в ячейку "A3", нужен такой макрос, который бы копировал лист "Шаблон", и переименовывал бы его на номер по порядку и т.д. в низ по таблице. Важно чтобы если номер по порядку по меняется, то и название листа менялось бы
Здравствуйте подскажите пожалуйста, с очень важным для меня вопросом. На этом сайте нашел макрос, который копирует книга2 (с подготовленной уже таблицей) и вносит туда данные с определенных ячеек книга1, закрывает книга2 и сохраняет в этой же папке под уникальным номером и наименованием профессии. Для следующего сотрудника выполнялись те же действия. Вот ссылка http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=49005&TITLE_SEO=49005&MID=406948&user_name=Danka&date_last_visit1=&date_last_visit2=&sort=NUM_POSTS&set_filter=Фильтр#message406948 Получается, что он копирует данные в книги, проблема в том, как можно создать связь между книга1 и созданными книгами,чтобы с копированные данные могли автоматически поменяться, если я вношу какие-то изменения в книга1? Заранее благодарен. Вот пример:
Здравствуйте помогите пожалуйста с формулой. Например имеется такой текст в ячейке, Товар яблоко есть в наличии на складе; количество 6шт, нужно вывести: есть в наличии на складе. Т.е нужно вывести текст после "Товар яблоко", и до знака ";".
Здравствуйте подскажите, как можно заменить цифры в ячейках на слово. Например в ячейках содержится цифры: "3,4", "2", "10", 4,3", "2,1", "11", и т.д их нужно заменить на слово "да". Подскажите пожалуйста, есть ли какие-нибудь варианты? Вот пример:
Здравствуйте помогите с макросом. Нашел у Вас на форуме такой макрос, вот ссылка на тему: Подгонка размера ячейки в зависимости от текста в ней, у меня возник вопрос, а как можно сделать, чтобы он выравнивал текст не только для объедененных ячеек, но и просто для ячейки? Вот пример:
Здравствуйте помогите пожалуйста с таким макросом. В общем я взял два макроса и совместил их. Первый макрос вот ссылка http://www.excel-vba.ru/chto-umeet-excel/prosmotret-vse-fajly-v-papke/, вот сам макрос (кстати очень удобный), он открывает все книги находящиеся в одной папке и выполняет определенные действия с книгами:
Код
Sub Get_All_File_from_Folder()
Dim sFolder As String, sFiles As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
Application.ScreenUpdating = False
sFiles = Dir(sFolder & "*.xls*")
Do While sFiles <> ""
'открываем книгу
Workbooks.Open sFolder & sFiles
'действия с файлом (ниже указываем свой макрос
Application.DisplayAlerts = False 'эта функция убирает запрос на удаление листа
Sheets(Array("Лист2", "Лист3")).Select
ActiveWindow.SelectedSheets.Delete
Sheets(Array("Лист6", "Лист7")).Select
ActiveWindow.SelectedSheets.Visible = False
Application.DisplayAlerts = True 'эта функция убирает запрос на удаление листа
'все что ниже не удаляем
ActiveWorkbook.Close True
sFiles = Dir
Loop
Application.ScreenUpdating = True
End Sub
вот второй макрос, он скрывает строки по условию:
Код
Sub СкрытиеСтрокПоУсловию()
Dim ra As Range, delra As Range, ТекстДляПоиска As String
Application.ScreenUpdating = False ' отключаем обновление экрана
ТекстДляПоиска = "Пусто" ' удаляем строки с таким текстом
' перебираем все строки в используемом диапазоне листа
For Each ra In ActiveSheet.UsedRange.Rows
' если в строке найден искомый текст
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
' добавляем строку в диапазон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
' если подходящие строки найдены - удаляем их
If Not delra Is Nothing Then delra.EntireRow.Hidden = True
End Sub
Проблема в том, что когда он начинает открывать книги и выполнять скрытие строк то первую книгу он открывает, выполняет действия, и закрывает. Но когда переходит во вторую то ругается вот на эту строку:
Код
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
Здравствуйте подскажите пожалуйста, как при помощи формулы вытащить цифры яз ячейки написанные через ALT+Enter, нужно чтобы эти цифры разнеслись по разным ячейкам. Как показано в примере.
Здравствуйте подскажите как макросом можно скопировать столбец с данными с "Лист1" столбец "A:A", из одной книги во все книги которые будут находятся в выбранной папке.
Подскажите пожалуйста, как просуммировать ячейки в которых находиться формулы. Например в столбце "A1:A4"- есть значение, столбец "B1:B4" выводит значения из столбца A1:A4", по условию, а ячейка "E2" должна просуммировать столбец "B1:B4". Когда я суммирую, то выводит "0". Вот пример:
Здравствуйте. Нужна помощь с формулой, например в ячейки "A1" есть текст: 900* и через Alt+enter в этой же ячейки 300**, нужно в ячейку "C1" вынести знак "*", а в D1 вынести знак "**". Вот пример.
Здравствуйте. У меня возникла проблема с макросом. В общем есть чистая книга "Создание листов1" (без макросов и форм), к ней подключена надстройка через которую запускается форма сочетанием клавиш (Ctrl+ф), на ней есть кнопка "Запуск", которая запускает макрос. Данный макрос создаёт папку "отчеты" а в ней файл, в который переносится листы из книги "Создание листов1". Проблема в том, что он создает папку и файл в том месте где находиться надстройка, а мне нужно чтобы он создавал папку и файл в том месте где находиться книга "Создание листов1". Помогите пожалуйста, как решить этот вопрос. Вот код:
Код
Private Sub CommandButton1_Click()
Sheets(Array("Лист1", "Лист2", "Лист3")).Select
Sheets("Лист1").Activate
On Error Resume Next
' название подпапки, в которую по-умолчанию будет предложено сохранить файл
Const REPORTS_FOLDER = "Отчет\"
' создаём папку для файла, если её ещё нет
MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' выбираем стартовую папку
ChDrive Left(ThisWorkbook.Path, 1): ChDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
If VarType(Filename) = vbBoolean Then Exit Sub
' Сохранить лист в отдельную книгу, сохранить только значения и оформление
Dim sh As Worksheet, wbNew As Workbook, cFileName
Set sh = ActiveSheet
cFileName = ThisWorkbook.Path & "\" & REPORTS_FOLDER & "Отчёт.xls"
If cFileName = False Then Exit Sub
Application.ScreenUpdating = False
' Копируем лист (при этом создается новый файл с этим листом)
Dim CurW As Window
Dim TempW As Window
Set CurW = ActiveWindow
Set TempW = ActiveWorkbook.NewWindow
CurW.SelectedSheets.Copy
TempW.Close
Set wbNew = ActiveWorkbook
' Заменяем формулы значениями
For Each iSh In wbNew.Sheets
iSh.UsedRange.Cells.Value = iSh.UsedRange.Cells.Value
Next
' Сохраняем файл
Application.DisplayAlerts = False
wbNew.SaveAs Filename:=(cFileName), FileFormat:=xlNormal
' Закрываем файл и возвращаемся в начало
wbNew.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
sh.Activate
Sheets("Лист1").Select
End Sub
Здравствуйте. Подскажите, как при помощи макроса можно переходить по ячейкам между листами. На пример,если я нахожусь на "Лист1" ячейка "A1", то по выполнению макроса он должен перейти на "Лист2" ячейка "A1", или если я нахожусь на "Лист1" ячейка "B1140", то по выполнению макроса он должен перейти на "Лист2" ячейка "B1140". Я работаю с большими таблицами и часто нужно находить данные на другом листе в тех ячейках. Если есть возможность, то скажите как?
Здравствуйте помогите пожалуйста до писать макрос. Вообщем при выделение нескольких листов, запускаем макрос он создаёт папку и в ней создаёт файл с именем первого выделенного листа, а мне нужно, чтобы выводилось определенное имя, например "сотрудник". И ещё проблемка при сохранение нескольких листов на первом листе он сохраняет только значения, а на втором сохраняются формулы, как сделать так, чтобы на втором (и последующих) сохранялись только зачения.
Доброго всем дня. Помогите пожалуйста мне с макросом. Данный макрос начина с листа "список" ячейка "A24", переносит данные из указанных ячеек в созданную им книгу, и тог далее на примере можете посмотреть. Подскажите как сделать так чтобы он делал всё тоже самое, только с выделенной ячейки и дальше не создавал файлы.
Здравствуйте не подскажите есть ли такой макрос который переводит из родительного именительный падеж.Искал в интернете нашел только как перевести родительный и дательный. Вот пример: