VBA - командная кнопка Сохраняет значение TextBox в другой книге - PullRequest
0 голосов
/ 01 октября 2018

Мне нужна помощь в создании кода, который позволит мне сохранять ввод данных в TextBox в другую книгу под названием FoundData.xlsm - лист FoundData

Местоположение рабочей книги = FileShare-MFG (N:)/Manufacturing/PhysicalInventory/Tools

До сих пор я мог использовать CommandButton для сохранения в листе того же файла.

Буду очень признателен за любой вклад и помощь.

Ниже приведен текущий код VBA.

Заранее спасибо,

Private Sub cmdSave_Click() 
    Dim lRow As Long 
    Dim lPart As Long 
    Dim wb As Workbook 
    Set wb = Worksheets("FoundItems") 

    'find first empty row in database 
    lRow = wb.Cells.Find(What:="*", SearchOrder:=xlRows, _ 
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 

    With wb 
        ' .Unprotect Password:="password" 
        .Cells(lRow, 1).Value = Me.txtQuarter.Value 
        .Cells(lRow, 2).Value = Me.txtDate.Value 
        .Cells(lRow, 3).Value = Me.txtTSN.Value 
        .Cells(lRow, 4).Value = Me.txtPN.Value 
        .Cells(lRow, 5).Value = Me.txtQty.Value 
        .Cells(lRow, 6).Value = Me.txtLoc.Value 
        .Cells(lRow, 7).Value = Me.txtName.Value 
        .Cells(lRow, 8).Value = Me.txtComments.Value 
        ' .Protect Password:="password" 
    End With 

    'clear the data 
    Me.txtDate.Value = "" 
    Me.txtTSN.Value = "" 
    Me.txtPN.Value = "" 
    Me.txtQty.Value = "" 
    Me.txtLoc.Value = "" 
    Me.txtComments.Value = "" 
End Sub

1 Ответ

0 голосов
/ 01 октября 2018

Если рабочая книга уже открыта, вы можете просто сослаться на нее

Dim Ws As Worksheet
Set Ws = Workbooks("FoundData").Worksheets("FoundItems")

Обратите внимание, что вы должны использовать объект рабочей таблицы, а не объект рабочей книги, как вы это сделали.Так что Dim ws As Worksheet здесь.


Если он закрыт, вы можете открыть его с помощью Workbooks.Open Method

Dim Wb As Workbook
Set Wb = Workbooks.Open(FileName:="N:\Manufacturing\PhysicalInventory\Tools\FoundData.xlsm")

и затем обратиться к листу с помощью

Dim Ws As Worksheet
Set Ws = Wb.Worksheets("FoundItems")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...