У меня есть Excel с поддержкой макросов, в котором данные сохраняются на листе базы данных в рабочей книге, а также данные сохраняются в отдельной книге базы данных, теперь я хочу сохранить данные только в базе данных SQL, и я не знаю, как я это сделаю.
Private Sub Clear_Click()
Sheets("Encode").Range("D3").ClearContents
Sheets("Encode").Range("D6").ClearContents
Sheets("Encode").Range("C11:C30").ClearContents
Sheets("Encode").Range("G11:G30").ClearContents
End Sub
Sub Save_Click()
Dim i As Long, lastrow As Long, n As Long
Dim vResult()
Dim myWs As Worksheet
Set myWs = ThisWorkbook.Sheets("DATABASE")
If ActiveSheet.Range("d2") = "" Or ActiveSheet.Range("D7") = "" Or ActiveSheet.Range("d3") = "" Or ActiveSheet.Range("d4") = "" Or ActiveSheet.Range("d5") = "" Or ActiveSheet.Range("d6") = "" Or ActiveSheet.Range("C11") = "" Or ActiveSheet.Range("G11") = "" Then
MsgBox "Please complete all fields!"
Exit Sub
End If
i = 11
Do While Cells(i, 3) <> "" And i < 30
n = n + 1
ReDim Preserve vResult(1 To 12, 1 To n)
vResult(1, n) = ActiveSheet.Range("d6") ' Date
vResult(2, n) = ActiveSheet.Range("d4") ' Source
vResult(3, n) = ActiveSheet.Range("d5") ' Destination
vResult(4, n) = ActiveSheet.Range("d3") ' Reference
vResult(5, n) = ActiveSheet.Cells(i, 3) ' Item Code
vResult(6, n) = ActiveSheet.Cells(i, 4) ' Description
vResult(7, n) = ActiveSheet.Cells(i, 5) ' U/M
vResult(8, n) = ActiveSheet.Cells(i, 6) ' Price
vResult(9, n) = ActiveSheet.Cells(i, 7) ' QTY
vResult(10, n) = ActiveSheet.Cells(i, 8) ' Amount
vResult(11, n) = ActiveSheet.Range("d7") ' Transaction
vResult(12, n) = ActiveSheet.Range("d2") ' Consignor
i = i + 1
Loop
Dim wb As Workbook
Set wb = Workbooks("IM WH.xlsm")
With wb.Sheets(Range("D5").Text)
.Range("a" & Rows.Count).End(xlUp)(2).Resize(n, 12) = WorksheetFunction.Transpose(vResult)
End With
myWs.Range("a" & Rows.Count).End(xlUp)(2).Resize(n, 12) =
WorksheetFunction.Transpose(vResult)
MsgBox "Saved Succesfully!"
Call Clear_Click
ThisWorkbook.Save
End Sub