![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?8acaa2e)
No.4ベストアンサー
- 回答日時:
ボタンがクリックされた時のアクティベイトされたシートと
VBA構文を開けて実行させた時のアクティベイトされたシートが異なる為に発生する現象です。
以下のマクロは、
どのシートがアクティベイトされた状態であっても、常に、”今月顧客データ”を操作するようにしています。
-------------------------------------
Dim i As Long
With Sheets("今月顧客データ")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
.Cells(i, "K").Value = Left(.Cells(i, "A").Value, 4)
Next
End With
No.3
- 回答日時:
こんにちは。
以下の部分が疑問ですね。
>Sheets("今月顧客データ").Select ←?
>Cells(i, "K") = Left(Cells(i, "A"), 4)
今のところ、どちらのシートのデータを取るのか書かれていないので、あくまでも想定なのですが、
「今月顧客データ」シートのK列にデータを貼り付けるのだとしたら、
Sheets("今月顧客データ").Cells(i, "K") = Left(Cells(i, "A"), 4)
(もしくは、Worksheets("今月顧客データ").Cells(i,"K").Value = Left(Cells(i,"A").Value,4)
Select を使ったら、行ったきりになって、ActiveSheet が、「"今月顧客データ"」のままになってしまっています。
>For i = Range("A1").End(xlDown).row To 2 Step -1
また、特に、逆から取る必要があるのでしょうか?
For i= 2 To Cells(Rows.Count, 1).End(xlUp).Row
でも良さそうです。
この回答へのお礼
お礼日時:2018/08/30 20:31
お礼が遅くなり申し訳ございません。
なるほど、selectってほかでも使ってましたけど
そういう問題があるのですね。
ありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?8acaa2e)
No.2
- 回答日時:
マクロを見なきゃわかんないって意見に賛成ですが、その「列全体」って言うのをどうやって指定しているかがポイントでしょう。
マクロの中で開始と終了を指定しているはずなので、そこが可変になっていることでボタンクリックの影響を受け、今の結果になっているわけですよね。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Word(ワード) Word のマクロについての質問です。 ボタンを押すと登録したブックマーク先にジャンプする機能(リン 3 2023/08/16 12:17
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) エクセルのマクロ設定 1 2023/04/05 19:37
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) Excel 行 について 写真のように日付が並んでおり、何年何月何日以前は行削除。といったマクロ等組 2 2023/02/20 12:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シートのマクロを実行する方法
-
エクセルのマクロボタンが編集...
-
Application.Runエラー(1004)
-
Access終了時にマクロまたはVBA...
-
マクロとモジュールの違いを教...
-
シート保護を掛けたまま並べ替...
-
access2010 コマンドまたはアク...
-
エクセルVBAで、ボタンの文字を...
-
Workbook_Openを起動時以外に呼...
-
アクセスのフォームを起動時に...
-
EXCEL2010でxltmにxlsmは必要?
-
エクセル VBA マクロボタンが?
-
マクロの自動記録機能について
-
特定のシートだけ印刷はマクロ...
-
Excel起動時に画面表示縮小を自...
-
Access マクロで次の検索の設...
-
今日の日付の範囲を指定して印...
-
ExcelVBAで右クリックメニュー...
-
エクセルの右クリックにオートS...
-
アクセスのマクロについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別シートのマクロを実行する方法
-
エクセルのマクロボタンが編集...
-
Application.Runエラー(1004)
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
シート保護を掛けたまま並べ替...
-
InputBox内の表示について
-
マクロ 戻るボタンを押したらシ...
-
access2010 コマンドまたはアク...
-
今日の日付の範囲を指定して印...
-
AccessでExcelファイルを印刷
-
マクロが登録できません
-
マクロとモジュールの違いを教...
-
エクセル VBA SendKeys ループ...
-
Workbook_Openを起動時以外に呼...
-
プロシージャが大きすぎます!
-
ExcelVBAで右クリックメニュー...
-
ExcelのVBAでDisplayalertsで警...
-
ACCESS エラーメッセージ表示...
-
特定のシートだけ印刷はマクロ...
おすすめ情報
失礼いたしました。
以下のような設定で、この画面を出して緑の三角の実行ボタンを押すと全行に4桁コードが入りますが
マクロボタンに記録させてマクロボタンを押すと2行しか埋まりません。よろしくお願いいたします。
Dim i As Long
For i = Range("A1").End(xlDown).row To 2 Step -1
Sheets("今月顧客データ").Select
Cells(i, "K") = Left(Cells(i, "A"), 4)
Next i