Excel ブック内の成績表を結合するための VBA コード。教育の最前線にいる友人に非常に適しています。
このとき、さまざまなワークシートを結合して要約表を作成する必要もあります。各表の生徒数が必ずしも一貫して揃っているわけではないため、これはさらに面倒で間違いが発生しやすくなります。試験を見逃してしまう人もいるかもしれないので、受験番号を間違えて書いてしまう人もいるかもしれません。次のコードは専用であり、生徒のスコア テーブルまたは他の同様のテーブルを結合するために使用できます。このコードの特徴は、SQL や Access などの大きなソフトウェアを使用する必要がなく、実行に必要なのは Excel だけであり、非常に便利です。転載する際は広告を消さないで下さい。
適切な LAN 管理ソフトウェアをお持ちですか?ネットワーク管理ツールは十分に柔軟で効率的ですか?このネットワーク管理ソフトウェアを見てください。
' =========================================== =
' マスターテーブルを結合する際、計算に含まれないテーブルの数
' 結合されたマスターテーブルは通常最後のワークシートに配置されるため、このテーブルは除外する必要があります。
Const ExcludeSheetCount = 1
' main 関数は ADO を使用しているため、このコードを実行するには次のように参照する必要があります。
' ツール>リファレンス、リファレンス ADO (Microsoft ActiveX Data Objects 2.X Library)
' すべてのシートを合計テーブルにリンクします
' マージされるテーブルの最初の行はフィールド名である必要があります。セルを結合しません
Sub SQL_ADO_EXCEL_JOIN_ALL()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i, k, shCount As Integer
Dim SQL, SQL2 As String 、 cnnStr As String
Dim s1、s2、s3、tmp As String
Dim ws As Worksheet
Const IDIdx = 1
Const ScoreIdx = 3
shCount = ActiveWorkbook.Sheets.Count
' すべての試験番号を取得します
' EXCEL は重複データを自動的に削除します
' SQL = "([Language$] から ID を選択) Union ([English$] から ID を選択) Union ([Physical$] から ID を選択) ] ]) ID 順に並べる"
SQL = ""
For i = 1 To shCount - ExcludeSheetCount
s1 = "(SELECT ID FROM [" & Sheets(i).Name & "$])"
If i = 1 then
SQL = s1
Else
SQL = SQL & " UNION " & s1
End If
Next
'MsgBox SQL
Set ws = ActiveWorkbook.Sheets(shCount)
cnnStr = "provider = microsoft.jet.oledb.4.0;拡張プロパティ='Excel 8.0;HDR=yes;IMEX=1';データ ソース= & ThisWorkbook.FullName
cnn .CursorLocation = adUseClient
cnn.ConnectionString = cnnStr
cnn.Open
rs.Open SQL、cnn、adOpenKeyset、adLockOptimistic
ws.Activate
ws.Cells.Clear
For i = 1 rs.Fields.Count へ
ws.Cells(1, i) = rs.Fields(i - 1).Name
次
ws.Range("A2").CopyFromRecordset rs
For i = 1 To shCount - ExcludeSheetCount
Sheets(shCount).Cells(1, i + 1) = Sheets(i).Name
Next
'EXCEL は UPDATE
をサポートしていません' SQL = "update [Merge$] set Chinese = '1'"
' 内部結合と同等
'SQL = "select tt.ID,ta.score as Chinese,tb.score as English from [Merge$] ] AS tt、[中国語$] as ta、[English$] as tb "
'SQL = SQL & "where (tt.ID = ta.ID) and (tt.ID = tb.ID)"
' すべてのテーブルを左結合
' テストに合格したステートメント
'SQL = "select tt.ID,ta.score AS Chinese,tb.score as English from ([Merge$] AS tt left join [中国語] $] as ta on tt.ID = ta.ID) "
'SQL = SQL & "left join [English$] as tb on tt.ID = tb.ID"
SQL2 = "([" & Sheets(shCount ).Name & "$] AS tt LEFT JOIN [" & Sheets(1).Name & "$] AS t1 ON tt.id=t1.id) "
SQL = "SELECT tt.ID, "
For i = 1 To shCount - ExcludeSheetCount
tmp = "t" & i
SQL = SQL & tmp & ".score AS " & Sheets(i).Name
If i If i > 1 then
SQL2 = "(" & SQL2 & " LEFT JOIN [" & Sheets(i).Name & "$] AS " & tmp & " ON tt .id=" & tmp & ".id)"
End If
Next
s1 = SQL & " FROM " & SQL2 & " ORDER BY tt.ID"
MsgBox s1
rs .Close
rs.Open s1、cnn、adOpenKeyset、adLockOptimistic
' テーブルをクリア
ws.Activate
Cells.Select
Selection.Delete Shift:=xlUp
For i = 1 rs.Fields.Count へ
ws.Cells(1, i) = rs.Fields(i - 1).Name
次
ws.Range("A2").CopyFromRecordset rs
rs .Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
Call AddHeader
Call FindBlankCells
Call TableBorderSet
ws.Columns(1)。 AutoFit
ws.Cells(2, 1).Select
MsgBox "Finished."
End Sub
' 表の最初の行に行を挿入し、セルを結合して説明テキストを追加します。
Sub AddHeader ()
Dim ws As Worksheet
Dim s1, s2 As String
shCount = ActiveWorkbook.Sheets.Count
Set ws = Sheets(shCount)
Column = ws. UsedRange.Columns.Count
ws.Rows(1).Insert
s1 = Chr(Asc("A") + Column - 1)
s2 = "A1:" & s1 & "1"
ws.Range (s2).Merge
ws.Rows(1).RowHeight = 100
s1 = "説明" & Chr(13) & Chr(10) & _
"この集計表手動処理中のテスト番号のずれによるずれを避けるために、複数の単一被験者の客観的なテストスコアが計算によって生成されます。 " & Chr(13) & Chr(10) & _
"注: 単一の科目のスコア表に同じテスト番号が存在する場合、全体の表におけるその科目のスコアは不正確になります。" & Chr(13) & Chr(10) & _
「間違ったテスト番号は通常、テーブルの上部または下部に表示されます。」
ws.Cells(1, 1) = s1
ActiveSheet。 Rows(1).RowHeight = 80
' ペインを固定します
ActiveSheet.Rows(3).Select
ActiveWindow.FreezePanes = True
ActiveWindow.SmallScroll Down:=0
End Sub
' 表の境界線を設定します
Sub TableBorderSet()
ActiveSheet.usedRange.Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
次で終了
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
次で終了
With Selection.Borders (xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsidehorizontal)
.LineStyle = xlContinuous Weight = xlThin>。
.ColorIndex = xlAutomatic
End With
End Sub
' 得点のないセルをマークして、解答用紙に得点のない生徒を簡単に見つけます
Sub FindBlankCells()
Dim i, j, row、col As Integer
'ActiveSheet.Cells(2, 1).Interior.ColorIndex = 15
row = ActiveSheet.usedRange.Rows.Count
col = ActiveSheet.usedRange.Columns .Count
i = 2 の場合、行
の場合、j = 2 の場合、列
If IsEmpty(ActiveSheet.Cells(i, j).Value) の場合、
ActiveSheet.Cells(i, j)。
End If
Next
Next
End Sub

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Excelは日々の事務作業でデータ処理に使用されることが多く、「フィルター」機能を使用することが多いです。 Excel で「フィルタリング」を実行する場合、同じ列に対して最大 2 つの条件しかフィルタリングできません。では、Excel で同時に 3 つ以上のキーワードをフィルタリングする方法をご存知ですか?次に、それをデモンストレーションしてみましょう。 1 つ目の方法は、フィルターに条件を徐々に追加することです。条件を満たす 3 つの詳細を同時にフィルターで除外する場合は、まずそのうちの 1 つを段階的にフィルターで除外する必要があります。最初に、条件に基づいて姓が「Wang」の従業員をフィルタリングできます。 [OK]をクリックし、フィルター結果の[現在の選択をフィルターに追加]にチェックを入れます。手順は以下の通りです。同様に再度個別にフィルタリングを行う

印刷が必要なファイルを開いたときに、印刷プレビューで表の枠線が何らかの原因で消えてしまった場合は、早めに対処する必要があります。 file このような質問がある場合は、エディターに参加して次のコースを学習してください: Excel で表を印刷するときに枠線が消えた場合はどうすればよいですか? 1. 次の図に示すように、印刷する必要があるファイルを開きます。 2. 以下の図に示すように、必要なコンテンツ領域をすべて選択します。 3. 以下の図に示すように、マウスを右クリックして「セルの書式設定」オプションを選択します。 4. 以下の図に示すように、ウィンドウの上部にある「境界線」オプションをクリックします。 5. 下図に示すように、左側の線種で細い実線パターンを選択します。 6.「外枠」を選択します

私たちは日々の仕事や勉強で、他人からExcelファイルをコピーし、そのファイルを開いて内容を追加したり、再編集したりして保存することがありますが、互換性チェックのダイアログボックスが表示されることがあり、非常に面倒です。ソフトウェア. 、通常モードに変更できますか?そこで以下では、エディターがこの問題を解決するための詳細な手順を紹介します。一緒に学びましょう。最後に、忘れずに保存してください。 1. 図に示すように、ワークシートを開き、ワークシートの名前に追加の互換モードを表示します。 2. このワークシートでは、内容を変更して保存すると、図のように互換性チェックのダイアログが必ず表示され、非常に面倒です。 3. [Office] ボタンをクリックし、[名前を付けて保存] をクリックして、

e私たちはExcelを使ってデータテーブルなどを作成することがあります。パラメータ値を入力するときに、特定の数値の上付きまたは下付きが必要になることがあります。たとえば、数式がよく使用されます。では、Excelで下付き文字を入力するにはどうすればよいですか?詳細な手順を見てください: 1. 上付き文字の方法: 1. まず、Excel に a3 (3 は上付き文字) と入力します。 2. 数字「3」を選択し、右クリックして「セルの書式設定」を選択します。 3. 「上付き文字」をクリックし、「OK」をクリックします。 4. ほら、効果はこんな感じです。 2. 下付き文字の設定方法: 1. 上付き文字の設定方法と同様に、セルに「ln310」(3 は下付き文字) と入力し、数字の「3」を選択し、右クリックして「セルの書式設定」を選択します。 2.「下付き文字」にチェックを入れて「OK」をクリックします。

データを処理していると、倍数や温度などのさまざまな記号が含まれるデータに遭遇することがあります。 Excel で上付き文字を設定する方法をご存知ですか? Excel を使用してデータを処理する場合、上付き文字を設定しないと、大量のデータを入力するのがさらに面倒になります。今回はエクセルの上付き文字の具体的な設定方法をエディターがお届けします。 1. まず、図に示すように、デスクトップで Microsoft Office Excel ドキュメントを開き、上付き文字に変更する必要があるテキストを選択します。 2. 次に、図に示すように、右クリックして、クリック後に表示されるメニューで「セルの書式設定」オプションを選択します。 3. 次に、自動的に表示される「セルの書式設定」ダイアログボックスで

ほとんどのユーザーは Excel を使用してテーブル データを処理します。実は Excel にも VBA プログラムがあります。専門家を除けば、この関数を使用したユーザーはあまり多くありません。VBA で記述するときによく使用されるのが iif 関数です。実際には、次の場合と同じです。関数の機能は似ていますが、iif関数の使い方を紹介します。 SQL ステートメントには iif 関数があり、Excel には VBA コードがあります。 iif 関数は Excel ワークシートの IF 関数と似ており、論理的に計算された真値と偽値に基づいて真偽値を判定し、異なる結果を返します。 IF 関数の使用法は (条件、はい、いいえ) です。 VBAのIF文とIIF関数、前者のIF文は条件に応じて異なる文を実行できる制御文であり、後者は条件に応じて異なる文を実行できる制御文です。

ソフトウェアの学習では、Excel が便利なだけでなく、実際の作業で必要なさまざまな形式に対応できるため、Excel の使用に慣れています。Excel は非常に柔軟に使用でき、今日は「みんなのために:Excelの読み取りモードを設定する場所」を持ってきました。 1. コンピュータの電源を入れ、Excel アプリケーションを開き、目的のデータを見つけます。 2. Excel で読み取りモードを設定するには 2 つの方法があります。 1 つ目: Excel には、Excel レイアウトで多数の便利な処理メソッドが配布されています。 Excelの右下に読み取りモードを設定するショートカットがあります。バツマークのパターンを見つけてクリックすると、読み取りモードに入ります。バツマークの右側に小さな立体マークがあります。 。

1. PPT を開き、Excel アイコンを挿入する必要があるページに移動します。 「挿入」タブをクリックします。 2. [オブジェクト]をクリックします。 3. 次のダイアログボックスが表示されます。 4. [ファイルから作成]をクリックし、[参照]をクリックします。 5. 挿入する Excel テーブルを選択します。 6. [OK] をクリックすると、次のページが表示されます。 7. [アイコンで表示]にチェックを入れます。 8. 「OK」をクリックします。
