2016-12-29 4 views
0

Im пытается добавить текст в каждый из столбцов заголовка в моем документе excel с помощью скрипта vba.Тип несоответствия в excel vba при добавлении к ячейке

Dim c As Range 

For Each c In Sheet13.Rows(1) 
    c.Value = c.Value & "bleh" 
Next 

Однако это дает мне ошибку несоответствия типа 13, и я не знаю почему. Клетки просто содержат текст.

ответ

2
For Each c In Sheet13.UsedRange.Rows(1).Cells 

.Cells Чтобы получить отдельные ячейки, а не целые строки.

.UsedRange, чтобы избежать перехода к концу строки (XFD1). Вы можете настроить его, чтобы получить только непустые, постоянные клетки, т.е .:

For Each c In Sheet13.UsedRange.Rows(1).SpecialCells(xlCellTypeConstants) 
+1

Отлично спасибо. Неправильно указывать его, когда таймер заканчивается. – CathalMF

2

Попробуйте код ниже:

Option Explicit 

Sub AddBleh() 

Dim c As Range 
Dim LastCol As Long 
Dim HeaderRng As Range 

With Sheet13 
    ' find last column with data in header row 
    LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 

    ' set Range to only header row where there is data 
    Set HeaderRng = .Range(.Cells(1, 1), .Cells(1, LastCol)) 

    For Each c In HeaderRng.Cells 
     c.Value = c.Value & "bleh" 
    Next 

End With 

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