2016-03-16 4 views
0

У меня проблема. У меня есть простая таблица excel с картинками, которые меняют число строк каждый день. Я адаптировал код vba, найденный в Интернете (я очень новичок в vba). Я хотел добавить строку в первую пустую ячейку (последнюю строку таблицы) и управлять ею с помощью vba. Но строка содержит число, которое меняется каждый день, и мне нужно обновить этот номер вместе со строкой. Число - это число непустых строк после применения фильтра и содержится в некоторой ячейке в той же книге. Как вы можете сделать vba, который бы адаптировался к тому, что у меня уже есть? Итак, это выглядит так: 1. Найдите первую пустую ячейку (donne) 2. Выберите диапазон от найденной ячейки и слияния (donne) 3. Добавьте текстовую строку + номер из другой ячейки (ячейка содержит формулу для вычисления число) + другая часть текстовой строки (эта часть - моя проблема)?Vba для текстовой строки + другое значение ячейки + текстовая строка

Самое лучшее отношение к любому, кто может помочь

+2

Вы должны опубликовать свой существующий код, или этот вопрос, скорее всего, будет закрыт. –

+0

Спасибо, что предупредил меня. Я поставлю код в следующий раз прямо сейчас, мой плохой, так что не сложно. – Nikola

ответ

0

Я чувствую, как пользователь предоставил достаточно информации и объяснил, как они прибыли в их нынешнем блокпосту (плюс они являются новыми), поэтому я дам им презумпцию сомневаюсь и предоставляю мой вклад.

Код: code

Выход

output

ActiveSheet.Range("Whatever cell you want this in").Value = textstring1 & ActiveSheet.Range("Cell with the formula/number you need").Value & textstring2 

В скобках вы должны поместить ячейку или диапазон, который вы хотите получить значение из, например: ActiveSheet.Range("A2").Value

Также , вместо жесткого кодирования ваших текстовых строк вы можете использовать переменные. Так, вместо "Test" можно использовать сказать переменную string1, который вы определили выше код и дали значение следующим образом:

Dim string1 as String: string1 = "Test"

+0

Большое спасибо, этот ответ очень полезен для меня, и теперь я справился с этой проблемой. Быстрый и точный ответ и отличное понимание проблем, поскольку я не предоставлял полную информацию, но это разница между человеческим интеллектом и компьютерной программой. Люди могут читать между строк! – Nikola

+0

Вот код (я так новый и мой браузер настолько старый, что форматирование выглядит очень странно, поэтому я не уверен, где разместить код): – Nikola

+0

Sub Macro1() Dim ws As Worksheet Set ws = ActiveSheet Для каждого ячейка В ws.Columns (5) .Cells Если IsEmpty (cell) = True Затем ячейка. Выбрать: Выход для Следующая ячейка Dim string1 As String: string1 = "* Примечание: в этом обзоре ... всего " Dim string2 As String: string2 =" в этот день) указывается в W-диске, "" Что-то "" " ActiveCell.Value = string1 &" "& ActiveSheet.Range (" L3 "). Value &" "& string2 Диапазон (ActiveCell.Offset (1, -1), ActiveCell.Offset (0, 6)). Выберите С выбором .WrapText = True .MergeCells = True End With End Sub – Nikola

Смежные вопросы