здравствуйте друзья! мне нужно поделить сумму продажи по дням (число должен быть целым а остаток вставить в последний день месяца ожидаемый результат во вложении можно остаток вставить в другой день например в начале, главное чтобы не было дробных чисел
добрый вечер, всем! Помогите поправить макрос чтобы мог преобразовать дату тип Aug 10 2022 в дату (10.08.2022) я нашел макрос на этом сайте, но я не мог его заставить работать. скажите что нужно справить чтобы работал?
Код
sub ConvertLongDateToShortDate()
Dim arr As Variant, arrTemp As Variant
Dim CountOfSpaces As Long, lDay As Long, lMonthNumber As Long, lYear As Long, i As Long
Dim Rng As Range
If Selection.Cells.Count = 1 Then
MsgBox "Выделите диапазон ячеек с датами", vbInformation, "Внимание"
Exit Sub
End If
Set Rng = Intersect(Selection, ActiveSheet.UsedRange)
Rng.Replace Chr(160), " "
arr = Rng.Value2
On Error Resume Next
For i = LBound(arr) To UBound(arr)
If arr(i, 1) <> Empty Then
If InStr(1, arr(i, 1), " ", vbBinaryCompare) > 0 Then
CountOfSpaces = Len(arr(i, 1)) - Len(VBA.Replace(arr(i, 1), " ", ""))
If CountOfSpaces = 2 Then
arrTemp = Split(arr(i, 1))
If UBound(arrTemp) = 2 Then
lMonthNumber = NumberOfMonthName(arrTemp(1))
If lMonthNumber > 0 Then
arr(i, 1) = DateSerial(CLng(arrTemp(2)), lMonthNumber, CLng(arrTemp(0)))
End If
End If
End If
End If
End If
Next i
On Error GoTo 0
Rng.Value = arr
End Sub
Private Function NumberOfMonthName(ByVal Str As String) As Long
Dim MonthNames As Variant
MonthNames = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
On Error Resume Next
NumberOfMonthName = Application.Match(LCase(Str), MonthNames, 0)
End Function
Доброе утро Всем! проблема такая: ниже код, который прекрасно работает если стоит в отельной книге, но к сожаление , когда вставлю его в свою надстройку ругается именно вот здесь:
Sub CombineWorkbooks()
Dim Path As String
Path = "C:\Users\Am\Desktop\test\"
Dim FileName As String
FileName = Dir(Path & "*.xlsx")
Dim ws As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Do While FileName <> ""
Workbooks.Open Path & FileName
For Each ws In ActiveWorkbook.Sheets
ws.Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
Next ws
Workbooks(FileName).Close
FileName = Dir()
Loop
Worksheets(1).Delete
Application.ScreenUpdating = False
Application.DisplayAlerts = False
End Sub
Здравствуйте , друзья! подскажите пожалуйста , почему функция DATEDIFF считает не правильно по сравнению с РАЗНДАТ в экселе? я хотел считать разницу между двумя датами по годам, пример во вложении . у меня DATEDIFF показывает на 1 год больше чем то, что показывает РАЗНДАТ в экселе
Добрый день, ДРУЗЬЯ! Прошу Вас помочь с оптимизацией макроса, не хватает опыта.проблема в тем , что каждый раз , когда нужно добавить
новый продукт приходится менять все Offset в макросе чтобы соблюдать порядок добавление продуктов например: Если мне нужно после продукт "Apple" добавить Apple Red, то придется менять все Offset во всех следующих шагах.
нужно генерировать число в 20-х ячейках с условием: 1- в каждой ячейки не должно быть меньше 30 и не больше 60 2- сумма всех ячеек должно быть 1000 функция СЛУЧМЕЖДУ не дает нужны результаты
Добрый вечер, Друзья! прошу помочь справлять ошибку в макросе.
Код
Function GetRGBTest(Colour As Long, colInd As Integer) As String
Dim Dict As Object
If Colour > 0 Then
GetRGBTest = "RGB(" & (Colour Mod 256) & "," & ((Colour \ 256) Mod 256) & "," & ((Colour \ 256 \ 256) Mod 256) & ")"
Else
colInd = LTrim(Str(colInd))
GetRGBTest = Dict.Item(colInd)
End If
End Function
Sub filtColor()
Dim col As Integer
Dim s As Integer
Dim x As Integer
Dim f As String
x = ActiveSheet.UsedRange.Rows.Count
s = ActiveCell.SpecialCells(xlLastCell).Row
col = ActiveCell.Column
f = GetRGBTest(Selection.Font.Color, Selection.Font.ColorIndex)
MsgBox f
ActiveSheet.Range(Cells(1, 1), Cells(s, col)).AutoFilter Field:=col, Criteria1:=f, Operator:=xlFilterFontColor
End Sub
Добрый день Всем! прошу Вас помочь! нужен макрос который мог поискать несколько слов в столбце А и ставил соответствующее слова рядом в столбец В пример во вложении. задача макроса искать название города в А и рядом в В ставить соответствующее название города. заранее благодарю!
добрый день, ДРУЗЬЯ! прошу помочь, нужен макрос который мог бы скрыть все невыбранные листы. дело в том, что выбранные(активные) листы, их несколько. есть такой в надстройке Kutools for Excel здесь. hххps://ru.extendoffice.com/product/kutools-for-excel/show-or-hide-inactive-worksheets-in-one-workbook.html но мне хотелось посмотреть как выглядит код и как работает. заранее благодарю!
Добрый день, уважаемый форумчани! ниже пользовательская функция, которая ругается на Ошибку: Compile error: ByRef argument type mismatch
Код
Function GETLASTWORD(ByVal Text As String, Optional Separator As Variant)
Dim lastword As String
If IsMissing(Separator) Then
Separator = " "
End If
lastword = StrReverse(Text)
lastword = Left(lastword, InStr(1, lastword, Separator, vbTextCompare))
GETLASTWORD = StrReverse(replace(lastword, Separator, ""))
End Function
как можно от этого избавиться? функция в отделенной книге работает без проблем, а я добавил её в мою надстройку и начала ругаться.
Доброго времени суток. во общем такой вопрос. посредством vba нужен макрос, который ищет определенные буквы в ячейках (например: ман) и если данные буквы присутствует в таком порядке то закрашивает только их в определенный цвет(красный) а если не в таком порядке то, не меняет не надо.
Здравствуйте всем! Прошу Вас помочь, во вложении есть пример. я питался с помощью регулярного выражения извлечь фамилию, но не получается для этого я использовал [а-яА-ЯёЁ]+
не обязательно с помощью РВ, можно с помощью ( макроса, PQ, формулы)
Добрый день, многоуважаемые форумчани! ِСкажите пожалуйста, есть ли метод прогноза продажи при кризисе? Если кризисе только начался,то есть когда ты ведешь что кризис только начался с апреля, а у тебя продажи до это на несколько лет не упали. где можно про это читать? мне интересна как эксперты прогнозируют продажи при кризисе, почему например говорят падение рынка в таком сегменте будет на 3% или 6% и.т.д.
Добрый день, уважаемы форумчане! есть такой макрос, который предназначен для программного добавлении объектной модели, Он ругается на ошибку-Compile error: User-defined type not defined
подскажите как можно как можно избежать эту ошибку. заранее благодарю!
Код
Sub AddReference()
Dim VBAEditor As VBIDE.VBE
Dim vbProj As VBIDE.VBProject
Dim chkRef As VBIDE.Reference
Dim BoolExists As Boolean
Set VBAEditor = Application.VBE
Set vbProj = ActiveWorkbook.VBProject
'~~> Check if "Microsoft VBScript Regular Expressions 5.5" is already added
For Each chkRef In vbProj.References
If chkRef.Name = "Microsoft Visual Basic for Applications Extensibility 5.3" Then
BoolExists = True
GoTo CleanUp
End If
Next
vbProj.References.AddFromFile "C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
CleanUp:
If BoolExists = True Then
MsgBox "Reference already exists"
Else
MsgBox "Reference Added Successfully"
End If
Set vbProj = Nothing
Set VBAEditor = Nothing
End Sub
в колонке В есть дата B виде текста "00.00.0000" а в колонке A номер серии. нужно искать по номер серии соответствующую дату и заменить "00.00.0000" на неё .
Здравствуйте, уважаемые! возник вопрос, как можно прописать переменную (i) в такой формуле уменя выходить ошибка из-за того, что в ячейку вводится знак @i вместо цифры
Здравствуйте всем! хотел вытащить дату, которые стоит сразу после слова "до", или "от" используя функцией RegExpExtrac от Николай Павлов, но к сожалению у меня не получается. прошу Вас помочь, а если функцией RegExpExtrac не подходит, то написать функцию. с помощью power query не интересуется пример во вложении.
Добрый день, уважаемые форумчане у меня при запуска следующий макрос возникает ошибка (Run-time error '1004': Application-defined or object-defined error)
Код
Sub Delete_Sub_From_Module()
Dim lCountLines As Long, li As Long, lStartLine As Long, lProcLineCount As Long
Dim sCodeName As String, sProcName As String
With ActiveWorkbook.VBProject.VBComponents("Module1") ' ===>тут начинается ошибка
'получаем кол-во строк кода в модуле
lCountLines = .CodeModule.CountOfLines
'получаем первую строку с кодом, исключая строки декларирования функции и опций модуля
lStartLine = .CodeModule.CountOfDeclarationLines + 1
'цикл по всем строкам кода внутри модуля
For li = lStartLine To lCountLines
'получаем имя процедуры/функции, внутри которой строка кода
sProcName = .CodeModule.ProcOfLine(li, 0)
'если имя процедуры совпадает с тем, которое нам нужно
If sProcName = "tа234" Then
'узнаем кол-во строк процедуры/функции
lProcLineCount = .CodeModule.ProcCountLines(sProcName, 0)
'удаляем процедуру/функцию
.CodeModule.DeleteLines li, lProcLineCount - 1
Exit For
End If
li = li + lProcLineCount
Next li
End With
End Sub
скажите пожалуйста, как можно решить эту проблему.
Добрый день, уважаемые Форумчани! Прошу помочь, ниже макрос, которые работает нормально если его ставлю в рабочую книгу, а если в свою настройку, то ругается на ошибку(Method or data member not found). Скажите пожалуйста, что нужно сделать чтобы не давал такую ошибку
Код
Sub SheetsNames()
Dim i As Integer: ActiveCell.ClearContents
For i = 1 To Sheets.Count: ActiveCell(i, 1) = Sheets(i).Name: Next
End Sub
Друзья, добрый день! У меня отображается слова такими знаками ">������� ����� �����������</ вместо слов на русском языке. кто-нибудь знает как решить эту проблему?
Добрый день, друзья! прошу Вас помочь нужно покрасить столбец стоящий пред словом "остатки" то есть код макроса должен искать это слово в активном листе а затем форматировать столбец. заранее благодарю!
Доброе утро, Форумчани! скажете пожалуйста, можно ли с помощью макроса перевернуть группировку данных. На приложенной картинке показаны что есть 3 плюсики по столбцам и 2 по строкам, мне нужно перевернуть так , чтобы было 3 по строкам и 2 по столбцам. если есть напишите пожалуйста код этого макроса. заранее благодарю!
Добрый вечер, Форумчани! Прошу Вас помочь, нужен макрос, которые заменял все встречающие цифры в активном листе на нуль, а текстовые оставил бы как есть. заранее благодарю! я такой записал, но мне не нравится
Добрый день, уважаемые фармчаны ! прошу помочь, нужно макрос,который бы менял формат выделенного диапазон. есть такой код:
Код
Sub Format1()
With ActiveCell
Range(.Address, Cells(Cells(Rows.Count, .Column).End(xlUp).Row, .Column)).NumberFormat = "#,##0_ ;[Red]-#,##0 "
End With
End Sub
Но к сожалению меняет формат выделенных ячеек находящих в одном и тоже столбцу.