最近噂のChatGPT。大学受験問題も解ける賢いAIだとか。そこで私も試してみました。 指示は、「単価、数量、金額の列を持つExcelのテーブルを一行ずつ読み、金額を計算して更新するVBAを作りなさい。ListObjectとFor eachを用いなさい」です。 結果は次の通り正しく回答されました。 マジかと思いました。 自然言語からコードが生成されるだけで驚きですが、金額を計算しなさいと言っただけで、単価と数量を乗算しています。 試しに実行 上の画面のテキストをコピペしたものです。 ExcelのVBAでは、ListObjectを用いることで、Excelシート上のテーブルを操作することができます。以下は、単価、数量、金額の列を持つExcelのテーブルを一行ずつ読み、金額を計算して更新するVBAの例です。 Sub UpdateTable() Dim tbl As ListObject Dim row As ListRow ' テーブルを取得します Set tbl = ActiveSheet.ListObjects("Table1") ' テーブルの各行を取得します For Each row In tbl.ListRows ' 単価と数量から金額を計算します Dim unitPrice As Double Dim quantity As Integer unitPrice = row.Range(1, 1).Value quantity = row.Range(1, 2).Value row.Range(1, 3).Value = unitPrice * quantity Next row End Sub 上記のVBAを実行すると、単価と数量から金額を計算し、テーブル内の金額の列が更新されます。 ListObjectを用いることで、Excelシート上のテーブルを簡単に操作することができるようになります。また、For Eachステートメントを用いることで、テーブルの各行を順番に取得し、処理を行うことができます。 できています。実際にテーブルを作って実行してみました。 実行結果 ちなみに、quantityのデータ型がintegerで最大値が小さい
コメント
コメントを投稿