У меня возникают проблемы с ошибкой Runtime 13 «Ошибка несоответствия типа». Я пытаюсь использовать несколько строк кода и конденсировать их в одну строку, каждая из которых размещена рядом. Проблема в том, что мои входы - это строки и числа, что, по моему мнению, вызывает эту проблему. Как я могу это исправить?Excel VBA Тип 13 Несоответствие с использованием массива, содержащего значения и строки
Sub multRowsTo1Row()
Dim inputRange As Variant
Dim outputRange As Variant
inputRange = Selection
y = UBound(inputRange, 1)
x = UBound(inputRange, 2)
ReDim outputRange(1 To x * y)
For j = 1 To y
For i = 1 To x
outputRange(i + y(j - 1)) = inputRange(j, i)
Next i
Next j
Selection.Offset(0, x).Select
End Sub
Это было! Спасибо. Просто из любопытства, почему я помещаю хэш-символы после x и y? Кроме того, точка кода состоит из двух или более строк. Я не сталкивался с проблемами переполнения, но я не тестировал их на больших наборах данных. –
hashtag - сокращенное обозначение для 'Integer', вы можете« Dim y As Integer, x As Integer », это то же самое. Если вы не попали в ошибку переполнения, не беспокойтесь об этом, я подумал, что у меня ошибка, поэтому я добавил этот тест 'If selection.Rows.count> 2 ...', поэтому вы можете удалить эти строки , –
Еще раз спасибо !!! –