2016-12-18 2 views
0

У меня есть несколько таблиц с часов как текст в колонке А, и и работающей сумме рядом в в колонке В.Добавить текст в найденной ячейке

Строка, в которой мы часы в списке, который меняется в зависимости поэтому я забегаю нахожу, чтобы получить его местоположение.

Мы проводим качение суммы (= 5 + 3 + 6 + 8), чтобы иметь визуальный сигнал, как и в, индивидуум разработал 5 часов в первый день, 3 часа на следующий, 6 следующих т.д.

Я пытаюсь построить формулу, которая сможет добавить к этой строке и заполнить формулу, чтобы я мог видеть общее количество формулы в электронной таблице и отдельные дополнения в ее содержимом.

До сих пор у меня есть кое-что, чтобы найти ячейку и найти ее, но я не могу довести ее до конца в ее содержимом.

Рассмотрим thours переменной

Sub findhours() 
Dim hours As Range 
    Set hours =  Application.Workbooks("vbstest.dec17").Worksheets("sheet1").Cells.Find("hours") 
Dim thours As Range 
    Set thours =  Application.Workbooks("vbstest.dec17").Worksheets("sheet2").Cells.Find("hours") 

Dim z As Integer 
    Dim zh As Integer 

    z = hours.Column 
    zh = thours.Column 

Dim x As Integer 
Dim xh As Integer 

    x = hours.Row 
    xh = thours.Row 


    Application.Workbooks("vbstest.dec17").Worksheets("sheet1").Cells(x, z).Offset(0, 1).Value = 5 

Вышеизложенных удовлетворяют часов для ежедневно, по thours нужно немного больше. Как я взять что-то вроде:

Range(zh, xh + 1) 

который является строка сложения (= 5 + 3 + 6 + 8) и быть в состоянии добавить к этому также получить что-то вроде (= 5 + 3 + 6 + 8 + 4), а затем сможете вернуться к этому макросу, чтобы продолжать добавлять эту формулу? Большинство моих попыток вернули его значение (22).

Спасибо за вашу помощь.

+0

Вы пытаетесь сделать что-то вроде «Ячейки (xh + 1, zh) .Formula = Cells (xh + 1, zh) .Formula &" +5 "'? – YowE3K

ответ

1

Я не могу понять, какая ячейка содержит то, что в вашем вопросе, но если предположить, что Cells(r1, c1).Value содержит текущее общее количество отработанных часов, а Cells(r2, c2).Formula содержит формулу, рассчитанную за предыдущие общие часы работы, то вы можете обновить формулу до отражают текущие отработанному что-то вроде:

Cells(r2, c2).Formula = Cells(r2, c2).Formula & "+" & _ 
         (Cells(r1, c1).Value - Cells(r2, c2).Value) 

Я думаю, что я разработал макет листа, так что я думаю, что формула становится

With Application.Workbooks("vbstest.dec17").Worksheets("sheet2") 
    .Cells(xh, zh + 1).Formula = .Cells(xh, zh + 1).Formula & "+" & _ 
    (Application.Workbooks("vbstest.dec17").Worksheets("sheet1").Cells(x, z + 1).Value - _ 
    .Cells(xh, zh + 1).Value) 
End With