
いつも参考にさせてもらっています。
エクセルの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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ピポットテーブルのマクロについて
-
数値に見えるものはすべて数値...
-
vbaエクセルマクロについて she...
-
関数入りの行挿入。。。上書き...
-
【VBA】条件に一致しない行を削...
-
エクセルのデータがない行には...
-
EXCEL VBAでA列にある空白行よ...
-
マクロで最終行を取得してコピ...
-
VBAでsumif関数
-
エクセルで空白行を削除する ...
-
エクセル VBAに関しての質問
-
各個体に対する平均値の自動計...
-
Excel VBAでオートフィルタで抽...
-
マクロコードについて教えてく...
-
エクセルのVBAで指定した行数の...
-
VBAでの重複データに色付け
-
WPSOffice_マクロの有効化について
-
エクセル関数>参照ファイル名...
-
Excel マクロの編集がグレーに...
-
エクセル ボタンに設定したマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数値に見えるものはすべて数値...
-
【VBA】条件に一致しない行を削...
-
Excel マクロ 検索結果を別シ...
-
Excel VBAでオートフィルタで抽...
-
エクセルのデータがない行には...
-
VB.net
-
マクロで最終行を取得してコピ...
-
列から特定の文字列検索→該当以...
-
【VBA】条件に一致しない行を削...
-
Access2003レポート:最終ペー...
-
エクセルで空白行を削除する ...
-
【マクロ】A列最終行までを、カ...
-
Excel97 指定した行だけマク...
-
マクロにて指定の文字間の文字...
-
vbaエクセルマクロについて she...
-
エクセルのVBAで指定した行数の...
-
複数セルの入れ替え方法 excel vba
-
各個体に対する平均値の自動計...
-
エクセルで階層図を作る方法
-
EXCEL VBAでA列にある空白行よ...
おすすめ情報