Вопросы с тегами [excel]

1

голосов
1

ответ
37

Просмотры

Как исправить чч: мм

У меня есть файл Excel, импортируемый из конкретной информационной системы. Я работал с его автоматизации через VBA код. Однако я столкнулся с проблемой при работе с чч: мм клеток. Я не могу подвести их, я пытался отформатировать их чч: мм, я также пытался отформатировать выходную ячейку как [HH]: ММ, ни один из них не похоже на работу. Я предполагаю, что проблема с тем, как клетки отформатированы, они находятся в Times New Roman и кажутся немного прочь. Мне нужен код VBA, чтобы выбрать определенный диапазон и скопировать древне значение и вставьте их снова, но с нормальным по умолчанию форматирования Excel.
Yassine Lachgar
1

голосов
2

ответ
78

Просмотры

Формы (рабочий лист) против управления (UserForm)

Я пытаюсь вызвать рабочий лист помещен ярлык, но я хотел бы динамически называть его, предоставляя строку имени. Я пробовал много предложений, это один дал мне большую надежду: Могу ли я ссылаться на объект, используя строку? Я успешно достичь желаемого эффекта в прошлом, но эти приложения были UserForm основе. Это одна не имеет UserForms так, видимо, я не могу использовать Userform.Controls? Предлагается использовать Shape вместо этого, однако всякий раз, когда я хочу, чтобы изменить заголовок формы, он говорит, что он не имеет это свойство. Я пытался «объединение» этикетки и формы в странных отношениях, но я, конечно, всегда есть несоответствие. Я просто буду использовать пример из связанного ответа Dim shpLabel Как Shape Set shpLabel = Sheet1.Shapes ( «labelnum» и я) shpLabel.Caption = «некоторая строка» Видимо, это работает для некоторых людей (возможно, более старые версии?), Но для меня он всегда возвращается, что свойство отсутствует. Я надеюсь, что я не должен делать что-то вроде этого: Использование строки в качестве имени объекта Основной причины, почему я хочу сделать это таким образом, скорость и размер. Файл уже очень медленно, и я обеспокоен тем, что рекурсивный код как это только собирается сделать это хуже.
JohnT
1

голосов
2

ответ
44

Просмотры

python efficient way to append all worksheets in multiple excel into pandas dataframe

У меня есть около 20 ++ файлов XLSX, внутри каждого XLSX файлы могут содержать разное количество рабочих листов. Но, слава богу, все столбцы являются некоторыми во всех рабочих листах и ​​всех XLSX файлов. Ссылаясь на здесь «, я получил некоторое представление я пытался несколько способов импортировать и присоединять все первенствует файлы (все рабочего листа) в единый dataframe (около 4 миллиона строк записей). Примечание: я сделал чек здесь», как хорошо, но это только включить на уровне файлов, мой consits файл и вплоть до уровня рабочего листа. Я попытался ниже код # импорта всех необходимых пакета импорта панд, как э.р. из pathlib импорта Путь импорта Глоб импорт SYS # набора истока source_dataset_path = "C: / Users / AAA / Desktop / Sample_dataset /" source_dataset_list = glob.iglob (source_dataset_path + " сделки купли-продажи * ") для файла в source_dataset_list: #xls = э.р.. ExcelFile (source_dataset_list [I]) sys.stdout.write (ул (файл)) sys.stdout.flush () XLS = pd.ExcelFile (файл) out_df = pd.DataFrame () ## создать пустой выходной dataframe для листа в XLS .sheet_names: sys.stdout.write (ул (лист)) sys.stdout.flush () ## # Просмотр первенствовать имена файлов листов #df = pd.read_excel (source_dataset_list [я], название_листа = листов) DF = э.р.. read_excel (файл, SheetName = лист) out_df = out_df.append (ДФ) ## Это будет добавлять строки одного dataframe к другому (так же, как ожидаемому выход) Вопрос: Мой подход подобно первому прочитать каждый первенствовать архив и получить список листов внутри него, а затем загрузите листы и добавлять все листы. Перекручивание кажется не очень эффективным EXPECIALLY когда DataSize увеличения для каждого добавления.
yc.koong
1

голосов
3

ответ
15.9k

Просмотры

Как изменить расширение файла в VBA

Я чувствую, как это должно быть простым, но я не могу найти ответ. Я спасаю кучу CSV файлов с помощью VBA и хотел бы изменить все расширения файлов с расширением .csv в .txt импортировать в другую программу (Revit), которая распознает только расширение .txt. Это возможно? Вот команда, я использую. Для I = 1 WS_Count пути = Curdir () + "\" + ActiveWorkbook.Worksheets (I) .name Sheets (ActiveWorkbook.Worksheets (I) .Name) .Select ActiveWorkbook.SaveAs Имя файла: = путь, FileFormat: = xlCSV, CreateBackup: = False Имя пути As ( "путь" + ".txt") Next I Спасибо!
user1707675
1

голосов
2

ответ
21

Просмотры

Диапазон не меняется несколько ячеек

.. Sub ButtonLower () Range ( "b2", "b7") Значение = Range ( "b2", "b7") Значение - 2 End Sub Sub ButtonHigher () Range ( "b2", "b7") Значение =. Range ( "b2", "b7"). Value + 2 End Sub Конечный результат в том, что значение изменяется только B2, а не весь ассортимент. Может кто-то помочь мне с этим?
sleighter
1

голосов
1

ответ
33

Просмотры

Можно ли вычислить эту сумму серии в Excel?

Мне нужно рассчитать значение этого уравнения для любого заданного м и (а> 1, т> 1). Есть ли формула в Excel, что может сделать это? PS Я попытался SERIESSUM, но не повезло, или я делаю что-то неправильно, или это не подходит для случая, как это.
Sergey Karpushin
1

голосов
2

ответ
91

Просмотры

What's a shorter way of writing this code?

I have made this excel VBA code through a macro recording and would like to know a shorter way of writing it with some sort of input loop maybe? The sheet has two inputs which vary with respect to time, these are found in cells (B5:Y5) and (B8:Y8). The code picks up the first input (B5) and pastes it into its appropriate cell (J16). It then copies the other input (B8) and pastes it into its appropriate cell (N12). The sheet calculates two outputs and the code copies these from cells (H41) and (K41) into a "RESULTS" table at the bottom. It repeats this for the next column of cells in the "INPUTS" section and keeps going until the end of the inputs. I understand this is a very crude way of doing this and would greatly appreciate any help. Keep in mind I am a complete coding noob :) Sub CopyVariables() ' ' CopyVariables Macro ' ' Range("J16").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[-11]C[-8]" Range("N12").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[-4]C[-12]" Range("H41").Select Selection.Copy Range("E47").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("K41").Select Application.CutCopyMode = False Selection.Copy Range("E48").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("J16").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[-11]C[-7]" Range("N12").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[-4]C[-11]" Range("H41").Select Selection.Copy Range("F47").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("K41").Select Application.CutCopyMode = False Selection.Copy Range("F48").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False .... and keeps repeating for each cell individually.
Sid
1

голосов
3

ответ
48

Просмотры

В пакете SSIS Экспорт Как переименовать назначения первенствует файл с отметкой времени, прикрепленной к ней?

В пакете SSIS Экспорт Как переименовать назначения первенствует файл с отметкой времени, прикрепленной к ней? У меня есть Excel как мой файл назначения. Как переименовать файл назначения с отметкой времени, прикрепленный к его суффиксу? такие как myfile_010120191100.xls Создание динамического имени файла поможет нам избежать перезаписи.
goofyui
1

голосов
2

ответ
32

Просмотры

Используйте переменную в Objectname для С заявлением

У меня есть макрос первенствовать который считывает содержимое из конкретного столбца в другом листе. Я хочу использовать переменную в имени листа в С утверждением, но получаю сообщение об ошибке «Ошибка во время выполнения, объект требуется» в Для каждой строки я уже искал, как использовать переменные в именах объектов и пытался, но ни к чему помогло. Этот код работает с Blad2 strData = Range (ид и "1") и vbLf & vbLf Для каждого С в .Range (ID & "2:" & ID & "10") Если c.Value "" Тогда strData = strData & "-" & c.Value & vbLf End If Next End Ĉ С помощью этого кода не удается. Я знаю наверняка, переменная зд имеет числовое значение, испытано, что с MsgBox с ( "Блад" & BLD) strData = Range (ид и "1") и vbLf &
Jeroen Swets
1

голосов
3

ответ
67

Просмотры

Is the a quicker way to determine the largest string length in an array?

Это сегмент кода, который был беспокоит меня, так как я уверен, некоторые простые функции существуют, что будет делать цикл через массив значений избыточным. Вместо этого я использовал массив, цикл и логический, чтобы сказать мне ли клетки пустые (или проверить их длину) и заявление, если запустить последнюю часть кода. Я думал, что, возможно, Макс будет работать, но я считаю, что это только для целых чисел. (См Debug.Print часть дим arrArchLoc как вариант Тусклое boolArchLoc As Boolean Dim rowCounter As Long boolArchLocEmpty = False arrArchLoc = ActiveSheet.Range (Клетки (2, colArchiveLocation), Клетки (lastRow, colArchiveLocation)) Для rowCounter = LBound (arrArchLoc) К UBound (arrArchLoc) Если клетки (rowCounter, colArchiveLocation) "" Тогда boolArchLocEmpty = True Next rowCounter «Debug.Print workshetfunction. Макс (arrArchLoc) Если boolArchLocEmpty = True Then ActiveSheet.Cells (1, colArchiveLocation) .value = "Arch Loc" Столбцы (colArchiveLocation) .ColumnWidth = 6 Конец Если ли такая функция или простой способ существует? EDIT: В то время, что SpecialCells решение (xlCellTypeBlanks) выглядит довольно хорошо, я бы до сих пор скорее получить решение длины строки. Мои извинения, код изначально было что-то вроде ... Если LEN (Cells (rowCounter, colArchiveLocation))> 6, то ... но я с тех пор удалить его после того, чтобы получить что-то в месте, которое будет работать. Есть ли что-то я мог бы сделать с LEN (MAX)? Я экспериментировал с ним, но не очень далеко. Несмотря на то, что SpecialCells (xlCellTypeBlanks) решение выглядит довольно хорошо, я бы до сих пор скорее получить решение длины строки. Мои извинения, код изначально было что-то вроде ... Если LEN (Cells (rowCounter, colArchiveLocation))> 6, то ... но я с тех пор удалить его после того, чтобы получить что-то в месте, которое будет работать. Есть ли что-то я мог бы сделать с LEN (MAX)? Я экспериментировал с ним, но не очень далеко. Несмотря на то, что SpecialCells (xlCellTypeBlanks) решение смотрится очень хорошо, я бы еще скорее получить решение длины строки. Мои извинения, код изначально было что-то вроде ... Если LEN (Cells (rowCounter, colArchiveLocation))> 6, то ... но я с тех пор удалить его после того, чтобы получить что-то в месте, которое будет работать. Есть ли что-то я мог бы сделать с LEN (MAX)? Я экспериментировал с ним, но не очень далеко.
HotSauceCoconuts
1

голосов
2

ответ
63

Просмотры

Excel VBA CMD в список содержимого каталога

Как я могу изменить этот Excel VBA для: Перечислите пути каталогов, а не только файлы? Фильтр из системы и скрытые файлы? Вот это ток VBA: Sub MM () Dim fResults как вариант fResults = GetFiles ( "C: \ Temp") Range ( "A1") Изменение размера (UBOUND (fResults) + 1, 1) .Value = _ WorksheetFunction.. транспонировать (fResults) End Sub // UDF для заполнения массива с файлами, присвоить переменной Variant. Функция GetFiles (parentFolder As String) Как вариант GetFiles = Фильтр (Split (CreateObject ( "WScript.Shell"). Exec ( "CMD / C DIR """ & parentFolder & _ IIF (Right (parentFolder, 1) = "\" , vbNullString, "\") & "*. *" "/ S / B /A:-D").StdOut.ReadAll, vbCrLf),". ") End Function
BadDogTitan
1

голосов
1

ответ
72

Просмотры

Delphi - Передача ALT в Excel коды клавиш

Delphi RIO - У меня есть Excel плагин написан на Delphi. Я хотел написать программу, которая преобразует клетки, которые имеют содержание многоканального для содержания одной линии, в основном заменяя разрыв строки с пробелами. Я делаю это, заменив «ALT 0010» для космических символов. Под этим я подразумеваю, что я удерживать клавишу ALT вниз, а затем нажмите 0010 на цифровой клавиатуре. Это будет делать то, что я хочу. Теперь мне нужно запрограммировать эту функциональность. Я не могу найти правильный способ представления ALT 0010. Если бы я был заменить «!» с пространством в целом таблицу, я мог бы сделать это с помощью следующего кода. вар WholeSheet: ExcelRange; начать ... WholeSheet: = myActiveSheet.Cells; WholeSheet.Replace ( '', xlPart, xlByRows, False, False '!'); Когда я пытался смотреть на это с помощью захвата макроса Excel, я действительно путают ...
user1009073
1

голосов
1

ответ
26

Просмотры

Excel SUMIF ищет буквы в порядке

У меня есть этот набор данных AB 1 A768BC10 2300 2 AB7697C787 2030 3 AC879B87 1760 4 AB56779 1490 Теперь я хочу, чтобы получить сумму значений, где А перед В и С после BI было интересно, если есть способ сделать это я попытался с помощью RIGHT (), но LEN (), я использовал, чтобы получить строки длины были проблемы, давая таким образом = SUMIF (B1: B7, - (ПРАВЫЙ (RIGHT (A1: A7, - LEN (A1: A7) -IFERROR (FIND ( "A", A1: A7), 0)), LEN (ПРАВЫЙ (А1: А7, LEN (А1: А7) -IFERROR (FIND ( "А", А1: А7), 99))) - IFERROR (FIND ( "B", Right (A1: A7, LEN (A1: A7) -IFERROR (FIND ( "A", A1: A7), 99))), 99)) = "* С")) Так что я Гадаю возможно ли это?
Faz
1

голосов
2

ответ
4k

Просмотры

Как изменить RefersTo для именованного диапазона?

У меня есть класс ValidationChanger с методом changeNamedRangeAddress, который должен изменить адрес RefersTo для именованного диапазона. Тем не менее, мой код неожиданно оберточной новый адрес в двойных кавычках. Определение класса для ValidationChanger здесь: «ValidationChanger Sub changeNamedRangeAddress (Б.К. В учебном пособии, rangeName As String, newAddress As String) bk.Names (rangeName) .RefersTo = newAddress End Sub Я проверить его на диапазон имени TestRange, который ссылается на адрес в лист Инструкции: Инструкции $ A $ 133: $ A $ 138. Мой тест должен изменить адрес в инструкции $ A $ 133: $ A $ 139 со следующим: Sub testValidationChanger () Dim ВХ As New ValidationChanger Dim Б.К. As Workbook Набор Ьк = Workbooks ( "test.xlsm") Debug.Print bk.Names ( "TestRange"). RefersTo vc.changeNamedRangeAddress Б.К., "TestRange", "
sigil
1

голосов
0

ответ
587

Просмотры

Convert xlsx file into binary data

Я работаю над созданием XLSX файл и я почти сделан потому, что я успешно создан файл, но следующий я хочу сделать, это добавить созданный в данный момент файла в таблицу базы данных и моя колонка требует данных BYTEA поэтому мне нужно преобразовать файл в двоичных данных , Что я пытался в последней строке, но его дает мне AttributeError ошибки: объект «» Рабочая тетрадь не имеет атрибута «читать». Ниже приведен код из моей функции, которые я использую / имя_файла = учебное пособие «испытательную» = xlsxwriter.Workbook (имя_файла) полужирный = workbook.add_format ({ «полужирный»: Правда}) # Добавьте смелый формат использовать для выделения клеток. row_count = 2 для клиента в клиентах:. customer_orders = self.env [ 'amgl.order_line'] Поиск ([( 'customer_id', '=', customer.id)]) COLUMN_COUNT = 0 для customer_order в customer_orders: ) COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'amark_customer_code') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'Descripion') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'transaction_number') row_count + = 1 workbook.close () данные = 0 base64.encode (учебное пособие, данные) Обновление Я попытался сделать нижеследующие и его сделать мой encoded.But теперь я столкнуться вопрос, что всякий раз, когда я послал эту запись в качестве вложения. Файл показывает мне двоичный не фактический текст. Вот что я пытался. byte_data = 0 с открытым (имя_файла, "RB"), как xlfile: byte_data = xlfile.read () Я добавил эти строки после workbook.close () amark_customer_code ') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'Descripion') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'transaction_number') row_count + 1 = workbook.close () данные = 0 base64.encode (учебное пособие, данные) Обновление Я попытался сделать нижеследующие и его сделать мой encoded.But теперь я столкнуться вопрос, что всякий раз, когда я послал эту запись в качестве вложения. Файл показывает мне двоичный не фактический текст. Вот что я пытался. byte_data = 0 с открытым (имя_файла, "RB"), как xlfile: byte_data = xlfile.read () Я добавил эти строки после workbook.close () amark_customer_code ') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'Descripion') COLUMN_COUNT + 1 = worksheet.write (row_count, COLUMN_COUNT, 'transaction_number') row_count + 1 = workbook.close () данные = 0 base64.encode (учебное пособие, данные) Обновление Я попытался сделать нижеследующие и его сделать мой encoded.But теперь я столкнуться вопрос, что всякий раз, когда я послал эту запись в качестве вложения. Файл показывает мне двоичный не фактический текст. Вот что я пытался. byte_data = 0 с открытым (имя_файла, "RB"), как xlfile: byte_data = xlfile.read () Я добавил эти строки после workbook.close () написать (row_count, COLUMN_COUNT, «transaction_number») row_count + = 1 workbook.close () данные = 0 base64.encode (учебное пособие, данные) Обновление Я попытался сделать следующее и его делает мой encoded.But теперь я столкнуться вопрос, что всякий раз, когда я послал эту запись в качестве вложения. Файл показывает мне двоичный не фактический текст. Вот что я пытался. byte_data = 0 с открытым (имя_файла, "RB"), как xlfile: byte_data = xlfile.read () Я добавил эти строки после workbook.close () написать (row_count, COLUMN_COUNT, «transaction_number») row_count + = 1 workbook.close () данные = 0 base64.encode (учебное пособие, данные) Обновление Я попытался сделать следующее и его делает мой encoded.But теперь я столкнуться вопрос, что всякий раз, когда я послал эту запись в качестве вложения. Файл показывает мне двоичный не фактический текст. Вот что я пытался. byte_data = 0 с открытым (имя_файла, "RB"), как xlfile: byte_data = xlfile.read () Я добавил эти строки после workbook.close ()
Ahsan Attari
1

голосов
0

ответ
618

Просмотры

Написать панды Dataframe Для существующих Tab в Excel

У меня есть книги под названием «Pivot Template.xlsx». У меня есть данные из запроса в dataframe панды под названием «Результаты». Мне нужно поместить эти данные на вкладке под названием «Сводные данные». Я использую этот код для записи в файл, но проблема заключается в том, что удаляет все существующие вкладки при записи файла. Автор = pandas.ExcelWriter ( 'Pivot Template.xlsx', двигатель = 'xlsxwriter') results.to_excel (писатель, название_листа = 'Сводные данные', индекс = False, кодировка = 'utf8') writer.save () Я хотел бы чтобы получить эту работу только с пандами или openpyxl. В качестве одного из другого улова, у меня есть несколько других вкладок, которые имеют сводные таблицы, основанные от этой вкладки, и я хотел бы их работать после этой записи.
Eric Shreve
1

голосов
0

ответ
60

Просмотры

Облицовочные ошибку с IndexError: задание списка из диапазона

Я не знаю, как использовать Python, как я никогда не узнал об этом раньше. Поэтому я требую некоторой помощи от сообщества, если это возможно. Я пытался закодировать из программы, которая закругляется через каждую клетку в указанном столбце и разметить его для того, чтобы хранить в массиве. До сих пор, массив не работает, когда я использовал для цикла, чтобы проверить, что если слово зарегистрирован в стоп-слов, он добавляет только последнее предложение с кодом first_list.append (I) со следующими код импорта xlrd из nltk.tokenize импорта sent_tokenize, word_tokenize из nltk.corpus импорта книги = игнорируемых слов xlrd.open_workbook ( "C: /Users/L31101/Documents/Data/Copy_1.xlsx") лист = book.sheet_by_index (8) stop_words = комплект (stopwords.words ( "английский")) randomnumber = 0 к = 0 first_list = [] = NUM_COLS лист. проверка stop_words для контура не работает. Пожалуйста, помогите мне. Спасибо, Andric
Andric Png
1

голосов
0

ответ
326

Просмотры

Проблема с отправкой левой кнопкой мыши

У меня есть ряд кликов и движений курсора у меня есть в макросе. Все отлично работает до конца. Все клики работают до последнего клика. Я пытался поставить различные количества Спит между щелчками и до щелчка. Что странно, что, когда я нажимаю на реальные, это работает! ааа Что же нечетное, если я нажимаю ввести это работает BUTTTT! SendKeys "{ENTER}" не нажмет кнопку Это мой код: Public DECLARE PtrSafe Функция SetCursorPos Lib "user32" (ByVal х As Long, ByVal Y As Long) Как LongPtr Public Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal ой As Long, ByVal ау As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) «Объявляет событие мыши Public Const MOUSEEVENTF_LEFTDOWN = & H2 Public Const MOUSEEVENTF_LEFTUP = &
Justin Captain Wypij
1

голосов
3

ответ
541

Просмотры

Excel VBA ByVal Target As Range Does not update Target Worksheet when excuting from a function cell

У меня возникли проблемы с копированием значения из ячейки, которая использует функцию, чтобы получить его значение из другой ячейки. Вставить значение в A1, A3 = A1 и когда-либо значение A3 изменяет изменения должны автоматически передавать в колонке H. Проблемы, я имею что если я введите значение в A1, то A3 обновляется, но значения не передаются через , если я введите значение в A3, то столбец Н делает обновление. Private Sub Worksheet_Change (ByVal Target As Range) Если Target.Address = Range ( "A3"). Адрес Then 'Получить последнюю строку на нашем целевом листе (с использованием Лист2, Col А вот) ... Тусклый intLastRow As Long intLastRow = Лист1 .Cells (Sheet2.Rows.Count, "H"). End (xlUp) .Row 'Добавить наше значение в следующей строке ... Sheet1.Cells (intLastRow + 1, "H") = Target. Значение End If End Sub Смотрите изображение Я также попытался следующий код. Private Sub Worksheet_Change (ByVal Target As Range) Private Sub Worksheet_SelectionChange (ByVal Target As Range) Private Sub Worksheet_Change (ByVal Target As Range) Ни один из вышеперечисленных не кажется, чтобы вызвать события изменения. Пожалуйста, я не могу использовать значение A1 для изменения Value он пришел от изменения значения A3. Я даже думал о запуске копирования и вставки макроса Trigger A3. Но действительно как код изменения значения для работы я могу получить значение изменений для работы с A3. Заранее спасибо. Пожалуйста, я не могу использовать значение A1 для изменения Value он пришел от изменения значения A3. Я даже думал о запуске копирования и вставки макроса Trigger A3. Но действительно как код изменения значения для работы я могу получить значение изменений для работы с A3. Заранее спасибо. Пожалуйста, я не могу использовать значение A1 для изменения Value он пришел от изменения значения A3. Я даже думал о запуске копирования и вставки макроса Trigger A3. Но действительно как код изменения значения для работы я могу получить значение изменений для работы с A3. Заранее спасибо.
Kenneth O'Donnell
1

голосов
0

ответ
54

Просмотры

Сочетание Vba фильтров

Кто-нибудь знает, как объединить эти две строки, так что, когда я запускаю строки кода, которые содержат апельсины не появляются. На данный момент, только первый фильтр работает. Так я получаю все яблоки, а второй фильтр не делает. Заранее спасибо! ActiveSheet.Range ( "B4", Range ( "BT4") End (xlDown).) Автофильтр поле:. = 24, факторам1: = "Яблоки" ActiveSheet.Range ( "B4", Range ( "BT4") End (. . xlDown)) Автофильтр поле: = 20, факторам1: = «Апельсины», оператор: = xlAnd Edit: решение - то, что мне нужно сделать, чтобы поставить «*» вокруг апельсинов, потому что я хотел, чтобы отфильтровать все, что содержало слово «Апельсины». С ActiveSheet .AutoFilterMode = False .Range ( "B4", Range ( "BT4"). End (xlDown)). Автофильтр .Range ( "B4", Range ( "BT4").
Gandalfrandalf
1

голосов
0

ответ
58

Просмотры

Поиск и сортировка диапазонов в Excel с помощью кнопок рычажных

У меня есть электронная таблица, содержащую ± 100 названных диапазонов (5 строк, 15 colums), которые отсортированы по времени. Мой план состоял в том, чтобы сделать кнопки переключения, чтобы скрыть или отобразить именованные диапазоны, если они содержат определенное значение. Поэтому, когда я выбираю кнопку-переключатель для «Opel», например, отображаются все именованные диапазоны, содержащие «Opel». И когда я выбираю «Opel» и «Форд. Все диапазоны, содержащие «Opel» и «Форд» отображаются в то же время возможность сортировать диапазоны в этом представлении. Для сортировки я использую следующий код: Sub SorterenOpdrachten () Dim деталь, как Worksheet Dim I As Long Dim ListRng Как Range Dim LijstWks As Worksheet Dim NamedRng как имя Dim R As Long Dim Rng As Range Dim SortWks как рабочий лист «Рабочий лист declareren ALS variabele Набор деталь = Рабочие ( "деталь") Set LijstWks = Рабочие (» Opdrachten Naar деталь kopiëren R = 1 Worksheets ( "SortWks") Диапазон... ( "A1: T499") Копирование Worksheets ( "деталь") Range ( "A5: T504") Next End Sub intCounter Это работает отлично. Но когда я использую его в сочетании с кнопками коленчатых он работает слишком медленно. Для кнопок коленчатых я использую следующий код: Sub Tegels () Dim нм Как имя для каждого нм Application.Names Диапазон (нм) .EntireRow.Hidden = True Next нм Если TglOpel Тогда для каждого нм Application.Names Если Application. СЧЕТЕСЛИ (диапазон (нм), "*" и "Opel" и "*") Тогда диапазон (нм) .EntireRow.Hidden = False Next нм End If Если TglChevrolet Тогда для каждого нм Application.Names Если Application.CountIf (диапазон (нм), "*" и "Шевроле" и "*") Тогда диапазон (нм) .EntireRow.
Tommy
1

голосов
0

ответ
22

Просмотры

Excel Столбцы таблицы ошибочно добавлены после того, как я удалить столбец и обновить таблицу

У меня есть таблица, которая заполняется запросом DAX и связь с моделью данных моей рабочей книги. Я добавил дополнительный вычисляемый столбец в моей таблице, и когда я обновить данные все обновления в порядке. Коллекторы выглядеть примерно так: CAT1 это вычисляемый столбец. Я больше не нужно Cat1. Когда я удалить его и обновить свою таблицу новый столбец автоматически создается, что это просто повторение колонны крайнего слева, как показано здесь: я пытался избежать проблемы путем удаления столбца в таблице, удалите столбец, не удаляя весь первенствовать столбец рабочего листа, перемещая колонки Я пытаюсь удалить справа от таблицы, то регулировочного диапазона таблицы, так что не включает в себя колонку, и озираясь в таблице первенствовать и внешних свойств, но не имели удачи. Любые идеи о том, что»
JMorr
1

голосов
2

ответ
2.7k

Просмотры

Экспорт таблицы, чтобы преуспеть в AngularJS

У меня есть таблица с большим количеством страниц результатов (14 колонок), которые хотели бы экспортировать в Excel, что легче всего добиться того, чтобы на AngularJS т.е. экспортировать все результаты не только на одной странице? Спасибо за помощь и ответы :)
phpguy
1

голосов
1

ответ
822

Просмотры

Получить адрес измененной ячейки

Я пытаюсь вызвать макрос (в зависимости от адреса ячейки) всякий раз, когда какой-либо DDE связаны значение ячейки изменяется. Я попытался Workbook.SetLinkOnData и Worksheet_Calculate события (с фиктивной формулой, чтобы вызвать событие), но проблема в том, что ни один из них не возвращает адрес обновленной ячейки. Так есть ли способ, чтобы получить адрес обновленной ячейки, чтобы использовать его с моим макро? Это мой макрос Public Sub UpdateCell (ByVal strTargetAddress As String) «Некоторый код End Sub Спасибо и заранее.
user3286479
1

голосов
0

ответ
68

Просмотры

Как пропустить конкретный текст ячейки в Excel VBA

Когда я запускаю ниже код, как я могу пропустить определенную текстовую ячейку от слияния. Оригинал S.No. данные Часы Номер 01 02 03 04 05 06 1 099566 WP р ППС 2 282420 PPPWPP 3 623738 PPWLPP 4 406290 PPWPPP 5 792585 PPPPP ш 6 097608 РРРР ш P после того, как код, выполняемый S.No. Часы Номер 01 02 03 04 05 06 1 099566 WP р ППС 2 282420 PPPWPP 3 623738 Р пл пл пл ПП 4 ПП 406290 кл Clp ПП 5 792585 PPPPP ш 6 097608 РРРР ж PI потребность ш текста ячейки является постоянной или пропуском при выполнении коды ,
1

голосов
0

ответ
39

Просмотры

Открытие файла TIFF из Excel приводит к потере клеток редактирования функциональности

У меня есть таблица, с разными людьми с использованием копий на различных ПК. Существует макрос запускается Worksheet_Selection_Change, который открывает файл изображения. На двух из ПК, при открытии рабочей книги, пользователь не может изменить ячейку без двойного щелчка на нем. Кроме того, событие Selection_Change не запускается, если дважды не нажата. В опции «Разрешить редактирование непосредственно в клетках» проверяется. На моем компьютере, это работает отлично, это означает, что я могу редактировать клетки. Мы испробовали все обходные пути, предлагаемые здесь: https://social.technet.microsoft.com/Forums/ie/en-US/b3f38d61-698a-4117-84a7-e73e3e209c25/excel-2013-unable-to-type-in- ? клетки форум = officeitpro и здесь: https://www.mrexcel.com/forum/excel-questions/345218-cannot-enter-text-cell-unless-double-click.html Некоторые из этих работ, пока изображение было открыт, Затем он вернулся не позволяет редактировать, и нам пришлось перезагрузить книгу. Это может быть что-то в макросе причиняло это произошло, за исключением того, я тогда стерт весь код, сделал гиперссылка на изображение (все макрос сделал открытые изображения), и будет происходить подобное поведение. Вы можете редактировать клетки, пока вы не открыли изображение (используя гиперссылка на этот раз), и тогда вы не могли редактировать ячейки. Кроме того, как я сказал на моем компьютере это не происходит вообще, и когда мы проверили, точно такую ​​же версию Windows, точно такой же версия Excel (14.0.7190.5000). Является ли это просто случайная ошибка в Excel? Я пропускаю что-то очевидное? Это делает 0 смысла для меня, почему это будет происходить на некоторых ПК, а не другие. Кто-нибудь знает, как я могу решить эту проблему? Вот что я хочу, чтобы произойти: Пользователь открывает таблицу. Они могут редактировать клетки. Пользователь либо: A) щелкает гиперссылку, направленную на файл изображения, который затем открывает на своем компьютере. или B) щелкает ячейку в электронной таблице, которая вызывает следующий код для запуска: Private Sub Worksheet_SelectionChange (ByVal Target As Range) Если Target.Cells.Count = 1 Тогда Если Target.Column = 1 Тогда Dim Shex как объект Dim tgtFile As Строка дим имя_файла As String = имя_файла Клетки (Target.Row, Target.Column) .Value & ".tif" Set Shex = CreateObject ( "Shell.Application") tgtFile = ThisWorkbook.Path & "\" & FileName Shex.Open ( tgtFile) End If End If End Sub Затем после того, как а или в, завершена, и пользователь открыл файл изображения, она может вернуться в таблицу, и по-прежнему может редактировать клетки. Что на самом деле происходит это пользователь завершает А или В, а затем вернуться в таблицу, а теперь вдруг не может редактировать клетки. Это происходит только на некоторых компьютерах, а не другие, и все компьютеры находятся в одной и той же версии Windows, и Excel. Кроме того, копия таблицы можно найти здесь: http://batesplus.com/temp/example.xlsm Как сделать так, чтобы пользователь мог открыть изображение, а затем вернуться в таблицу, и по-прежнему редактирование ячеек? Спасибо
1

голосов
1

ответ
87

Просмотры

VBA электронной почте ответ - текст не добавляет

Я сочинительство макрос, который находит по электронной почте и ответы на него. Проблема заключается в том, что текст, который я хочу ответить не добавляет. Не могли бы вы сказать мне, что я делаю неправильно? Sub Test () Dim olApp как объект Dim olNs как объект Dim Fldr как объект Dim I As Long Set olApp = CreateObject ( "Outlook.Application") Set olNs = olApp.GetNamespace ( "MAPI"). GetDefaultFolder (olFolderInbox) .Folders ( "Тест") я = 1 Для каждого olMail В olNs.Items Если InStr (olMail.Subject, "kanapka") 0 Тогда С olMail.ReplyAll .CC = "хуг @ хуг" .Body = "Dear All," _ & vbCrLf и "аааааа" «эти две линии должны добавить olMail.Reply.Display End С I = I + 1 End If Next End Sub olMail
Tomek
1

голосов
1

ответ
31

Просмотры

Проблема с Powershell Excel пытается бросить .csv значения

На данный момент, я считаю, что это может быть проблемой файлового ввода / вывода. Хотя использование сценария Powershell вызова методов Excel, чтобы пройти через CSV-файл с веб-сайта, PowerShell пытается бросить заполнители для данных, которые слишком долго для ячейки «#######» вместо даты и времени, содержащейся в «клетке» (поисковые системы, возможно, потребуется «знак фунта» или «хэштегом», чтобы достичь этого результата). Ниже обижая часть сценария. [DateTime] $ S = $ sheet.Cells.Item ($ Ряды + $ я, $ Cols) .text [DateTime] $ G = $ sheet.Cells.Item ($ rowG + $ я, $ colG) .text [DateTime] $ а = $ sheet.Cells.Item ($ Rowa + $ я, $ colSWScan) .text данные должны существовать в виде ММ / ДД / YYYY HH: MM, но читается Powershell / PSExcelModule как #######, который является то, что отображается в графическом интерфейсе Excel при открытии файла. Это лишь часть того, что делает весь сценарий. Любые предложения о том, как устранить ошибку при сохранении использования PSExcel-модуле будут наиболее полезными. Stackoverflow, кажется, есть проблема со мной отправляя сообщение об ошибке многословного, и это мой первый пост. Дайте мне знать, если это будет helfpul с устранением неполадок. Редактировать для комментариев # 1: # Создать экземпляр Excel.Application и Open Excel файл $ objExcel = New-Object -ComObject Excel.Application # Открыть файл $ Учебное пособие = $ objExcel.Workbooks.Open ($ файл) # Активировать первый лист $ лист = $ workbook.Worksheets.Item ($ SheetName) $ objExcel.Visible = $ ложного После того, как моя голова из «Excelland», я понял, что это может быть проще переписать сценарий, чтобы использовать .csv организацию ( оригинал импортированный файл для сценария был .xlsx), но я правда не знаком с. CSV сценариев. Тем не менее, первоначальный вопрос все еще стоит, а я переписать код, как я, возможно, придется вернуться к .xlsx импортированных документов. Спасибо за предложение JE Carter II. Ответ: $ objExcel.Cells.EntireColumn.AutoFit () Кредит JE Carter II
LifeOfThePotty
1

голосов
2

ответ
515

Просмотры

Сохранить CSV с + Вход Swift 4

Я пытался сохранить CSV-файл со знаком «+» в нем, но по какой-то причине знак + просто уходит. Ниже мой код и фотография файла CSV открыт в Excel. Сохранить CSV код: пусть FileName = DateString + "-Payments.csv" вар csvText = "Имя, деньги, дата \ п" вар Newline = "Test 1, +400, 11-10-18 \ п" csvText.append (Newline ) Newline = "Тест 2, +400, 11-10-18 \ п" csvText.append (Newline) Newline = "Тест 3, +400, 11-10-18 \ п" csvText.append (Newline) Newline = " Тест 4, +400, 11-10-18 \ п»csvText.append (Newline) Newline = "Тест 5, +400, 11-10-18 \ п", если позволить DIR = FileManager.default.urls (для:. documentDirectory в: .userDomainMask) .first {пусть fileURL = реж. appendingPathComponent (Filename) у {попробуйте csvText.write (к: fileURL, атомарно: ложное, кодирование: .utf8) // Код для того чтобы представить UIActivityViewController было удалено. } Поймать {печать ( "\ (ошибка)")}} CSV файла: Могут ли из вас помочь? Благодарю. Редактирование: Ниже код, который создает Коррумпированную CSV файл. Есть идеи? пусть имя_файл = DateString + "-Clients.xls" вар csvText = "Имя, Адрес, дата, цена, Дни-Left \ П" для пользователя в paymentArray {пусть Newline = «\ (user.name), \ (user.location ), \ (user.date), \ (user.money), \ (user.daysLeft) \ п»csvText.append (Newline)}, если позволить DIR = FileManager.default.urls (для: .documentDirectory в:. userDomainMask) .first {пусть fileURL = DIR.
kps2501
1

голосов
4

ответ
117

Просмотры

Скопируйте Конкретные значения в столбце

Мне нужна помощь VBA. Я хочу, чтобы скопировать значения в столбце. Обращение к картинке, я хочу, чтобы начать копирование, если значение «Dept код / ​​Отрасли: 144», потому что это единственное значение последовательное и остановить копирование, пока значение ячейки не является «Total». Пожалуйста помоги!!!! Я не могу использовать диапазон для копирования, поскольку те диапазоны не могут быть последовательны в другой книге. Sub СкопироватьКолонки () Для я = 1 К 100 Если левый (Cells (я, "A") Значение, 21.) = ( "Dept код / ​​Отрасль: 144"). Затем клетки (я, "A") Копировать Пункт назначения: = Range ( "C1") End If Next End Sub
dannylee
1

голосов
1

ответ
48

Просмотры

Как создать простую страницу помощи для VBA Excel надстройки

Я создал небольшую надстройку для моего клиента. Он добавляет 2 кнопки на панели инструментов и работает нормально. Теперь я хотел бы добавить третью кнопку, чтобы отобразить номер версии и небольшой текст справки (15 строк). Интересно, что это легкий способ сделать это. Опции я могу думать: Insert (копия) листа с помощью & версии в текущей книге (эффективный и простой, чтобы сделать, но немного грубо и навязчиво) Создание формы VBA с текстом справки в элементе управления этикетки, и кнопка OK (очень хороший, но содержание этикетки не может быть отформатирована AFAIK) написать информацию на локальный HTML-файл и открыть, что один (возможно, более универсальный?) Любой (другое) предложение? Примечание: У меня нет прав администратора на моем компьютере, так что решения, связанные с дополнительным программным обеспечением исключены.
Patrick Honorez
1

голосов
1

ответ
224

Просмотры

Vba code getting error “select method of range class failed”

В приведенном ниже коде, я получаю сообщение об ошибке «Выберите метод Range класса Failed» на линии, указанной. Я пытаюсь скопировать некоторые фиксированные диапазоны от рабочего листа А Workbook XY в рабочий лист А всех открытых книг. Пожалуйста, помогите мне с вопросами. Кроме того, предлагают более или оптимизированный способ сделать то же самое. Заранее спасибо. Sub Macro1 () Dim WBS Как Workbooks Dim As Workbook Всемирный банк Dim ws11111 As Worksheet Set WBS = Application.Workbooks Для каждого ВБ в WBS Установите ws11111 = wb.Worksheets ( "A") '' ОШИБКА изломов на следующей строке: wb.Worksheets ( "А") Строки (.. "1: 1") Выберите '' ОШИБКА: "Выберите метод Range Class Failed" Selection.Insert сдвиг: = xlDown, CopyOrigin: = xlFormatFromLeftOrAbove Selection.Insert сдвига: = xlDown, CopyOrigin:
yashika vaish
1

голосов
1

ответ
203

Просмотры

Excel VBA для отправки по электронной почте напоминание каждые 28 дней с даты

У меня есть следующий код, который работает уже, но я предполагаю, что это гораздо лучше, чем иметь много, если заявления происходят в 28 дней. Может кто-то пожалуйста, покажите мне, как сказать, каждые 28 дней отправить электронное письмо на основе даты создания? Благодарю вас! Sub Current28 () '' ' 'Dim ответ As VbMsgBoxResult' Ответ = MsgBox ( "Вы уверены, что хотите работать?", VbYesNo, "Выполнить макрос")' Если ответа = vbYes Тогда Dim I As Integer, Mail_Object, EMAIL_SUBJECT, о As Variant, Л.Р. As Long = Lr клеток (Rows.Count, "A"). End (xlUp) .Row Dim создан как 'Dim позиции As String' строка Dim ветвь As String Set Mail_Object = CreateObject ( "Outlook.Application" ) Для я = 2 Для Л.Р. С Mail_Object.CreateItem (о) .Subject = "Текущие Продавец ухода за 28 дней" .Чтобы = "[email protected]".
Paul C
1

голосов
4

ответ
54

Просмотры

массив основан на макс и меньше?

Я не уверен, если я более усложняя это ... в основном я хотел бы иметь формулу, если столбец с меньше чем 6, затем посмотреть максимальное значение в B, но отображать значение C так пока у меня есть это, но я бы хотел, чтобы показать 2, а не 437 {= MAX (IF (C2: C12
holly olly
1

голосов
1

ответ
100

Просмотры

Не удается выполнить печать экспортированной щит щ сетку, чтобы преуспеть

Я пытаюсь напечатать первенствовать, который был экспортирован из Ui сетки экрана, но всякий раз, когда я делаю так, первенствует прекращает работу и сбои. Если я сохранить как лист, Закройте Excel и открыть его снова, то я могу напечатать, но это очень неудобно для пользователя. Даже я не могу напечатать первенствовать, приведенные в демо: https://demos.shieldui.com/web/grid-general/export-to-excel Я пробовал в различных ПК, чтобы убедиться, что это не было проблема ремонта первенствовать или проблемы с папкой загрузки. Любые sugestions о том, как сделать эту работу? Заранее спасибо.
jordi pino
1

голосов
0

ответ
19

Просмотры

Как работать с данными excelfile, что crerated другой программой

Как я могу сохранить экземпляр Excel (с vb.net), который открыт другой программой. пример; Я делаю экспорт в качестве exelfile из pragram А. Programm А экспортировать данные в Book1.xlsx. В этот момент я хочу, чтобы начать работать с этими данными с программой В случае, если я открываю excelfile с кодом в vb.net (xlWorkBook1 = xlApp.Workbooks.Open ( «C: \ DataBaseexcel \ oprp_Choc.xlsm», Пароль: =» пароль ") Я знаю, как это сделать, но если файл уже открыт другой программе и не сохраняются на диске. Надеюсь, что это будет достаточно ясно
edwin
1

голосов
1

ответ
33

Просмотры

Добавить или среднее удельное значение ячейки в разных рабочих листах, если они существуют

У меня есть книги, которая создает до 3 (с использованием макро) рабочих листов, и мне нужно усреднить значение конкретной ячейки в каждой из создаваемых листов. Проблема заключается в том, что 2-й и / или 3-й листы не могут быть созданы на всех, но мне еще нужно значение существующих рабочих листов я попробовал Average рабочих листов и ячеек, но Excel требует файл со значением «не -existent»клетки. Рабочие листы называются, например, май - May1 (если он создан) - May2 (если он создан) и расположение элемента, который будет использоваться значение I7 = СРЗНАЧ (май I7, May1 I7, May2 I7!!) - Работает, когда существуют все рабочие листы, но не тогда, когда они отсутствуют
RHC002
1

голосов
1

ответ
16

Просмотры

Как собрать все ценности конкретного продукта в одной ячейке?

привет я хочу, чтобы все значения продукта А должны быть собраны в ячейке G7
Farid Ebi
1

голосов
0

ответ
34

Просмотры

VBA - какой элемент он может быть после «!»

Я работаю на файл первенствовать и встретил проблему с диаграммой. Поскольку файл передается мне, я открыл ось метки диаграммы, чтобы увидеть, как график сделан. И я вижу, метка оси «file.xlsm»! Company_list, странное дело в том, что файл не имеет никакого листа под названием company_list. Я проверил код VBA файла, нет такой переменной называется company_list либо. Мне интересно, что элемент может быть за «!» без предъявления каких-либо следов в файле?
exteralvictor
1

голосов
0

ответ
174

Просмотры

Копирование и вставка VBA, когда ячейка содержит определенный текст

У меня есть VBA написано, но я хочу, чтобы скопировать, если ячейки в столбце содержат слово новое. Например; У меня есть новые, Создать- удалить, New-добавить, новый доступный и так далее. Так что я действительно хочу, чтобы искать слово нового независимо от того, что после того, как и копии. Это то, что я до сих пор, но это только захватывая любое значение, я сказать ему. Private Sub CommandButton2_Click () а = (листы "Combined2"). Клетки (Rows.Count, 1) .END (xlUp) .Row Для I = 2 А, если Таблицы ( "Combined2"). Cells (I, 1). Значение = "Новое удаление" Тогда Worksheets ( "Combined2"). Rows (я) .Copy Worksheets ( "Запуск данных"). Активизировать б = Worksheets ( "Запуск данных"). Cells (Rows.Count, 1) .END ( xlUp) .Row (листы "Запуск данных"). Клетки (Ь + 1, 1) .Select ActiveSheet.Paste листы ( "Combined2"). Активировать End If Next Application.
Ms Account

Просмотр дополнительных вопросов