Возьмите все ячейки в листе Excel в виде строки (VBA) - PullRequest
2 голосов
/ 28 июня 2011

По сути, я создаю приложение Excel, которое при запуске предложит пользователю указать на конкретный файл Excel, и оно примет местоположение в виде строки, которая отлично работает.То, что я не уверен, как это сделать, это выбрать диапазон в активном рабочем листе и взять значение в каждой ячейке и объединить их в 1 строку.

Пока это мой код:

Option Explicit

Sub locate_file()

Dim file As String
Dim sheet1_95 As String
Dim theRange As Range

'prompt user for location of other excel sheet'
file = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx")

'test input of location'
Workbooks("testing input file.xlsx").Sheets("location").Activate
Range("A1") = file

'activate the workbook and sheet'
Workbooks("95%.xlsx").Sheets("DT").Activate

'Testing retrieving cells as string'
Set theRange = Range("A2:A4")

'how do i retrieve values in this range and combine them into 1 string?'

End Sub

Ответы [ 2 ]

2 голосов
/ 29 июня 2011
'Testing retrieving cells as string'
Set theRange = Range("A2:A4")

'how do i retrieve values in this range and combine them into 1 string?'
Dim c as int, x as int
Dim strValue as string
c = therange.rows.count
strValue = vbnullstring
for x = 1 to c
strValue = strValue & theRange.cells(x,1).value
next x
2 голосов
/ 28 июня 2011

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

Используя функцию Application.InputBox (в отличие от VBA.InputBox):

dim r as range
set r = application.inputbox("Select a range", Type:=8)

и взять значение в каждой ячейке и объединить их в 1 строку.

Проходя по клеткам:

dim c as range
dim s as string

for each c in r.cells
  s = s & c.value
next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...