Столбцы VBA и Excel - PullRequest
       5

Столбцы VBA и Excel

0 голосов
/ 27 января 2012

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

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

1 Ответ

1 голос
/ 29 января 2012

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

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

Это домашняя работа?Первое упражнение с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...