エクセルの質問です。A1, A51, A101,A151,,,と50行おきにEXCEL 1, EXECEL 2, EXCEL 3,,,という風に”同じ文字列”+”空欄”+”連番”を入力したいのですがコピペプラス数字を手入力では時間が膨大にかかってしまいます。どなたか良い知恵をお貸しください。なお、上記以外のセルには他のデータが入力済みで、上書きはできません。お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:hidepon No.1

回答回数29ベストアンサー獲得回数0

ポイント50pt

URLダミー

確認ですが、A2〜A50は空欄が条件となります。オートフィルの機能で良いと思います。

1・A1に文字列を入力します。

2・A51に文字列を入力します。

3・A1からA100までを選択します。

4・選択したセル群の右下をマウスでドラッグする(オートフィルですね)

これで必要なセルまでドラッグすれば、好きな数字EXCEL 1〜 いくつでも書き換えられます。

id:chipper

そうなんです。空欄であればオートフィルが使えるのですが、残念ながらA2〜A50、A52〜A100、、、データが既に入っています。

2004/10/02 19:44:17
id:nkysn No.2

回答回数10ベストアンサー獲得回数0

ポイント50pt

http://www.hatena.ne.jp/1096712912

エクセルの質問です。A1, A51, A101,A151,,,と50行おきにEXCEL 1, EXECEL 2, EXCEL 3,,,という風に”同じ文字列”+”空欄”+”連番”を入力したいのですがコピペプラス数字.. - 人力検索はてな

マクロ書いてみました。

選択されてるセルから50行おきに指定された回数分

文字列+半角スペース+連番を入力します。

Sub test()

Dim i, r, t As Integer

Dim cnststr As String

cnststr = ”EXCEL ”

t = InputBox(”繰り返しの回数を入力してください。”)

r = ActiveCell.Row

For i = 1 To t

Cells(r, ActiveCell.Column).Value = cnststr & CStr(i)

r = r + 50

Next i

End Sub

id:chipper

マクロは全く知識無くて・・・勉強します。

ありがとうございます!

2004/10/02 20:08:29
id:okamotona No.3

回答回数82ベストアンサー獲得回数0

ポイント50pt

URLダミーです

1.まず入力したいEXCELのBOOKを開きます。

2.ALT + F11 を押します。

3.新しくVBAのウィンドウが開くので

VBA Project(〜.xls)と書いてある所を

右クリックして(挿入)−(標準モジュール)を選びます。

4.右側に空白の画面が出るので

そこに下に書いてある文章をコピーします。

’以下コピーすべきもの↓

Sub 連番マクロ()

Dim i As Integer

Dim j As Integer

i = InputBox(”連番の最後の番号を入力して下さい”)

For j = 1 To i

’EXCEL の文字のところを変えると

’どのような文字にも対応できます。

Cells((j - 1) * 50 + 1, 1) = ”EXCEL ” & j

Next j

End Sub

’この上の所までコピー↑

EXCEL 1など入力したい画面にもどって

ツールーマクローマクロを選択

そこで(連番マクロ)を実行します。

上でコピーした物で

”EXCEL ”の文字のところを変えると

どのような文字にも対応できます。

いかがでしょう?

id:chipper

あ、出来ました!ありがとうございます!!

2004/10/02 20:20:29
id:Hide99 No.4

回答回数5ベストアンサー獲得回数0

ポイント50pt

http://www.hatena.ne.jp/1096712912#

エクセルの質問です。A1, A51, A101,A151,,,と50行おきにEXCEL 1, EXECEL 2, EXCEL 3,,,という風に”同じ文字列”+”空欄”+”連番”を入力したいのですがコピペプラス数字.. - 人力検索はてな

URLはダミーです。

1の方の方法で、別シートに文字列を作成する。

今、データが入っているデータをB列にでもコピーする。

C1(C列)に

=IF(A1<>””,A1,B1)←C1の場合

(A列にデータがあれば、A列のデータをなければ、B列のデータを表示しなさい)

という式を入力する。

最後にC列をコピーして張り付けるという方法はどうでしょうか?

id:chipper

そうでした・・・IFは使えますね。

簡単なのに思いつきませんでした・・

ありがとうございます!!

2004/10/02 20:23:39
id:garyo No.5

回答回数1782ベストアンサー獲得回数96

ポイント50pt

http://d.hatena.ne.jp/garyo/

ジャンク☆ニュース 臥龍

URLはダミーです。

マクロを使うといですよ。

※大文字は小文字に直してください。

Sub Macro1()

Dim i As Integer

For i = 0 To 99

Cells(i * 50 + 1, 1).Value = ”EXCEL ” & i

Next i

End Sub

id:chipper

マクロ便利ですね。ありがとうございます。

2004/10/02 20:24:09
id:aki73ix No.6

回答回数5224ベストアンサー獲得回数27

ポイント50pt

マクロで簡単に実現できます

表示>ツールバー>VisualBASICでソースコードをご覧下さい

Private Sub CommandButton1_Click()

INP$ = ”文字列”: ’文字列

FIL = 20: ’コピー数

JMP = 50: ’飛ばす行数

For I = 1 To FIL

Cells((I - 1) * JMP + 1, 1).Value = INP$ + Str$(I)

Next I

End Sub

id:chipper

ちょっとマクロを勉強します!

2004/10/02 20:24:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません