2012-01-27 7 views
-1

в Excel-лист для процедуры записи столбца A, которая с помощью функции MsgBox возвращает столбец A1 с первого адреса пустого ящика.Столбцы VBA и Excel

Извините за мой плохой Английский

+1

Непонятно, что вы хотите ... можете ли вы привести пример или картину того, чего вы хотите достичь? – brettdj

+0

Бреттдж, не забывайте, что с 1 репутацией вы в значительной степени исключены из публикации ничего, кроме текста. –

ответ

1

Это не ответ. Я пытаюсь помочь вам задать свой вопрос. Не беспокойтесь, если ваш английский плохой. Если вы скажете достаточно, мы сможем догадаться, что вы имеете в виду. Одного предложения недостаточно.

Ниже я попытался использовать короткие, простые предложения. Надеюсь, ты меня поймешь. Правильно ли мои догадки? Если нет, я надеюсь, что это поможет вам написать более четкий вопрос.

Это домашнее задание? Первое упражнение с Excel? Вы перевели его со словарем? «Ящик» - английское слово, но в Excel нет ящиков. Вы имеете в виду «клетку»? A1 является ячейкой. B5 - ячейка. Вы кладете вещи в ящик. Вы кладете вещи в камеру. Это ошибка английского языка - словари Xxxxxx.

Создайте и откройте новую книгу Excel. Нажмите Alt + F11. Справа вверху вы увидите серое пространство. Справа внизу вы увидите белую область с надписью «Immediate». Вниз по левой стороне вы увидите что-то вроде:

VBAProject (Your excel file) 
    Microsoft Excel Objects 
    Sheet1 (Sheet1) 
    Sheet2 (Sheet2) 
    Sheet3 (Sheet3) 
    ThisWorkbook 

Если щелкнуть левой кнопкой мыши Лист1, а затем щелкните правой кнопкой мыши, вы увидите меню что-то вроде:

View Code 
View Object 
-------------------- 
VBProject Properties 
:  : 
:  : 

Нажмите View Code. Серая область станет белой. Здесь вы можете ввести код для Листа 1. Это то, что вы подразумеваете под «в Excel-листе»?

Я не собираюсь вводить код с Sheet1. Я собираюсь использовать модуль.

Перейдите на панель инструментов и нажмите «Вставить». В меню выберите «Модуль».

окно вниз слева теперь будет выглядеть так:

VBAProject (Your excel file) 
    Microsoft Excel Objects 
    Sheet1 (Sheet1) 
    Sheet2 (Sheet2) 
    Sheet3 (Sheet3) 
    ThisWorkbook 
    Modules 
    Module1 

«Module1» будет серым, потому что он выбран.

Я думаю, вас попросили: «Найти первую пустую ячейку в строке 1 и отобразить ее номер столбца с помощью MsgBox». Есть много способов сделать это. Какой из них самый простой? Я не знаю. Вот два способа:

Option Explicit 

' Both these routines work on the ActiveSheet. That is, the worksheet 
' you can see when you switch to Excel. If this code had been against 
' Sheet1, it would have worked on Sheet 1 even if another sheet had been 
' active. 

Sub FindFirstEmpty1() 

    ' This routine uses Offset. Range("A1").Offset(RowOffset, ColOffset) says 
    ' I want to look at the cell which is RowOffset rows down from A1 and 
    ' ColOffset columns right from A1. 

    Dim ColOffset As Long 

    ColOffset = 0 
    Do While True 
    If Range("A1").Offset(0, ColOffset).Value = "" Then 
     Call MsgBox("The first empty column is " & ColOffset + 1, vbOKOnly) 
     Exit Sub 
    End If 
    ColOffset = ColOffset + 1 
    Loop 

End Sub 

Sub FindFirstEmpty2() 

    ' This routine uses Cells(Row, Column). The columns are numbered: A=1, B=2, 
    ' C=3 and so on. Cells(Row, Column) lets me look at any cell in the 
    ' worksheet. 

    Dim ColCrnt As Long 

    ColCrnt = 1 
    Do While True 
    If Cells(1, ColCrnt).Value = "" Then 
     Call MsgBox("The first empty column is " & ColCrnt, vbOKOnly) 
     Exit Sub 
    End If 
    ColCrnt = ColCrnt + 1 
    Loop 

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