gpt4 book ai didi

vba - 如何使用VBA将某些记录添加到某些工作表

转载 作者:行者123 更新时间:2023-12-02 11:04:00 25 4
gpt4 key购买 nike

我编写了一个 VBA 用户表单,用包含计算机信息的记录填充 Excel 工作表。我还有 4 个不同的工作表,每个工作表对应一个组合框中列出的分支。

我想知道是否可以编写一个 if 语句,将记录相应地放入正确的工作表中。

我目前有一个 If 语句,会将其插入分支“SNN”,但我想知道是否可以编写类似于下面的语句

If branch = worksheet name then insert the record into that worksheet.

这就是我目前正在做的工作,但是有太多分支,必须为每个分支单独执行此代码

Private Sub submitBtn_Click()

Dim wsDub, wsORK, wsSNN, wsBFS As Worksheet
Set wsDub = ThisWorkbook.Sheets("DUB")
Set wsORK = ThisWorkbook.Sheets("ORK")
Set wsSNN = ThisWorkbook.Sheets("SNN")
Set wsBFS = ThisWorkbook.Sheets("BFS")

If newPcForm.cmbBranch.Value = "SNN" Then

mynr = wsSNN.Cells(Rows.Count, 1).End(xlUp).Row + 1

wsSNN.Cells(mynr, 1) = newPcForm.cmbBranch
wsSNN.Cells(mynr, 2) = newPcForm.pcname
wsSNN.Cells(mynr, 3) = newPcForm.cmbPcModel
wsSNN.Cells(mynr, 4) = newPcForm.cmbCPU
wsSNN.Cells(mynr, 5) = newPcForm.cmbDiskSpace
wsSNN.Cells(mynr, 6) = newPcForm.cmbRAM
wsSNN.Cells(mynr, 7) = newPcForm.cmbMonth + "-" + newPcForm.cmbYear
wsSNN.Cells(mynr, 8) = newPcForm.assetTag
wsSNN.Cells(mynr, 9) = newPcForm.serviceTag

End If


newPcForm.Hide

End Sub

是否可以做这样的事情,或者更好的解决方案是将它们全部放入一个并在标题上应用过滤器。

感谢任何帮助。

最佳答案

绝对一体化...

我很高兴您认识到这是一个选择;有些人喜欢反对这个建议,因为坦率地说,改变可能会令人恐惧。消除重复总是最好的,而且将所有内容都放在一个文档中的好处多得我无法列举。 (也许其他人会对此发表意见?)

在我看来,理想情况是将数据移至MS Access的好时机,因为无论如何您都处于重组过程中。您开始将其用作数据库,这可能会工作得很好,但是您可以使用 Access 做更多的事情,更不用说它更适合多用户环境,并且与一张巨大的工作表。 ...但如果没有,将所有数据放在一张表中将避免您必须编写重复的代码,这可能会使将来进行更改或跟踪问题变得非常困难。

如果由于某种原因您决定出于演示或交互的原因而希望将数据放在单独的工作表上,仍然可以通过“假正面”类型的设置轻松完成,其中用户仅认为 数据被分割到多个工作表中,而实际上它被很好地组织到一个隐藏工作表中 - 另外,在这种情况下,如果他们不小心弄乱了数据,也不会丢失任何内容。

关于vba - 如何使用VBA将某些记录添加到某些工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50661822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com