如何基于2单元格的值选择工作表和表格

时间:2019-10-30 10:17:19

标签: excel vba

我需要使用伪格式输入数据。我想得到的是将特定表中的数据发送到由“帐户”和“银行”单元格的值声明的特定工作表。

示例,(文件中使用的语言是意大利语)

用于发送数据的伪格式 数据-帐户-银行-Operazione-敢-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”表

我想得到的是填写pesudo-from:

数据:2019/12/12

帐户:用户_1

银行:Banca_2

OPERAZIONI:购买

DARE:+ 25.00€

AVERE:-34.00€

并在可用的第一行中的“ Utente_1”标签中的“ Banca_2”工作表中发送数据。

2 个答案:

答案 0 :(得分:0)

您似乎需要做的所有更改是

Dim BANK As String更改为Dim BANK As Variant

,然后将所有("Banca_1")(BANK)

它如何工作?您在用户表单中声明银行名称,然后将选择正确的表格。

请注意,在使用INPUTBOX时,您需要精确输入银行名称,否则找不到工作表。

让我知道它是否有效

答案 1 :(得分:0)

当我在“操作表格”中声明帐户名称(utente_1; utente_2,utente_3 ..... utente_N)并声明银行名称(Banca_1; Banca_2; Banca_3 .... Banca_4)时,这将选择正确的名称表格和正确表格上的正确格式表。 example