スプレッドシートの最後の行に論理的にデータを挿入するユーザーフォームを作成しようとしていますが、データをドロップするとデータはフォーマットされません細胞。私の最初の考えは、データをドロップする前に、最後の行を選択してフォーマットすることだけです。この '.Autofit'プロパティはこのコードで機能しますが、他の設定、たとえば左揃えのテキストなど私は本当に必要、働かないでください。私は何が欠けていますか? (。私は、これは複製を作成する知っているNDA上の理由から、「スタッフ」で、すべてのユーザーフォームのテキスト物事や変数を置き換え)最後の行を選択し、VBでExcelでフォーマットします。
Private Sub StuffUpload_Click()
Dim ws As Worksheet
' Grabs the worksheet that the user is currently looking at, making this
' form work on all sheets
Set ws = ActiveSheet
' Make sure all required fields have been entered
If Stuff.Text = "" Then
MsgBox "You must enter Stuff."
Stuff.SetFocus
Exit Sub
End If
' Add a dash of formatting to the last row so the stuff we put into it will
' look nice
ws.Range("B" & Rows.Count).End(xlUp).Offset(1).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Rows.AutoFit
End With
' Adds the Stuff info into Col B at the Last Blank Row
ws.Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Me.Stuff.Value
' Add date and time stamp for the moment the comment was entered
ws.Range("C" & Rows.Count).End(xlUp).Offset(1).Value = Date + Time
' Adds the Stuff info into Col D at the last Blank Row
ws.Range("D" & Rows.Count).End(xlUp).Offset(1).Value = Me.Stuff.Value
Unload Me
End Sub
あなたが本当にVBを使用しています。ネット?コードはちょうど普通のVBAのように見えるので、誤って[vb.net]タグを追加した可能性があります。 – YowE3K
'Set ws = ActiveWorkbook.ActiveSheet'?アクティブなシートを使用する必要がある場合は、 'Set ws = ActiveSheet'を実行します。 –
vb.netタグを削除し、ActiveWorkbookを削除するコードを更新しました。みんなありがとう! – Motornerve