• ベストアンサー

エクセルマクロ 「101」 ボタンをおして 「102」となるマクロ?

エクセルです。 一つのセル(A4)に「101」と書いてあります。それをVlookup関数で他のシートから一致する情報を取り出しています。次に同じセルに「102」とうつと、同じように一致する情報を取り出しています。 そこで、一回、一回、セルに102や103と打つのではなく、ボタンを押すと次の番号にうつるようなマクロを組みたいと思ってます。 ただ、101~130 次は、201~231みたいになってます。 一つのマクロでなくても良いので、よろしくお願いします。 最初は、 Range("A4").select  セルA4を選択 だと思うのですが、この次から分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

Private Sub CommandButton1_Click() With Range("a4") If Right(.Value, 2) < 30 Then .Value = .Value + 1 Else .Value = .Value + 71 End If End With End Sub 参考まで

pazu16
質問者

お礼

ありがとうございます。ビックリしました。 できました。しかも、どんな値でもすぐに対応できますね。 助かりました。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

参考に Sub Test()   With Range("A4")     Select Case .Value       Case 101 To 129, 201 To 230         .Value = .Value + 1       Case 130         .Value = 201       Case 231         .Value = 101       Case Else         .Value = 101     End Select   End With End Sub

pazu16
質問者

お礼

早速、疑問に答えてくださり、ありがとうございました。 できました。 しかも、ループしてもどるなんて(^^) 驚きです。

関連するQ&A

  • エクセルのマクロについて

    エクセル97でマクロを組んで下記作業を行いたいと考えていますが(実際にやりたい事から抜粋した内容です)、不具合が起こっています。 ~やりたい事~ コマンドボタンを押すとあるシートのセルをコピーして、違うシートに貼り付ける。 ~不具合内容~ (1)普通にマクロを実行すると問題ないが、(2)コマンドボタンを使用するとエラーが起こる。 エラー内容は、 「実行時エラー'1004' RangeクラスのSelectメソッドが失敗しました。」 と言う内容です。 ~(1)のVB表記~ Sub Macro1() Sheets("sheet1").Select Range("A1").Select Selection.Copy Sheets("sheet2").Select Range("A1").Select ActiveSheet.Paste End Sub ~(2)のVB表記~ Private Sub CommandButton1_Click() Sheets("sheet1").Select Range("A1").Select (←ここでエラーが発生します) Selection.Copy  Sheets("sheet2").Select Range("A1").Select ActiveSheet.Paste End Sub ~質問事項~ 1)(2)の表記の何が原因でエラーが起こっているのでしょうか? 2)エラーが起きない為にはどのようにしたら良いでしょうか?

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • エクセル2007マクロ シート間のセルコピー

    [Sheet1]にあるデータを[Sheet2]にコピーするマクロボタンを[Sheet2]に作りたいのですが、マクロがよく分からないので、「マクロの記録」で作成してみました。 Sub siken() ' ' siken Macro ' ' Sheets("Sheet1").Select Range("A1").Select Selection.Copy Sheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B3").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B6:D6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B6").Select ActiveSheet.Paste End Sub (実際はもっと多くのセルをコピーします) マクロを実行すると、ちゃんとコピーできるのですが、セルをコピーする都度[Sheet1]と[Sheet2]が交互に表示されます。 コピー元の[Sheet1]を表示させずにマクロを実行させるにはどのようにしたらよいのでしょうか? よろしくお願いします。

  • エクセルマクロで教えてください

    エクセル2003です。 自動マクロで下記のようなマクロを造ったんですが Selection.End(xlDown).Select   Range("A29:D29").Select  ■A29を止まったセルの番号にしたいのです。(A**からD**まで)     With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge Range("A30").Select ■A30を止まったセルの番号にしたいのです 以上2箇所の指定を教えていただけますでしょうか。 よろしくお願いいたします。

  • エクセルのマクロについて

    エクセルのマクロ初心者です。 マクロを使用して印刷プレビューが見れるようにしたいです。 vlookup関数を使いsheet1に入力し、sheet2,sheet3,sheet4、sheet5へデータを反映させています。 sheet1に入力画面を作成してあり、セルA2~A13に入力すればsheet2へ、セルA17~A28はsheet3へ、セルF2~F13はsheet4へ、セルF17~F28はsheet5へデータを反映する作りです。 sheet2~sheet5はフォーマットを作成してあり、印刷するとA4で2枚印刷されるようになっています。 入力画面で入力した内容によってはA4用紙1枚ですむこともあります。(A1~M15でA4用紙一枚、A1~M31でA4用紙2枚) 教えて頂きたいことは。 ・入力画面にマクロのボタンを設置し、ボタンをクリックすると印刷プレビューが表示されるようにしたいです。 ・sheet2用、sheet3用、sheet4用、sheet5用、とボタンを設置したい。 ・印刷プレビュー後に、(実際には印刷後)に入力画面を表示したい。 ・印刷プレビューが見たいのはsheet2,sheet3,sheet4,sheet5です。 以上です。 説明が下手ですみません><

  • エクセル2003のマクロでコマンドボタンでの貼り付けが出来ない。

    はじめまして、マクロ記載などコードを書くのは初めての初心者です。今回エクセル2003のマクロで、ワークシートから数値データーを他のワークシトに貼り付けようとコマンドボタンを作成して実行してるのですが、「実行時エラー1004、rangeクラスのserectメソッドが失敗しました」とのエラーが帰ってきます。 しかしマクロダイアログにコードを貼り付けて操作すると成功してしまいます。 コマンドボタンが使用出来ないのでしょうか? 教えて頂けないでしょうか、何方かよろしくお願いいたします。 /////////////////////////////////////////// Private Sub CommandButton2_Click() Range("B5:AX14").Select Range("B5:AX5").Select Selection.Copy Sheets("報告FORMAT").Select Range("A72").Select ←ここで止まってしまってる様です。 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=True, Transpose:=False Range("A68").Select Sheets("管理format").Select Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "" Range("A2").Select End Sub //////////////////////////////////////////////////

  • Excel)マクロ登録したソースをボタンへ移行すると1004エラー

    Excelマクロの登録して作ったマクロをボタンを作成し移行しました。 実行すると、「エラー1004 Rangeクラスのselectメソッドが失敗しました。」と エラーがでました。 やりたいことは、シートAにあるボタンをクリックすると、シートBの値を 初期化したいのです。 コードは以下の通りです。 Sheets("B").Select Range("I65:K87").Select Selection.ClearContents どうすればよいでしょうか?

  • マクロボタンが勝手に飛び回る

    エクセルシートの「フォームツールバー」でフォームボタンを配置して印刷マクロを作ったのですが、なぜかボタンをクリックすると勝手に移動してしまいます 原因がサッパリわかりません、 プロシージャは Private Sub CommandButton1_Click() Worksheets("納付書").Range("a1:v35").PrintOut Range("Z4").Select End Sub このようなマクロになっています。 助けてください。

  • 完全一致したら代入するマクロを教えてください

    エクセルのSheet1のa列にある文字列と、Sheet2にあるa列にある文字列と完全一致したら、前者のセルの右隣に後者のセルの右隣の文字列を代入するマクロをお教えください。単純にvlookup関数を使えばいいのですが、VBAで行いたいのです。よろしくお願い申し上げます。

  • エクセルマクロ セルの貼り付けについて

    マクロ初心者でわからないことばかりで困っております。 For i = 1 To 721 Step 80 Sheets("Sheet2").Activate Range("G3").Select ActiveCell.FormulaR1C1 = i Range("A1:D80").Select   Selection.Copy Sheets("Sheet3").Activate このあとにコピーしたもの「Range("A1:D80").Select」をセルに貼り付ける時に一回ごとに80行ずつずらして貼り付けたいのですが、そのような場合は どのようにRange指定して貼り付ければよろしいのですか? sheet2で演算した結果をsheet3のセルA1からA721まで貼り付けたいのです。一回の演算で80行まで計算されます。 わかりずらくて申し訳ありません。

専門家に質問してみよう