【发布时间】:2016-08-23 01:40:34
【问题描述】:
新手尝试在配置为提示登录并允许 diff Id 和 PW 查看不同工作表的 Excel 工作簿上混合和匹配代码。
If Me.userid.Value = "admin" And Me.userpw.Value = "admin" Then
MsgBox "Login Successful!", vbInformation, "Login Alert"
MsgBox "Entry and use data with caution and exercise confidentiality at all times!", vbExclamation, "Critical Reminder"
Unload Me
Sheets("Summary Report View").Visible = True
Sheets("Summary Report View").Select
Sheets("Data Validation").Visible = True
Sheets("Data Entry 1").Visible = True
Sheets("Data Entry 2").Visible = True
Sheets("Data Entry 3").Visible = True
我面临的挑战是无法将其他工作簿(称为 6-9months 的特定工作表)中的数据复制到我正在处理的此工作簿到数据条目 1 中。条件是获取具有名称的所有行列 I 中的“John”并粘贴到名为“数据条目 1”的活动工作表中。我试图通过单击按钮来激活代码以获取所有行,但它似乎不起作用。
Confirmation = MsgBox("Are you sure to removal all contents? This is not reversible", vbYesNo, "Confirmation")
Select Case Confirmation
Case Is = vbYes
Sheets("Data Entry 2").Cells.ClearContents
MsgBox "Information removed", vbInformation, "Information"
Dim GCell As Range
Dim Txt$, MyPath$, MyWB$, MySheet$
Dim myValue As String
Dim P As Integer, Q As Integer
Txt = "John"
MyPath = "C:\Users\gary.tham\Desktop\"
MyWB = "Book1.xlsx"
'MySheet = ActiveSheet.Name
Application.ScreenUpdating = False
Workbooks.Open Filename:=MyPath & MyWB
lastrow = ActiveSheet.Range("A" & Rows.Count).End(x1Up).Row
For i = 2 To lastrow
If Cells(i, 11) = txt Then
Range(Cells(i, 1), Cells(i, 13)).Select
Selection.Copy
P = Worksheets.Count
For Q = 1 To P
If ThisWorkbook.Worksheets(Q).Name = "Data Entry 2" Then
Worksheets("Data Entry 2").Select
ThisWorkbook.Worksheets(Q).Paste
End If
Next Q
End If
Next i
Case Is = vbNo
MsgBox "No Changes Made", vbInformation, "Information"
End Select
【问题讨论】:
-
@Ralph,非常感谢您的留言,我很感激。请理解,这不是一个代码编写服务,因为它更像是一个在代码错误上互相帮助的社区。我已经更新了正在使用的代码(“我通过一系列网站和 youtube 运行”)...抱歉,我对 VBA 不太熟悉。
标签: vba excel conditional