Это не ответ.Я пытаюсь помочь вам задать свой вопрос.Не беспокойтесь, если ваш английский плохой.Если вы скажете достаточно, мы можем догадаться, что вы имеете в виду.Одного предложения недостаточно.
Ниже я постарался использовать короткие простые предложения.Я надеюсь, что вы меня понимаете.Мои догадки верны?Если нет, я надеюсь, что это поможет вам написать более ясный вопрос.
Это домашняя работа?Первое упражнение с Excel?Вы перевели это со словарем?«Ящик» - это английское слово, но в Excel нет ящиков.Вы имеете в виду "клетка"?А1 это клетка.В5 это клетка.Вы кладете вещи в ящик.Вы кладете вещи в камеру.Это ошибка английского языка - Xxxxxx словари делают.
Создайте и откройте новую книгу Excel.Нажмите Alt
+ F11
.Справа вверху вы увидите серую область.Справа внизу вы увидите белую область с надписью «Немедленно».Внизу слева вы увидите что-то вроде:
VBAProject (Your excel file)
Microsoft Excel Objects
Sheet1 (Sheet1)
Sheet2 (Sheet2)
Sheet3 (Sheet3)
ThisWorkbook
Если вы щелкнете левой кнопкой мыши по Sheet1 и затем щелкните правой кнопкой мыши, вы увидите меню, похожее на:
View Code
View Object
--------------------
VBProject Properties
: :
: :
Нажмите View Code
.Серая область станет белой.Здесь вы можете ввести код для Листа 1. Это то, что вы подразумеваете под «в листе Excel»?
Я не собираюсь ставить код против Листа1.Я собираюсь использовать Модуль.
Перейдите на панель инструментов и нажмите Вставить.В меню выберите Модуль.
Окно внизу слева теперь будет выглядеть так:
VBAProject (Your excel file)
Microsoft Excel Objects
Sheet1 (Sheet1)
Sheet2 (Sheet2)
Sheet3 (Sheet3)
ThisWorkbook
Modules
Module1
«Модуль1» будет серым, потому что он выбран.
Iдумаю, вас попросили: «Найдите первую пустую ячейку в строке 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