前提・実現したいこと
Microsoft360のエクセルを使っています。
VBAでヘッダの最終列を取得した後、C列から飛び飛びで列を挿入したいのですが、範囲にしたい文字列を無理やり作るやり方しか思いつきませんでした。もし、もう少しスマートな記述法があったらご教示お願い致します。
該当のソースコード
vba
1Private Sub CommandButton2_Click() 2Dim apc As Integer 3Dim dc As Integer 4Dim i As Integer 5Dim pc As Integer 6Dim rg As String 7Dim rgs As String 8Dim edc As String 9Dim edcs As String 10Dim edcs2 As String 11 12'枠組み作製 13dc = Range("A1").End(xlToRight).Column '最終入力列を取得 14 For i = 2 To dc '数字に対応したアルファベットを作ってRange()に格納する範囲を作成 15 rg = Chr(i + 65) 16 edc = Chr((i * 2 - 1) + 64) 17 rgs = rgs + rg + ":" + rg + "," 18 edcs = edcs + edc + ":" + edc + "," 19 edcs2 = edcs2 + edc + "," 20 21 Next i 22rgs = Left(rgs, Len(rgs) - 1) 23edcs = Left(edcs, Len(edcs) - 1) 24edcs2 = Left(edcs2, Len(edcs2) - 1)'余計なカンマを削除 25 26 27Range("" + rgs + "").Insert '飛び飛び列挿入 28Range("" + edcs + "").ClearFormats 29 30End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/21 06:43