Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Как вызвать функцию Строка() через макрос?
 
Всё теперь чётко работает:
Код
Function RowIndexOfCurrentCell() As Integer
RowIndexOfCurrentCell = Application.Caller.Row
End Function
Спасибо, ребят, теперь всё получится!!!  :D
Как вызвать функцию Строка() через макрос?
 
Цитата
Михаил С. пишет: activecell.row
Код
Function Ro() As Integer
Ro = ActiveCell.Row
End Function
Пробовал, но когда перетягиваешь автозаполнением, то фунция пишет везде от первой ячейки Row, т.е. она думает что ActiveCell это первая ячейка, сами попробуйте.  :)
Как вызвать функцию Строка() через макрос?
 
Sanja, почти то, что надо, только нужна функция которая не берёт ничего а возвращает Row.текущей ячейки!!!!!!
Код
Function RowIndexOfCurrentCell()
...
End Function
Изменено: usersuperpupsik - 11.11.2014 01:31:31
Как вызвать функцию Строка() через макрос?
 
В гугле нашёл вот это.
Код
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()  или =Строка().Как его найти?
Изменено: usersuperpupsik - 11.11.2014 01:30:24
Как передать индекс автозаполнения в функцию?
 
Это было здорово!  :D  Спасибо, ikki!!!
Изменено: usersuperpupsik - 11.11.2014 01:23:23
Как передать индекс автозаполнения в функцию?
 
Поясню...
Допустим в функции хранится массив Ar(1 to 10), а когда я записываю в  A1    =F().  туда должен попасть первый элемент массива Ar(1), а после этого делаем авто заполнение и получается в A2 = F() , A3 = F(), но в A2  должен попасть второй элемент массива Ar(2), в A3 - третий Ar(3)!!!
Поэтому спрашиваю как передать индекс крестика (авто заполнения) в функцию?Спасибо.
Изменено: usersuperpupsik - 10.11.2014 15:05:17
Как передать индекс автозаполнения в функцию?
 
Здравствуйте!
Ребят, как в функцию передать индекс от заполнения?(индекс крестика)
Например:
Код
Function F(Индекс_Крестика As Integer)
F=Индекс_Крестика
End Function
И так когда напишем в ячейке A1 вот так: "=F()", А потом крестиком(авто заполнением ) перетащим вниз до A5, то получим: 1 2 3 4 5 в ячейках A1...A5.
Вот что написать в этой функции F? (У меня формула чуть сложнее будет, поэтому спрашиваю!)
Спасибо!
Изменено: usersuperpupsik - 09.11.2014 23:21:22
Как вычисляется синус, косинус в excel
 


Здравствуйте.Как вычисляется синус, косинус в excel. На википедии нашёл вот эти формулы.Синус без проблем сходится, а вот с косинусом никак. Как вычисляется синус, косинус в excel?(Известно, что можно так =SIN(A1), но как Excel это делает?)
Изменено: usersuperpupsik - 03.10.2014 19:31:07
Как создать функцию и процедуру, которая ничего не возвращает но берёт переменные.
 
ОК, СПАСИБО МАСТЕР ЛИ!!!
Как создать функцию и процедуру, которая ничего не возвращает но берёт переменные.
 
Ребят у меня проблема, перешёл на 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
Как же правильно (см. тему)?
Перебор папок и их удаление
 
Спасибо, мастер The_Prist. :D  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D  :D То что надо!!! :idea:

Всем участникам спасибо за помощь!!!
Перебор папок и их удаление
 
Спасибо друзья вот этот код  делает то, что нужно. :D  Только не пойму, здесь ошибка что-ли, lexey_fan?
Почему MsgBox дает имена и файлов то же, но удаляет только папки? ;)
Код
Public Sub DeleteAllFolders()
Dim Name_1$, Path_1$, z%, Folders$()
Set fs = CreateObject("Scripting.FileSystemObject")
On Local Error Resume Next
Path_1 = ThisWorkbook.Path & "\"
Name_1 = Dir(Path_1, vbDirectory)
Do While Name_1 <> ""
If GetAttr(Name_1) = vbDirectory And Name_1 <> "." Then
z = z + 1
ReDim Preserve Folders$(1 To z)
Folders(z) = Name_1
If fs.folderexists(Path_1 & Name_1) Then Call fs.DeleteFolder(Path_1 & Name_1)
End If
Name_1 = Dir()
Loop
MsgBox "Удалено" & vbNewLine & Join(Folders, vbLf)
End Sub
Почему MsgBox дает имена и файлов то же, но удаляет только папки? ;)

ZVI, Спасибо , Ваш код как я понял удаляет только 1 указанную папку, а  мне надо каждую по-очереди!
Перебор папок и их удаление
 
lexey_fan,я изменил CurDir на ThisWorkbook.path и  вот так можно создать!Спасибо!    :D
Код
Sub CreateFolder() ' создание
Dim paths As String
 paths = ThisWorkbook.path + "\New Folder"
 MkDir (paths)
End Sub

Здесь вопросов нет!

Этот код удаляет конкретную папку.Спасибо конечно, но мне нужен перебор всех папок с удалением каждой!
Код
Sub DeleteFolder()
Dim paths As String
 paths = ThisWorkbook.path  + "\New Folder"
 Set fs = CreateObject("Scripting.FileSystemObject" )
 If fs.folderexists(path) Then
 Call fs.DeleteFolder(path)
 End If
 End Sub

Мастер The_Prist дал  код, где есть перебор,я добавил к коду кое-что, чтобы он заработал, но почему-то получаю ошибку "object required" Вот код:
Код
Public Sub Perebor()
Dim MyPath As String
MyPath = ThisWorkbook.path +"\"
PPP (MyPath)
End Sub

Private Sub PPP(sPath)
 Set objFolder = objFSO.GetFolder(sPath)
 For Each objFolder In objFolder.SubFolders
 objFolder.Delete
 Next
End Sub
Может быть я Вас не правильно понял.
The_Prist, Можете дать полный рабочий код?
Перебор папок и их удаление
 
Всем Доброго здоровьица! ;)
Что-то поиск по форуму не решил мою задачу, вот в чём проблема. Я умею перебирать файлы в папке и удалять их.
Но как перебирать папки (без вложенных) и каждую удалить?
Удалить файл при закрытии
 
Спасибо, The_Prist, это то , что я искал!!!  :D
Спасибо, AndreTM, можете привести пример скрипта( дать файл или код )?
Удалить файл при закрытии
 
Здравствуйте.
Есть файл 1.xlsm.
В нем макрос macros1.
Когда я открою этот файл ничего не должно произойти.
Но когда я закрою этот файл должен сработать macros1 и удалить этот файл. Точь-точь как в "Терминатор 2"  ;)
Изменено: usersuperpupsik - 07.01.2014 15:58:32
Как узнать имена файлов и папок в конкретной папке?
 
Понял, спасибо, The_Prist!!! :D
Постараюсь доработать код и выложить готовый код!!!Спасибо, друзья!!!
Как узнать имена файлов и папок в конкретной папке?
 
Цитата
Как вариант - http://www.planetaexcel.ru/techniques/12/45/
Z, это очень хороший вариант :) !!!
Уважаемый, Александр Моторин, почему я не могу создать глобальную переменную "y"???
Код
Public y
Public Sub Комманда1_Click()
Dim y As Integer
y = 1
Dim FSO As Object
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Search FSO.GetFolder("E:\1\")
End Sub

Public Sub Search(Fold As Object)
   

 Dim SubFold As Object, Fil As Object
   Debug.Print Fold
   Cells(y, 1).Value = Fold: y = y + 1
   Application.Wait (Now + TimeValue("0:00:1"))
   On Error GoTo ErrHandle
   For Each SubFold In Fold.SubFolders
     Cells(y, 1).Value = SubFold: y = y + 1
     Application.Wait (Now + TimeValue("0:00:1"))
     Debug.Print SubFold
     Search SubFold
   Next SubFold
   For Each Fil In Fold.Files
        Debug.Print Fil
        Cells(y, 1).Value = Fil: y = y + 1
        Application.Wait (Now + TimeValue("0:00:1"))
        Next Fil
   Exit Sub
ErrHandle:
  ' MsgBox "Нет допуска к папке """ & Fold.Path & """"
  ' Err.Clear
End Sub


Уважаемый, Александр Моторин, почему я не могу создать глобальную переменную "y"???
Как узнать имена файлов и папок в конкретной папке?
 
Вы правы, The_Prist, В поиске надо было просто побольше порыться: Вот что нашел: Тема:Поучить список имен файлов и их Path в цикле.
Немножко изменил, вот что получилось:
Так можно получить список имен файлов (разных по формату) в заданном месте (папке)!

Код
Sub GetFileNames()
y = 1
Path = "E:\"                  'задать место (папку)
                                   'Mask = "*.txt"
fname = Dir(Path)          'fname = Dir(Path & Mask)
While fname <> ""
a = Split(fname, ".")
Cells(y, 1).Value = Path & fname '
Cells(y, 2).Value = fname
Cells(y, 3).Value = a(0)
Cells(y, 4).Value = a(1)
fname = Dir                'выбрать следующий файл
y = y + 1
Wend

End Sub



Ребят, а как же получить имя папки(с меткой "_f" вот так например, folder1_f )?
Как сканировать и все вложенные папки?(чтобы получить список всех файлов в папках и подпапках)?
 ;)
Изменено: usersuperpupsik - 29.12.2013 15:13:22
Как узнать имена файлов и папок в конкретной папке?
 
Здравствуйте.
Есть папка, в ней файл с макросом.
Как будет выглядеть макрос в этом файле, который должен создать массив из имен файлов и папок в текущей папке.
(Файлы разных форматов:  mp3, txt, docx, jpeg и т.д.!) ;)
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Цитата
Возможно для Вас это будет шоком, но на компьютере ВСЯ информация хранится в ДВОИЧНОМ представлении. ТОЛЬКО ноли и единицы. А мы с Вами видим то, как ОС интерпретирует бинарные коды.
:D   :D   :D
В компьютере файл хранится в двоичном коде (101010101000001010101011010010111), текстовый редактор и монитор интерпретируют код в (не знаю какой, но он выглядет вот так) (Привет, я - интерпретированный код).
Я же хочу деинтерпритировать код всего файла(а не только текста)   в  двоичный код (10100101101010100101010110100).По сему Вас спрашиваю:
" KukIP, результат Вышей программы -это двоичное представление файла 1.txt , или всё таки только текста в файле 1.txt? "
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
KuklP, спасибо!!! У меня MS office 2007 en!!!А это значит, что вместо ДЕС.В.ДВ нужно поставить DEC2BIN!И всё работает!!!
Вот другая загадка меняю все [f1] на [a1000] макрос не работает.Почему?

Ребят, но меня мучает вопрос, это двоичное представление файла 1.txt , или всё таки только текста в файле 1.txt?( Меня интересует двоичное представление файла 1.txt!!!  ;) )
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Уважаемый, KuklP.
Ваш код даёт ошибку Type Mismatch в этом месте:
s = s & [f1]
Скажу,что уменя MS Office 2007. Может быть в этом проблема? ;)
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Пока разбираюсь в коде Doober.
Понятно файл 1.txt  считался в переменную s!Здесь всё нормально.Но когда пытаюсь сделать так:
[a1]=A(1)
[a2]=A(2)
и т.д. Всё время в ячейках a1:an вижу 0.
Но как прочитать файл в массив?
Почему спрашиваю? Потому что как мне кажется в переменную нельзя загрузить большие данные.Так для типа Variant даётся только приблизительно 22 Byte.
А сколько в массив я не знаю, а Вы знаете?
Цитата
Doober, как точно также прочитать файл в массив? :)
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Цитата
вы хотите получить битовое представление текста?
Doober, кажется Вы угадали.  :)  

Цитата
Выложите, наконец этот текстовый файл.
KuklP,выкладываю  :)
Изменено: usersuperpupsik - 26.12.2013 14:21:09
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Спасибо Вам,  Doober, Hugo, но  Вы меня не поняли    :)  Файл 1.txt на компьютере хранится в виде: 101010100101001010101010101011000011101001100101100101011000­110101.
Но когда открываешь файл в текстовом редакторе, то видишь: Привет это я текст в текстовом файле.
Как узнать всю последовательность 1010101101001101010 от текстового файла?

Но вот за это отдельное спасибо:
Код
Public A
Public Function ReadAll(N) ' так можно считать файл в массив A 
Dim  Name As String
Name = CStr(N) + ".txt"
iTempPath = ThisWorkbook.Path + "\" + Name
A = Split(CreateObject("Scripting.FileSystemObject").Getfile(iTempPath).OpenasTextStream(1).ReadAll, vbNewLine)
End Function


Public Sub Test2()
ReadAll (1)
[A1] = A(0)
End Sub


Как узнать всю последовательность 1010101101001101010 от текстового файла?
Изменено: usersuperpupsik - 26.12.2013 14:07:47
Как узнать всю последовательность файла .txt (1010101101100011011100111010101)?
 
Прошу прощения, может быть неясно выражаюсь( может быть для этого есть термин , и кто-нибудь может сказать как это называется ).
Объясню, хочу прочитать файл 1.txt в массив A(),
но чтобы А() имела вид:
Код
 A(1)=1011010111111
 A(2)= 0101010101011
 A(3)= 0101011011010
 A(4)= 0010101010101
 A(5)= 0101010111011
Знаю как просто считать файл в массив:
Код
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

Помогите, пожалуйста!!!
Изменено: usersuperpupsik - 26.12.2013 01:15:54
Как использовать код Word VBA в Excel VBA
 
Не The_Prist, Вы меня неправильно поняли я читал Вашу статью недавно, и с её помощью научился работать с файлами .docx из Excel, я пробовал использовать Ваш код:


Код
Dim objWrdApp As Word.Application
Dim objWrdDoc As Object
Set objWrdApp = CreateObject("Word.Application" ;) 
'objWrdApp.Visible = True
Set objWrdDoc = objWrdApp.Documents.Open(ThisWorkbook.Path & "\" & "1.docx") 

'---------------------------------------
'здесь должен быть код word vba
'--------------------------------------
objWrdDoc.Close True
objWrdApp.Quit
Set objWrdDoc = Nothing: Set objWrdApp = Nothing


Но я же говорю:
Цитата
Мои эксперименты с адаптацией кода под 1.xlsm не увенчались успехом!!!
Изменено: usersuperpupsik - 10.12.2013 15:49:16
Как использовать код Word VBA в Excel VBA
 
Здравствуйте.
Хорошие ребята (пользователь: 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 файле?
Зараннее спасибо!
Чтение, Запись файлов doc из Excel c помощью VBA
 
У меня microsoft office 2007, Чтобы посмотреть код формы нужно выделить её, а потом нажать на F7! :D
Спасибо, Ребят, буду разбираться. ;)
Страницы: 1 2 3 След.
Наверх