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

Страницы: 1 2 След.
Обращение к подобным именам переменных через строку
 
Спасибо большое, The_Prist. Думаю пригодится.
Обращение к подобным именам переменных через строку
 
Цитата
Sanja написал: "Подобным" чему? Пернеменная1, Переменная2, ..., ПеременнаяN ?.
Да, Переменная1, Переменная2, и т.д. Как вот всем им задать значение через цикл? Или как Вы сказали использовать массив переменных?
Обращение к подобным именам переменных через строку
 
Но а если, допустим, мне надо обращаться к обычным подобным переменным? Если переменных подобных очень много. Можно как то обращаться к ним через строку?
Обращение к подобным именам переменных через строку
 
Код
Sub test1()
    sss = 5
    
    Dim ttt()
    
    ReDim mass_0(10)
    ReDim mass(1 To sss)

    
    For s = 1 To sss
        jjj = 0
        For i = 1 To 10
            mass_0(jjj) = i * s
            jjj = jjj + 1
        Next i
        mass(s) = mass_0
    Next s
    
    ttt = mass(2)
    
    For iii = 0 To UBound(ttt, 1)
        Cells(1+ iii, 1) = ttt(iii)
    Next iii

End Sub
вроде вот так получилось
Обращение к подобным именам переменных через строку
 
Цитата
JayBhagavan написал: 1mass(s)(i)
что такое (i)
Обращение к подобным именам переменных через строку
 
Вот сделал по подобию. Но теперь не понимаю как я могу получить данные допустим из второго массива.
Код
Sub test1()
    sss = 5
    
    ReDim mass_0(10)
    ReDim mass(1 To sss)
    
    For s = 1 To sss
        jjj = 0
        For i = 1 To 10
            mass_0(jjj) = i * s
            jjj = jjj + 1
        Next i
        mass(s) = mass_0
    Next s

End Sub


У меня на самом деле массивы не одинаковые. Данные в них разные записываются. Вот допустим как в этом примере.  
Обращение к подобным именам переменных через строку
 
Добрый день!
Помогите пожалуйста как это можно реализовать?
Допустим у меня есть 5 переменных массива. Имена у них подобные: массив1, массив2 и т.д.
Хочется сделать чтоб запись во все массивы происходила по циклу от 1 до 5.
Что-то типа такого:
Код
for i=1 to 5
 for r=1 to 10
  массив&i(r-1)=r
 next r
next i

Никак не могу найти как это реализовать. Нашел тему https://planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=59796&TITLE_SEO=59796-obrashchenie-... , но не то немного.

Буду очень благодарен за помощь.  
Ввести даты понедельников октября 2011г
 
Оригинально, спасибо большое. Только еще надо обработчик написать, если выходишь за рамки, например, количества понедельников в месяце.
Ввести даты понедельников октября 2011г
 
Добрый день уважаемые форумчане!!!
Уже давно работаю в Excel'е, но что-то не могу решить данную задачку, хотя на вид кажется очень простой.
Например, нужно ввести даты понедельников октября 2011 года.

Додумался только до того, что бы показывалась дата понедельника недели:
=B1-(ДЕНЬНЕД(B1;2)-1)
B1 - дата.
1 - номер дня недели.

Подскажите пожалуйста!!!
Определение элемента Listbox на котором установлен фокус
 
anvg, большое Вам спасибо! Все работает!
Определение элемента Listbox на котором установлен фокус
 
Получилось вот что.



Код
Private Sub CommandButton1_Click()
    Dim i As Long
    j = 0
    For i = 0 To ListBox.ListCount - 1
        If ListBox.Selected(i) Then
           Cells(1+ j, 1) = ListBox.List(i, 0) 
           Cells(1+ j, 2) = ListBox.List(i, 1) 
           Cells(1+ j, 3) = ListBox.List(i, 2) 
       Cells(1+ j, 4) = ListBox.List(i, 3) 
        j = j + 1
        End If  
    Next
End Sub
Изменено: AlexZanderG - 16.12.2013 14:24:59
Определение элемента Listbox на котором установлен фокус
 
anvg , что то я не понял как пройтись циклом по свойству?
с циклами я хорошо знаком, но чтоб надо было пройтись циклом по свойству, никогда с таким не встречался.
Определение элемента Listbox на котором установлен фокус
 
Читал!!!!!
Разобарлся пока что только если без мульти выбора:

Код
Private Sub CommandButton2_Click()
   With ListBox
        Range("A1") = .List(.ListIndex, 0)
        Range("B1") = .List(.ListIndex, 1)
        Range("C1") = .List(.ListIndex, 2)
        Range("D1") = .List(.ListIndex, 3)
   End With
End Sub
Определение элемента Listbox на котором установлен фокус
 
Всем доброе утро!
Интересовал такой же вопрос. Попробовал на своем примере, удалось выгрузить индекс выделенной строки в ячейку:
Код
Private Sub CommandButton2_Click()
   With ListBox1
        Range("L30") = .ListIndex
   End With
End Sub

А теперь хотелось бы получить (допустим выгрузить в какую-либо ячейку) значение первого столбца выделенной ячейки, а лучше конечно значения первого столбца всех выделенных ячеек (если стоит мульти выбор). Не могу разобраться как можно это сделать.
Построение скоростной характеристики двигателя
 
скорей всего Ne, Me, ge,Gt от скорости
Построение скоростной характеристики двигателя
 
Как я понял, тут три оси по вертикали и одна горизонтальная. Еще один выход построения, это построить допустим две линии по разным осям, а третью построить на одной из оси, только в масштабе, указав масштаб в названии оси.
Помогите устроиться на работу!!!, Задание для приема на работу
 
Google Вам в помощь,  не ленитесь. Вы найдете множество тем по вашим заданиям.
Цикл в VBA и выгрузка значений цикла в ячейки и ListBox, от 1,6 до 1,76 с шагом 0,001
 
Оказалось все гораздо проще:


Код
Const Pi As Single = 3.14
Sub Коэффициент_трансформации()
    Dim b As Single
    Dim Ew As Single
    Sheets("Лист1".ListBox1.Clear
    For b = 1.6 To 1.76 Step 0.001
   If Range("A1" = 1 Then
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(1)
   End If
   If Range("A1" = 2 Then
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(2)
   End If
        If Ew < 75 Then
            With Sheets("Лист1".ListBox1
                 .AddItem 
        i = .ListCount - 1
                .List(i, 0) = b
                .List(i, 1) = Ew
            End With
        End If
    Next b
End Sub
Цикл в VBA и выгрузка значений цикла в ячейки и ListBox, от 1,6 до 1,76 с шагом 0,001
 
У меня по данной задачке еще вот один вопрос возник:
Имеется макрос, который вы мне помогли написать:

Код
Const Pi As Single = 3.14
Sub Коэффициент_трансформации()
    Dim b As Single
    Dim Ew As Single
    Sheets("Лист1".ListBox1.Clear
    For b = 1.6 To 1.76 Step 0.001
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(2)
        If Ew < 75 Then
            With Sheets("Лист1".ListBox1
                 .AddItem 
        i = .ListCount - 1
                .List(i, 0) = b
                .List(i, 1) = Ew
            End With
        End If
    Next b
End Sub

Но возникла небольшая проблема. Например для параметра Ew у меня может быть два случая:
1. Если Range("A1" ) = 1, то Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(1)
2. Если Range("A1" )  = 2, то Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(2)

Если написать данное условие внутри цикла:
Код
Const Pi As Single = 3.14
Sub Коэффициент_трансформации()
    Dim b As Single
    Dim Ew As Single
    Sheets("Лист1".ListBox1.Clear
    For b = 1.6 To 1.76 Step 0.001
   If Range("A1" = 1 Then
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(1)
   If Range("A1" = 2 Then
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / Sqr(2)
   End If
        If Ew < 75 Then
            With Sheets("Лист1".ListBox1
                 .AddItem 
        i = .ListCount - 1
                .List(i, 0) = b
                .List(i, 1) = Ew
            End With
        End If
    Next b
End Sub

то будет происходить ошибка, не знаю как написать данное условие внутри макроса. Помогите пожалуйста, кто знает решение данной проблемы.
Изменено: AlexZanderG - 03.12.2013 09:41:05
Цикл в VBA и выгрузка значений цикла в ячейки и ListBox, от 1,6 до 1,76 с шагом 0,001
 
Пардон, надо было в свойствах указать два столбца (Column Count =2)
Цикл в VBA и выгрузка значений цикла в ячейки и ListBox, от 1,6 до 1,76 с шагом 0,001
 
Спасибо Вам большое, разобрался с Вашей помощью, оказывает все просто, присваиваешь i вначале, потом после записи в ячейку к i прибавляется 1. Только что то не получилось с загрузкой в листбокс, загрузился только первый столбик, в чем дело не могу понять.
Цикл в VBA и выгрузка значений цикла в ячейки и ListBox, от 1,6 до 1,76 с шагом 0,001
 
Добрый День уважаемые форумчане!
Пытаюсь изучать VBA в экселе и применять его к своим задачам.
Суть вопроса состоит в следующем: Написал макрос цикла для значений от 1,6 до 1,76 с шагом 0,001 и написал формулу которая зависит от этих значений.
Вот сам код:

Код
Sub Коэффициент_трансформации()
    Dim b As Single
    Dim Ew As Single
        For b = 1.6 To 1.76 Step 0.001
        Ew = 2 * Pi * 2000 * b * 50 * 0.0001 / (2 ^ (1 / 2))
        Next b  
Cells(1, 1) = b
Cells(1, 2) = Ew
End Sub

Нужно выгрузить сначала все значения b и все значения Ew, соответствующие значениям b в ячейки и так же в листбокс, а потом еще выгрузить строки например так же b и Ew только только когда Ew меньше 75.
Данную задачу я сделал с помощью формул в ячейках и потом с помощью условного форматирования окрасил те строки для которых выполняется условие Ew<75.
Помогите пожалуйста с данной задачкой.
Файл прилагаю.
Изменение цвета ярлыка листа при каком либо условии
 
Да, последний код будет универсальнее. Спасибо большое Вам!
Изменение цвета ярлыка листа при каком либо условии
 
k61, спасибо большое Вам! все работает хорошо! Код понял как работает.
Изменение цвета ярлыка листа при каком либо условии
 
Извините. да немного перепутал.
Допустим речь идет о столбце B. Но данные параметры находятся в ячейках B1, B6, B11, B16, B21, B26.
В других ячейках B2, B3 и т.д. находятся какие либо слова, по которым не надо проводить закрашивание листов.

Вот код я изменил немного.

Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B1, B6, B11, B16, B21, B26")) Is Nothing Then
        
        For i = 2 To Sheets.Count
            Sheets(i).Tab.ColorIndex = xlNone
        Next
        For i = 1 To 26
            If Not IsEmpty(Cells(i, 2)) Then
                Sheets(Cells(i, 2).Value).Tab.ColorIndex = 3
            End If
        Next
    End If
End Sub


Но не знаю как поменять данную строчку кода чтоб он не по всем 26 строчкам считывал а только по данным (1, 6, 11, 16, 21, 26):

Код
        For i = 1 To 26


Файл прилагаю так же.
Изменение цвета ярлыка листа при каком либо условии
 
С этим да, я уже разобрался. Но почему то когда вставляю в свой пример, у меня выводит ошибку на строчку кода:
[CODE][/CODE] Sheets(Cells(i, 4).Value).Tab.ColorIndex = 3

А так впринципе листы закрашиваются даже с ошибкой... только не могу понять что за ошибка
Изменение цвета ярлыка листа при каком либо условии
 
Не могу под свой пример этот макрос переписать.
Например если перемещаю диапазон A1:A6 в колонку B, получается диапазон B1:B6 и меняю в макросе естественно на диапазон B1:B6, то макрос почему то перестает работать
Изменение цвета ярлыка листа при каком либо условии
 
Юрий, Спасибо большое! Все отлично работает!
P.S.: только не могу понять как этот макрос работает.
Изменение цвета ярлыка листа при каком либо условии
 
Разобрался немного. Исправил макрос. Теперь при выборе из ячеек А1:А6 закрашиваются ярлычки соответствующих выбранных листов, но если какой либо параметр убираешь из ячеек А1:А6, то закрашенные листы все равно остаются. Не могу сообразить как дописать макрос, чтобы при отсутствии параметра в ячейках А1:А6 на соответствующем листе убиралось бы закрашивание ярлычка листа.
Файл переделанный прилагаю. Подскажите пожалуйста кто знает как сделать.
Изменение цвета ярлыка листа при каком либо условии
 
Добрый День Всем!!!
Данный макрос привязал к своему примеру. Все хорошо работает.
Только в моем примере нужно немного по другому реализовать.
Допустим есть выбор в ячейках А1:А6 из диапазона D1:D6. Нужно чтобы При выборе хотя бы одного параметра в ячейках  А1:А6 выделялся цветом соответствующий этому параметру лист. Повторений в ячейках А1:А6 быть не может.
Файл примера прилагаю.
Макрос немного изменил, написал сначала для ячейки А1. Почти все работает. Только остается заливка цветом ярлычка предыдущего выбора.
Страницы: 1 2 След.
Наверх