как выбрать лист и таблицу на основе значения 2 ячейки - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно ввести данные, используя псевдо-форму. То, что я хотел бы получить, - это отправить данные из определенной таблицы на конкретный лист, которые объявлены значением ячеек «Счет» и «Банк».

пример (язык, который я использую вфайл итальянский)

Псевдоформа для отправки данных Данные - Аккаунт - Банк - Operazione - Dare - Avere

"Аккаунт" - это раскрывающееся меню с выбором "Utente_1,Utente_2, User_3, .. Utente_n (гипотетически бесконечные значения «Utente»).

«Банк» - это раскрывающееся меню с вариантами выбора «Banca_1, Banca_2, Banca_3 ... Banca_n (гипотетически бесконечные значения"Banca")

Я пытался с этим небольшим кодом, и я могу только отправлять данные в "Рабочие таблицы (" Banca_1 "). Выберите" Я не очень хорошо знаю с языком VBA, есть кто-нибудь, ктоможет помочь мне?

Dim DATA As Date
Dim ACCOUNT As String
Dim BANK As String
Dim OPERAZIONE As String
Dim DARE As Currency
Dim AVERE As Currency

With Sheets("Home")
    DATA = .Cells(13, 1).Value
    ACCOUNT = .Cells(13, 2).Value
    BANK = .Cells(13, 3).Value
    OPERAZIONE = .Cells(13, 4).Value
    DARE = .Cells(13, 5).Value
    AVERE = .Cells(13, 6).Value 
End With

Call InsOper(DATA, ACCOUNT, BANK, OPERAZIONE, DARE, AVERE)

Dim riga As Integer
Dim v As Variant
riga = 12
Worksheets("Banca_1").Select 

Do
    riga = riga + 1
    v = Sheets("Banca_1").Cells(riga, 2).Value '
Loop While Not IsEmpty(v)

With Sheets("Banca_1") 
    .Cells(riga, 2).Value = DATA
    .Cells(riga, 3).Value = ACCOUNT
    .Cells(riga, 4).Value = BANK
    .Cells(riga, 5).Value = OPERAZIONI
    .Cells(riga, 6).Value = DARE
    .Cells(riga, 7).Value = AVERE
End With

MsgBox ("Ok! Operazione aggiunta con successo")

У меня есть лист для каждого "банка", и на каждом листе есть таблица для каждого "Utente"

Я хотел бы получить, чтобы заполнитьв псевдо-от:

ДАННЫЕ: 12/12/2019

СЧЕТ: User_1

БАНК: Banca_2

OPERAZIONI: ПОКУПКА

DARE: + 25,00 €

AVERE: -34,00 €

и отправьте данные влист с именем "Banca_2" на вкладке с именем "Utente_1" в первой доступной пустой строке.

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Когда я объявляю имя Учетной записи (utente_1; utente_2, utente_3 ..... utente_N) и объявляю имя Банка (Banca_1; Banca_2; Banca_3 .... Banca_4) в «форме операции», и это выбирает правильноелист и правильно отформатированную таблицу на правильном листе. пример

0 голосов
/ 30 октября 2019

Похоже, что все необходимые вам изменения:

изменить Dim BANK As String на Dim BANK As Variant

, а затем все ("Banca_1") на (BANK)

Как это устроено? Вы объявляете название банка в пользовательской форме, а затем выбираете правильный лист.

Помните, что при использовании INPUTBOX вам нужно быть точным с названием банка, иначе он не найдет лист.

Дайте мне знать, если это работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...