
またまた投稿しました。
下のように、InputBox関数を用い、マクロ内部のワークシートの名前を指定しようとマクロを書いているのですが、うまくいきません。。どなたか助けてください。よろしくお願いします。
'Work Sheet Selection
InputSheetName:
Dim myStr As String
On Error GoTo ErrHandles
myStr = InputBox(Prompt:="Please" & vbCrLf & "Input Sheet No. ! ", _
Default:=ActiveSheet.Name)
'---(1)Cancel or Blank
If Len(myStr) = 0 Then
MsgBox "Cancel Macro Execution", vbInformation
'---(2)Other Value
ElseIf myStr <> ActiveSheet.Name Then
MsgBox "Sheet" & myStr & "Macro Start", vbInformation
myStr = Worksheets.Name ← コンパイルエラーが発生 !!
End If
Exit Sub
ErrHandle:
'---(3)Error
MsgBox Err.Description & String(2, vbCrLf) & _
"Input Sheet No. again!", vbCritical
'---Re Input sheet No.
Resume InputSheetName
'Data Extracting
Dim x As Long
For x = 0 To 250
Worksheets("FQ.dat").Select
Range(A5).Select '
Selection.Copy
Worksheets("mystr").Select ' ← ココのシートを選択したい!
Range(Cells(x + 31, 3), Cells(x + 31, 6)).Select
ActiveSheet.Paste
Next x
No.2
- 回答日時:
そもそも「Worksheets.Name」はどういうものでしょうか?
アクティブシートの名前ならば「ActiveSheet.Name」でしょう
早々の回答ありがとうございます。
しかし 「Active Sheet .Name」 に変更すると
選択されたシートの名前が変更されるだけで、マクロ内のセル指定を
変更することが出来ません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シート参照のセルをシート毎...
-
エクセルの複数シートの保護を...
-
EXCELで1ヶ月分の連続した日付...
-
複数シートの特定の位置に連番...
-
エクセル 計算式も入っていない...
-
エクセルで毎回1枚目のシートを...
-
マクロを修正できないものか、...
-
EXCEL:同じセルへどんどん足し...
-
特定のシートの削除を禁止した...
-
特定のセルだけ結果がおかしい...
-
Accessのスプレッドシートエク...
-
Excelのシートを、まとめて表示...
-
excelでシート毎の最終更新日を...
-
別シートの最終行に貼り付けす...
-
シートの保護のあとセルの列、...
-
複数のピボットを同じフィルタ...
-
エクセルVBA 串刺し計算の際、...
-
EXCELで同一フォーマットのシー...
-
エクセル3つ以上のシートから共...
-
エクセルでシートを移動しても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前シートを参照して...
-
Excelのシートを、まとめて表示...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
Excelで金銭出納帳。繰越残高を...
-
特定のシートの削除を禁止した...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
シートの保護のあとセルの列、...
-
至急お願いします。エクセルシ...
-
VBAでシートコピー後、シート名...
-
エクセルで毎回1枚目のシートを...
-
エクセルで前のシートを連続参...
おすすめ情報
VBAに関する質問が2回目ということで、また。。。という表現を使いました。
言葉足らずですね。
私がやりたい事は、 InputBoxに入力された数値を 元データ(今回の場合「FQ.dat」)にある数値から検索し 自動的に他のシートへコピペしようするマクロを考えています。VLOOKUP関数みたいな
感じです。
「Data Extracting 」以降の構文がどういうわけか抜けていますね。
正しくは、
Worksheets("FQ.dat").Select
Range(Cells(29 * x + (6), 1), Cells(29 * x + (6), 4)).Select '
です。
InBoxを使用してシートを指定すること(シート名は元データ内にあるセルの値と同じ)でマクロが実行されると考えているのですが。。。。
どのように処理したら良いかわかりますか。。。?
①,② 現在、探したい数値は 、A列 6行から規則的に29行おき6937行まで存在します。
A B C D
6 10.87 109.5 50.9 -3
7 10.38 88.8 35.8 -7
.. .. .. .
35 10.87 208.3 352.1 2
36 10.38 156.8 5.8 -10
このようなデータが29行おきに 元データに配置されています。
これをA行は、「シート名」に使用し、B行からD行を各振り分けられたシートへ
コピペしたいです。
③ 仰るとおり、シート名は数値です。
よろしくお願いします。
選択されたシートへの貼り付け先の行は固定です。
貼り付けは1行のみでは、1シートに250行、増えると800行になります。
よろしくお願いします。
貼り付け先がどの行というか、
一つのシートに複数回データを下へ貼り付けて行き
元データのCellの値がBLANKになった時点で、
元データの次の行へ移り、別のシートへ貼り付ける
という作業です。