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

Страницы: 1 2 3 4 5 6 7 8 След.
Как гарантированно выйти из таблицы word созданной из vba Excel
 
Код
Dim oWord As Object: Set oWord = CreateObject("Word.Application") 'создать Word
     oWord.Visible = True
Dim oDoc As Object: Set oDoc = oWord.Documents.Add 'создать документ Word

    With oDoc.Parent.Selection
        Set myTable = oDoc.Tables.Add(.Range, 4, 3, DefaultTableBehavior, AutoFitBehavior) 'создать таблицу 4 строки 3 столбца
        oDoc.Content.Select 'выделить весь документ
        oDoc.Parent.Selection.Move Unit:=2 'сместиться вконец, тем самым выйти из таблицы
        .TypeText "123123 " & vbNewLine 'писать текст после таблицы
    End With
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Нет смыла описывать. Там очень сложный кривой код.
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Да я уже понял, что так как мне надо не получится, и придется ковыряться простыми методами, про которые я забыл.
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Ну это в общем выход. Не догадался. Немного поиграться, воткнуть костылей и получится кривая, хромая, но рабочая лошадка.
Благодарствую Евгений и низкий поклон  :D

кривое, хромое - это бездумное копирование в цитату [МОДЕРАТОР]
Изменено: vikttur - 25.11.2021 17:20:52
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Цитата
написал:
Range("A1") и Cells(1,1)  одно и тоже
Потому что, раньше данные забивались в ячейку "A1", а теперь адрес будет плавающий. Например Cells(rst.rields(0), 1+i*2)
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Цитата
написал:
, я такого не предлагал  
ваш код, при x = "cells(1,1)" не работает
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Код
x= "cells(1,1)"
debug.print Range(x).row

не работает. Он Range от x взять не может
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Я думал, что понятно объяснил, что мне нужно.
Нужно чтобы раболтало Range(x), где x должно быть в виде cells(1, 1),  а не  "А1"
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
x as String
Файл огромный, который состоит из коллекций. В коллекции есть строковые переменные. Делается SQL запрос из базы, а потом по этому справочнику раскидывает данные.

Цитата
что у Вас в макрсое непонятно
нужно преобразовать ссылку в виде "A1" на вид "cells(1,1)"
указание диапазона из текстовой переменной, Range(x), где x = "cells(1, 1)"
 
Добрый день!
столкнулся с проблемой в чужом коде.

есть переменная, x = "A1", а дальше идет указание диапазона в формате Range(x)
Изменяю x = "cells(1, 1)" и Range(x) перестает работать.

Подскажите, как заставить Range(x) начать работать? Может какие-то дополнительные функции есть Range(func(x))?

Буду очень признателен.
Разнести данные из столбца по строкам и связать значения соседнего столбца
 
Попробуйте, может поможет
экспортируйте в txt или csv, а потом из Excel подтяните эти данные. Некоторые подобные сбои так лечатся.
Перенести данные из нескольких файлов в один файл
 
Код
Sub CombineWorkbooks()
    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim ws As Worksheet: Set ws = wb.Sheets(1) 'вместо 1, можно указать "Лист1" например
    Dim wb1 As Workbook
    Dim ws1 As Worksheet
    Dim FilesToOpen
    Dim x As Integer
    On Error GoTo ErrHandler
    Application.ScreenUpdating = False
    FilesToOpen = Application.GetOpenFilename _
                  (FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", _
                   MultiSelect:=True, Title:="Files to Merge")
    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "Не выбрано ни одного файла!"
        GoTo ExitHandler
    End If
    x = 1
    While x <= UBound(FilesToOpen)
        Set wb1 = Workbooks.Open(Filename:=FilesToOpen(x)) 'присвоение на переменную объекта открываемой книги
        For Each ws1 In wb1.Worksheets 'перебор листов в открываемой книге
            i = ws.Cells(Rows.Count, 1).End(xlUp).Row 'последняя строка по 1 столбцу в этой книге
            i1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row 'последняя строка по 1 столбцу в открываемой книге книге
            If i1 > 1 Then 'если на листе есть чтото кроме шапки
                ws1.Rows("2:" & i1).Copy ws.Cells(i + 1, 1) 'вставить вместе с формулами
            End If
        Next ws1
        x = x + 1
    Wend
ExitHandler:
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox Err.Description
    Resume ExitHandler
End Sub
Отключить уведомления об опечатке в формуле, В формуле обнаружена опечатка. Мы предлагаем следующее исправление:
 
То, что он мне подсовывает, мне в 95% случаев подходит
Отключить уведомления об опечатке в формуле, В формуле обнаружена опечатка. Мы предлагаем следующее исправление:
 
Дело в том, что как правило - это касается скобки в конце. На работе компьютер автоматически исправляет, а дома вылазит уведомление об ошибке. Мешается оно мне :(
Отключить уведомления об опечатке в формуле, В формуле обнаружена опечатка. Мы предлагаем следующее исправление:
 
Добрый день!

Подскажите пожалуйста, как в Excel отключить уведомления об опечатке в формуле. Чтобы он автоматом заменял
Изменено: CrazyRabbit - 18.07.2020 12:20:10
Изменение диапазона защищенного листа после ввода данных в этот диапазон
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    IName = Environ("UserName")
    Select Case IName
        Case "Иванов"
            If Not Intersect(Target, Range("A1:A100")) Is Nothing And IsEmpty(Target) Then
                Target.Locked = False
            Else
                Target.Locked = True
            End If
        Case "Петров"
            If Not Intersect(Target, Range("B1:B100")) Is Nothing And IsEmpty(Target) Then 
                Target.Locked = False
            Else
                Target.Locked = True
            End If
    End Select
End Sub
Изменено: CrazyRabbit - 25.02.2020 17:35:47
Вызвать из VBA альтернативу IE
 
http://excel.bilee.com/chrome-i.html
Запись макроса: Автофильтр - не верный выбор значений
 
Код
ActiveSheet.Range("$A$1:$A$14").AutoFilter Field:=1, Criteria1:="<>" & "", Operator:=xlAnd, Criteria2:="<>0", Operator:=xlFilterValues
Изменено: CrazyRabbit - 12.09.2018 13:21:49
SQL открывает книгу, вместо того, чтобы подключиться к ней, Файл работает на удаленном рабочем столе
 
Благодарю!
SQL открывает книгу, вместо того, чтобы подключиться к ней, Файл работает на удаленном рабочем столе
 
Добрый день, коллеги!
У меня есть большой Excel файл, в котором огромное количество макросов. На локальном компьютере все работает идеально. Когда его перенесли на удаленный сервер, он там 2 месяца работал нормально, но сейчас появилась проблема, к которой я не знаю как подступиться.
В макросе есть такая строчка подключения SQL к файлу данных:
Код
con.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.FullName & "; Extended Properties=""Excel 12.0;HDR=No;IMEX=1""")
Если раньше, на переменную con задавалась книга как объект, сейчас на удаленном сервере, он повторно открывает файл (в режиме чтения соответственно).
Прошу подсказку, где можно искать причину изменения поведения кода?


Более полный кусок кода:
Код
    Set con = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")
        con.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.FullName & "; Extended Properties=""Excel 12.0;HDR=No;IMEX=1""")
            
            rst.Open "(Select F3 as ДатаОпер, F2 as ДатаЗап, F4 as Факт, 0 as План FROM [Факт$] WHERE F1 = '" & lc & "')" & _
            "union all (Select t1.ДатаОпер, t1.ДатаЗап, 0 as Факт, t1.План from " & _
            "(Select F1 as ЛС, F3 as Согл, F4 as ДатаОпер, F2 as ДатаЗап, F5 as План FROM [План$] WHERE F6 ='1' and F1 = '" & lc & "') t1 " & _
            "INNER JOIN (Select F1 as ЛС, F3 as Согл, F4 as ДатаОпер, F5 as План, MAX(F2) as ДатаЗап FROM [План$] WHERE F1 = '" & lc & "' GROUP BY F1, F3, F4, F5) t2 " & _
            "ON t1.ЛС=t2.ЛС AND t1.ДатаЗап=t2.ДатаЗап and t1.Согл=t2.Согл and t1.План=t2.План and t1.ДатаОпер=t2.ДатаОпер) " & _
            "order by ДатаОпер Desc", con

            plfa.Cells(2, 1).CopyFromRecordset rst
        rst.Close
        con.Close
Комплексное сопровождение и настройка файла
 
Готов взяться.
Требуется Аналитик 80 тыс.руб, Постоянная работа.
 
Вакансия закрыта
Подсчет длин серий в последовательности формулой
 
По-моему, это адекватнее всего будет сделать через пользовательскую функцию (VBA).
Требуется Аналитик 80 тыс.руб, Постоянная работа.
 
Открыта вакансия в должности Аналитика.
Требования:
Высокие знания Excel
Высокие знания VBA
Средние знания SQL

Знание Power Query, Power Pivot и Power BI будет преимуществом.

Условия
Адрес: МО, г. Химки. Юбилейный проспект
Оклад 80 000 руб. (на руки). Схема серая
график работы: пн-пт, время с 8:00 до 17:00 или с 11:00 до 20:00. Изо дня в день может меняться.

Подробнее в личку.
SQL в Power Pivot, Синтаксис
 
Андрей VG, Пробовал - вчера не пропускало. Возможно Pivot у меня вчера глючил
SQL в Power Pivot, Синтаксис
 
Nordheim, Мне не в VBA, а в Power Pivot надо.
Gauss, странно, но работает.
Вчера весь вечер пытался написать - выдавал ошибку. А сейчас - все работает :(
Спасибо
KPI Сотрудника, Изменение уже имеющейся формулы Факт.работы.
 
И чем вариант вида (сумеслиМН 1столбец - сумеслиМН 2 столбец)/(сумесли 1столбец - сумесли 2 столбец) вам не подходит? Или я не понял вопроса?
SQL в Power Pivot, Синтаксис
 
Добрый день!

При работе в Power Pivot хочу вытянуть данные из Access. Предлагается 2 варианта, вытянуть всю таблицу или через SQL-запрос. Лопатил несколько часов интернет, но так и не нашел, как пишутся там запросы. Единственное, что нашел, так это странный запрос из SQL-server.

Если у кого есть, выложите сюда хотя бы простенький рабочий запрос. Что-нибудь вроде Select [Продажи].[Фамилия] from [Продажи] Where  [Цена]> 10
Как добавить значение в существующую формулу суммы
 
Могу предложить только пользовательскую функцию (VBA) Которая будет суммировать со всех листов, кроме листа "Общее сальдо"
Код
Function SumAllList(r As Range) As Currency
Application.Volatile
Dim ws As Worksheet
SumAllList = 0
    For Each ws In ThisWorkbook.Sheets
        If ws.Name <> "Общее сальдо" Then
            SumAllList = SumAllList + ws.Cells(r.Row, r.Column)
        End If
    Next ws
End Function
Изменено: CrazyRabbit - 16.05.2018 07:54:52
Универсальная формула с использованием "ДАТАМЕС"
 
Если месяц строка выше = 2 и остаток от деления на 2 год(строка выше) =0, то равно строка выше, иначе пусто
Страницы: 1 2 3 4 5 6 7 8 След.
Наверх