Excelシートに次のマクロがあります。病院番号で識別された患者を取得して1つの列に姓を入れても問題ありません。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
よりも数6を使用するだけでした。 – R3uK