以下のコードが正常に動作していますが、ファイルを閉じるときにエラーコードがあります。 問題は、C24の後の列「C」の次の空のセルを検索するロジックにあります。ファイルを閉じて今の誤差についてはファイルを閉じるときのエラー
Private Sub ComboBox21_Change()
Dim NextFree As String
Dim Comboindex As Integer
Dim Combovalue As String
Comboindex = Sheet1.ComboBox21.ListIndex + 1
Combovalue = Sheet1.ComboBox21.Value
'NextFree = Range("C24:C" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Dim ws As Worksheet
Set ws = ActiveSheet
For Each cell In ws.Range("C24:C100")
If IsEmpty(cell) = True Then
NextFree = cell.Row
Exit For
End If
Next cell
If NextFree > 25 Then
Set ws1 = ThisWorkbook.Sheets("Feuil1")
With ws1
Set Rng = .Rows(NextFree - 1)
Rng.Copy
Rng.Offset(1).Insert Shift:=xlDown
Application.CutCopyMode = False
.Range("C" & NextFree & ":H" & NextFree).ClearContents
End With
End If
Worksheets("Feuil1").Cells(NextFree, 3).Value = Worksheets("Feuil2").Cells(Comboindex, 1).Value
Worksheets("Feuil1").Cells(NextFree, 5).Value = Worksheets("Feuil2").Cells(Comboindex, 2).Value
Worksheets("Feuil1").Cells(NextFree, 6).Value = Worksheets("Feuil2").Cells(Comboindex, 3).Value
Worksheets("Feuil1").Cells(NextFree, 8).Value = "=+F" & NextFree & "-(G" & NextFree & "*F" & NextFree & ")"
TotalHTF = "=SUM(H25:H" & NextFree & ")"
Worksheets("Feuil1").Cells(NextFree + 1, 8).Value = TotalHTF
TotalHT = Worksheets("Feuil1").Cells(NextFree + 1, 8).Value
TVAF = "=H" & NextFree + 1 & "*0.2"
Worksheets("Feuil1").Cells(NextFree + 2, 8).Value = TVAF
TVA = Worksheets("Feuil1").Cells(NextFree + 2, 8).Value
NetF = "=H" & NextFree + 1 & "+H" & NextFree + 2
Worksheets("Feuil1").Cells(NextFree + 3, 8).Value = NetF
Net = Worksheets("Feuil1").Cells(NextFree + 3, 8).Value
End Sub
です:あなたが見ることができるように
For Each cell In ws.Range("C24:C100")
、私が試してみました: は
ラインで「変数またはWithブロック変数が設定されていないオブジェクト」また、オプションを使用する前に:
'NextFree = Range("C24:C" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
これも機能しましたが、以下のエラーがありましたファイルを閉じるときに: "RangeクラスのSpecialCellsプロパティを取得できません"
どのようにすればいいですか?
よろしく、
ブライアン
あなたはどのようなファイルをクローズしていますか? – user3598756
for eachループはうまく動作します。 'sheet1'と' sheet2'をWorksheets( "Sheet1")とWorksheets( "Sheet2")に置き換えるか、最初に定義する必要があります。 –
このコードを持つExcelファイルを閉じるときにエラーが発生します。今私はシート1からワークシート( "Sheet1")にコードを変更しましたが、私はまだドキュメントが閉じると同じエラーが発生しています。初期コードが更新されました。エラー: "オブジェクト変数またはブロック変数が設定されていません" – Brian