У меня есть следующий макрос в Листе Excel - который извлекает пациента, идентифицированного по номеру больницы, и помещает там фамилию в один столбец, и это отлично работает.VBA Значение настройки ячейки не изменяет содержимое ячеек в незащищенном листе
Теперь мне нужно вставить больше данных на листе, но пока появляется фамилия, другие данные нет.
У меня нет проблем с записью в ту же ячейку, в ячейки слева, но когда я пытаюсь писать столбцы справа, ничего не происходит.
Лист не защищен, это не случай, когда шрифт и фон ячейки являются белыми. Есть идеи?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Mrn As String
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("C10:C29")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Set cn = New ADODB.Connection
Mrn = Target.Text
If Mrn = "" Then
Target.Offset(0, 1).Value = ""
Else
cn.ConnectionString = "MyConnectionString"
cn.Open
Set rs = cn.Execute("Select nhs_surname From nhs_patient_s Where UPPER(nhs_patientid) = '" + UCase(Mrn) + "'")
If rs.EOF Then
Target.Offset(0, 1).Value = "UNKNOWN"
Else
Do While Not rs.EOF
Dim surname As String
surname = rs("nhs_surname")
Target.Offset(0, 1).Value = surname
Target.Offset(, 3).Value = "Now here!!!!"
rs.MoveNext
Loop
End If
End If
End If
End Sub
BTW, пожалуйста, не используйте [тег: макросы] тег, который не является для VBA. – R3uK