Function F1() As Integer
i= Application.Sum(Range("B5:B10"))
i = WorksheetFunction.Sum(Range("B5:B10"))
i= Excel.Application.Sum(Range("B5:B10"))
i= Excel.WorksheetFunction.Sum(Range("B5:B10"))
i= Application.WorksheetFunction.Sum(Range("B5:B10"))
F1 = i
End Function
Но не в одном классе нет метода =Row() или =Строка().Как его найти?
Здравствуйте! Ребят, как в функцию передать индекс от заполнения?(индекс крестика) Например:
Код
Function F(Индекс_Крестика As Integer)
F=Индекс_Крестика
End Function
И так когда напишем в ячейке A1 вот так: "=F()", А потом крестиком(авто заполнением ) перетащим вниз до A5, то получим: 1 2 3 4 5 в ячейках A1...A5. Вот что написать в этой функции F? (У меня формула чуть сложнее будет, поэтому спрашиваю!) Спасибо!
Здравствуйте.Как вычисляется синус, косинус в excel. На википедии нашёл вот эти формулы.Синус без проблем сходится, а вот с косинусом никак. Как вычисляется синус, косинус в excel?(Известно, что можно так =SIN(A1), но как Excel это делает?)
Ребят у меня проблема, перешёл на java, а примеров от VBA под рукой нет. Так можно создать функцию , которая ничего не возвращает.
Код
public void MyFunction(int a, int b ){
c = a*b; //это имеет смысл, если переменная public static...
}
//И затем вызывать её!
MyFunction(1,2)
В vba что то не выходит такой трюк я делал так:
Код
Public Function MyFunction(a As Integer, b As Integer)
c=a*b 'это имеет смысл, если переменная public
End Function
Public Sub MySub()
MyFunction(1,2) 'здесь строка краснеет(даёт ошибку)
End Sub
Всем Доброго здоровьица! Что-то поиск по форуму не решил мою задачу, вот в чём проблема. Я умею перебирать файлы в папке и удалять их. Но как перебирать папки (без вложенных) и каждую удалить?
Здравствуйте. Есть файл 1.xlsm. В нем макрос macros1. Когда я открою этот файл ничего не должно произойти. Но когда я закрою этот файл должен сработать macros1 и удалить этот файл. Точь-точь как в "Терминатор 2"
Здравствуйте. Есть папка, в ней файл с макросом. Как будет выглядеть макрос в этом файле, который должен создать массив из имен файлов и папок в текущей папке. (Файлы разных форматов: mp3, txt, docx, jpeg и т.д.!)
Прошу прощения, может быть неясно выражаюсь( может быть для этого есть термин , и кто-нибудь может сказать как это называется ). Объясню, хочу прочитать файл 1.txt в массив A(), но чтобы А() имела вид:
Public MyArray() As String
Public Function CopyToArray(FileName As Integer) As String 'так можно копировать каждую строку .txt в массив
Dim Name As String
Name = CStr(FileName) + ".txt"
Open ThisWorkbook.Path + "\" + Name For Input As #1
i = 1
While EOF(1) <> True
ReDim Preserve MyArray(1 To i)
Line Input #1, MyArray(i) ' Выделить 1-ю строку при 1-ом вызове команды Line Input
' и копировать строку в MyArray()
i = i + 1
Wend
exit1: Close #1
End Function
Public Sub Test()
CopyToArray (1)
u = UBound(MyArray)
[a2]= MyArray(u) 'Вывести последнюю строку
End Sub
Но как считать файл в массив, чтобы получилось так? A(1)=1011010111111 A(2)= 0101010101011 A(3)= 0101011011010 A(4)= 0010101010101 A(5)= 0101010111011
Здравствуйте. Хорошие ребята (пользователь: aap77) с сайта http://wordexpert.ru/ дали мне код, который копирует строки текущего файла .docx в массив. Всё бы хорошо, но мне надо использовать этот код в файле 1.xlsm. Я импортировал библиотеку Microsoft Word 12.0 Object Library в файл .xlsm и теперь хочу производить операции над 1.docx с помощью этого кода:
Код
Public lst() As Variant
Public Function CopyToArray() As Variant
Dim AWind As Window
Dim APane As Pane
Dim Pages As Pages
Dim Page As Page
Dim Rect As Rectangle
Dim LineCount As Long
'Dim lst() As Variant
Dim Line As Line
Set AWind = Application.ActiveWindow
Set APane = AWind.ActivePane
Set Pages = APane.Pages
'---------------------------------------------------------------------
For Each Page In Pages
If Page.Rectangles.Count = 1 Then
Set Rect = Page.Rectangles(1)
Else
Set Rect = Page.Rectangles(2)
End If
LineCount = LineCount + Rect.Lines.Count
Next Page
LineCount = LineCount - 1
'---------------------------------------------------------------------
ReDim Preserve lst(0 To LineCount)
'---------------------------------------------------------------------
i = -1
For Each Page In Pages
If Page.Rectangles.Count = 1 Then
Set Rect = Page.Rectangles(1)
Else
Set Rect = Page.Rectangles(2)
End If
For Each Line In Rect.Lines
i = i + 1
lst(i) = Line.Range.Text
Next Line
Next Page
'---------------------------------------------------------------------
'CopyToArray = lst
End Function
Public Sub Macros1()
CopyToArray 'копировать все строки в массив lst, внимание индексация начинается с 0
MsgBox (lst(2)) 'вывести на экран 3-ю строку
End Sub
Мои эксперименты с адаптацией кода под 1.xlsm не увенчались успехом!!! Как грамотно адаптировать этот код, чтобы он работал в 1.xlsm файле? Зараннее спасибо!
Здравствуйте, здесь на форуме узнал как читать, писать в файле txt. Я был счастлив, когда это узнал. Вопрос такой, как произвести: "Чтение, Запись файлов doc из Excel c помощью VBA"
Здравствуйте. В языках java и actionscript можно создать функцию так (пишу неправильно, чтобы было понятно для vba знатаков):
Код
function F(X)
Y=X*1000
return Y
end function
И затем вызывать фунцию и записать в переменную (P) возвращаемое значение так:
Код
P=F(5) ' P: 5000 (P=5000)
Так например работает функция UBound(Array): P=UBound(Array) 'И сразу идет запись в переменную, т.е. функция возвращает конкретное число. Как же мне теперь возвратить конкретное число и записать его в переменную как это делает UBound(X)???Надеюсь, понятно объяснил.
Извините, но Ваш поиск не дал результатов, если есть такая тема прошу перенаправить меня! Вот в чем дело. Мне нужно открыть 1.txt написать там по координатам (2, 7) (2-ая строка, 7 символ ) символ "С", сохранить, закрыть 1.txt. Затем открыть 1.txt, присвоить переменной simbol значение символа по координатам (2,7) в 1.txt! Да, скажу что 1.txt находится в папке folder.Здесь же и лежит файл 1.xlsm с исполняющим макросом. Как же это реализовать с помощью VBA? :!: Пожалуйста, помогите.
Public Sub Pro1()
If [d1] = "ЛОЖЬ" Then
[e1] = "ОК"
End If
'[e1] = [d1]
End Sub
В ячейке [d1] находится результат операции сравнения, таким образом значение [d1] равняется "ЛОЖЬ"! Но может быть vba нужно сказать, что значение [d1] не введено от руки, а значение [d1] является результатом встроеных в EXCEL функции сравнения(=B1=C1)?Вот файл с кодом!Почему мой код не работает?
Здравствуйте, форумчане. Работал с програмной средой VB.Net, где научился создавать потоки(параллельные процессы). Как создать потоки в vba\excel? Заранее спасибо!
Здравствуйте! Проблема есть такая! Когда запускаю любой макрос, то автоматически блокируются ячейки excel, т.е. во время исполнения макроса не могу изменять ячейки, а мне очень нужно. Может быть вы подскажете, как отключить блокировку.
Здравствуйте. Кто-нибудь знает, как с помощью vba сделать следующее: 1.Открыть Командную Строку(cmd.exe) 2.Записать в cmd.exe значение ячейки [A1] 3.Поставить переход на следующую строку в cmd.exe 4.Записать в cmd.exe значение ячейки [A2] 5.Закрыть cmd.exe ?
Здравствуйте! Опишу проблему. Мой макрос открывает 1-ый файл, копирует из него таблицу, закрывает с сохранением, вставляет копированую таблицу в текущий открытый файл.xlsm! Но вот проблема.За время выполнения макроса выходят 2 диалоговых окна. 1-ое - "Предупреждение о конфиденциальной информация...", "ок", "Отмена" 2-ое - "В буфере обмена находится большой объём данных...","да", "нет", "отмена"
Вопрос такой: Как языком vba выбрать из диалогового окна: "да", "нет", "отмена", "OK"- выбрать один из вариантов, например, "да" или ,например, "OK"?
Люди, нужен код, который открывает файл (D:\Do not Remove\file2.xlsm) и Включает Call Module1.Clear в этом файле!
Люди, строка Call Module1.Clear не работает.Что здесь не верно?
Код
Public Sub clearfile2()
Set A01 = Workbooks.Open("D:\Do not Remove\file2.xlsm")
A01.Sheets(1).Cells(1, 1).Value = 555 '
Call Module1.Clear
A01.Close True
End Sub
Здравствуйте. Прочитал правила форума.Постараюсь описать проблему. Мне нужно обратиться к файлу file2.xlsm. В нём обратится к первому листу(слева направо). Нужно что-то вроде: file2.xlsm.Sheets(1).Cells(1,1).Value=123 Скорее всего файл придется открывать. Вопрос:"Как открыть файл file2.xlsm или обратится к файлу file2.xlsm, к первому листу" Прикрепляю файл. Спасибо за внимание.