いつも参考にさせてもらっています。
エクセルの2013で下記のようなテレフォンアポイント用のデータがあります。
(1)(2)のようなマクロボタンを作成するにはどのようにしたらよろしいでしょうか?ご教授の程よろしくお願いいたします。
A B C D
顧客名電話番号 架電日 架電履歴
DA DB DC DD
一回目の日 一回目の履歴 二回目の日 二回目の履歴・・・・・
★マクロボタンを押すと下記(1)(2)が実行されるマクロ
(1)CとDの架電日と架電履歴をDA以降の列に反映れる
例)CのデータがDA DのデータがDB
DA DB DC DD DE DF
1/10 留守 1/11 留守 1/14 提案中・・・・・
顧客によって架電回数に違いがでるため、イメージ的にはDAにデータが入っていたらDC、DCにデータが入っていたらDEのようにどんどん蓄積されていくイメージです。
(2)CとDのセルのデータはクリアされる
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
んじゃ折角なので
>イメージ的にはDAにデータが入っていたらDC、DCにデータが入っていたらDEのようにどんどん蓄積
という通りに作成してみます。
private sub CommandButton1_Click()
dim h as range
dim c as long
on error goto errhandle
for each h in range("C:C").specialcells(xlcelltypeconstants, xlnumbers)
’次のヒトカタマリはオマケ機能。不要なら削除。
if h.offset(0, 1) = "" then
h.offset(0, 1).select
msgbox "履歴が記入されていない"
exit sub
end if
’入ってないとこをどんどん探す
c = 105
do until cells(h.row, c) = ""
c = c + 2
loop
h.resize(1, 2).copy cells(h.row, c)
h.resize(1, 2).clearcontents
next
errhandle:
end sub
#D列に記入したら自動転記しちゃう案も考えましたが,まぁ何件か記入した後にボタンをポチるとまとめて待避する今のアイデアの方が,使い良いカモですね。
No.1
- 回答日時:
こんにちは!
↓の画像のように顧客一人につき1行使用するとします。
Sheet上にコマンドボタンを配置し、↓のコードにしてみてください。
Private Sub CommandButton1_Click()
Dim i As Long, j As Long, endCol As Long
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "C") <> "" Then
endCol = Cells(i, Columns.Count).End(xlToLeft).Column
If endCol < 105 Then
j = 105
Else
j = endCol + 1
End If
Cells(i, "C").Resize(, 2).Copy Cells(i, j)
Cells(i, "C").Resize(, 2).ClearContents
If Cells(1, j) = "" Then
With Cells(1, j)
.Value = ((j + 2) Mod 105) / 2 & "回目の日"
.Offset(, 1) = ((j + 2) Mod 105) / 2 & "回目の履歴"
End With
End If
End If
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) 簡単なエクセルマクロについて 4 2023/02/20 10:22
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Access(アクセス) 対象月の2桁表示について 1 2023/01/07 05:08
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) エクセルでのアクセス履歴をとりたいです 1 2022/06/13 17:30
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
EXCEL VBAでA列にある空白行よ...
-
Excel VBA オートフィルタの結...
-
数値に見えるものはすべて数値...
-
VBAで特定の行と一つ上の行を削...
-
Excel97 指定した行だけマク...
-
【至急】Excel 同一人物の情報...
-
VBAによりマッチング操作
-
複数セルの入れ替え方法 excel vba
-
マクロにて指定の文字間の文字...
-
VB.net
-
エクセルで階層図を作る方法
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル ボタンに設定したマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで空白行を削除する ...
-
エクセルのデータがない行には...
-
【VBA】条件に一致しない行を削...
-
数値に見えるものはすべて数値...
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
マクロで最終行を取得してコピ...
-
Excel97 指定した行だけマク...
-
Excel VBA オートフィルタの結...
-
【至急】Excel 同一人物の情報...
-
エクセルのVBAで指定した行数の...
-
VBAで入力の結果を他のセルに反...
-
エクセルで階層図を作る方法
-
VBAで特定の行と一つ上の行を削...
-
エクセルVBAでデータの蓄積方法?
-
VB.net
-
Excel マクロ 検索結果を別シ...
-
VBAでの重複データに色付け
-
EXCEL VBAでA列にある空白行よ...
-
Access2003レポート:最終ペー...
おすすめ情報