#vb.net #visual-studio #visual-studio-2010
#vb.net #visual-studio #visual-studio-2010
Вопрос:
Хорошо, сначала я попытаюсь объяснить это как можно лучше…
Моя программа создает динамическую таблицу информации, я пытаюсь упростить часть информации, используя цикл. Чтобы упростить задачу, я просто скажу, что таблица начинается с A1 и переходит в (columnindex:rowindex * 6) (эта часть уже выполнена).
я хочу, чтобы он делал среднее значение для каждого столбца и помещал их в другое место на том же листе Excel.
Итак, среднее (A1: A(rowindex * 6)), среднее (B1: B(rowindex * 6)) и так далее вплоть до среднего ((columnindex) 1:columnindex(rowindex * 6)
Теперь сложная часть….
Начиная с ((rowindex*6) 5)…. Итак, 5 строк ниже приведенной выше таблицы, начиная с столбца A….
Продолжайте…
Average(A), Average(B)
Average(C), Average(D)
Average(E), Average(F)
И так далее, пока не будут перечислены все столбцы…
Где я изо всех сил пытаюсь преобразовать columnindex в соответствующие буквы, поскольку всегда есть 34-40 столбцов
Я знаю, что хотел бы сделать что-то вроде:
i = 5
for x = 1 to x = columnindex
dim Num2Let1 as string = a=1, b=2, c=3, so on..
dim Num2Let2 as string = a=1, b=2, c=3, so on..
xlWorkSheet2.Cells((rowindex*6) i), 1) = "Average(" amp; Num2Let1.ToString amp; cstr(1) amp; ":" amp; Num2Let1.ToString amp; cstr(rowindex*6))
xlWorkSheet2.Cells((rowindex*6) i), 2) = "Average(" amp; Num2Let2.ToString amp; cstr(1) amp; ":" amp; Num2Let2.ToString amp; cstr(rowindex*6))
i = i 1
x = x 2
loop
next
Если бы кто-нибудь мог дать мне несколько советов, независимо от того, является ли этот подход наиболее подходящим для моей проблемы, или если есть более простое решение, я был бы очень признателен.
Спасибо
Ответ №1:
Вот функция, которая выдаст вам имя столбца на основе его индекса:
Private Function GetExcelColumnName(columnNumber As Integer) As String
Dim col As Integer = columnNumber
Dim columnName As String = ""
Dim num As Integer
While col > 0
num = (col - 1) Mod 26
columnName = Convert.ToChar(65 num).ToString() amp; columnName
col = CInt((col - num) 26)
End While
Return columnName
End Function
Это должно помочь вам создать средние строки функций.
Комментарии:
1. Рад помочь, я сам нуждался в этом несколько раз … это даже в моем наборе инструментов 🙂