開いている複数のブックの一行目のデータをコピーし集約ブックに連続したデータで貼り付けていきたいです。


ブック1 ブック2 ...
10 20 30 20 30 40 ...

上のデータを
集約ブック
10 20 30(ブック1のデータ)
20 30 40(ブック2のデータ)
.
.
.

のように連続したデータとして集約したいです。
どなたか詳しい方教えてください。

A 回答 (2件)

アドインの方法をご参考ください。

http://superdbtool.com/blog/archives/105
    • good
    • 0

>複数のブックの一行目のデータをコピーし集約ブックに連続したデータで貼り付けていきたいです。


はい、貼り付ければ良いと思いますよ。
何か問題でもありましたか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセルで10~20、30~40の数字のみ色を変えたい

エクセルで10~20、30~40の数字のみ色を変えたいです。

ある列の10~20に該当する数字を赤に
その列の30~40の数字を青にしたいのですが
その様な設定は出来ますか?

Aベストアンサー

条件付き書式を使います。
当該セルで、「書式」→「条件付き書式」を選択
「セルの値が」 「次の間」 「10」 「20」として「書式」をクリック」して文字色を赤に、
さらに
「追加」ボタンを押して、
「セルの値が」 「次の間」 「30」 「40」として「書式」をクリック」して文字色を青にして下さい。
目的の結果になります。他のセルに反映させるときは書式をコピーしてください。

QExcelで離れたセルに連続したデータを貼り付けたい

セルB5「=sheet1!C7」のデータをコピーし、
セルB7「=sheet1!C8」
セルB9「=sheet1!C9」・・・
と、連続したデータを貼り付けていきたいのですが、
セルB7「=sheet1!C9」
セルB9「=sheet1!C10」・・・
と行数も2つ飛びで貼り付けになってしまいます。
毎回ひとつひとつ入力するのが大変な手間なのですが、
なんとかならないでしょうか?

もうひとつ質問です。
セルB5「=sheet1!C7」のデータを
セルE5「=sheet1!C36」
セルH5「=sheet1!C65」
と行番号を29ずつずらして貼り付けたいのですがこれも簡単に貼り付ける方法はないでしょうか?
やっぱり毎回ひとつひとつ入力するのが大変です・・・。

Aベストアンサー

前段だけですが
B5に ’=シート名!C7
B7に ’=シート名!C8
B9に ’=シート名!C9
と文字列にする。
このB5:B10を選択し、B10セル右下隅のフィルハンドルでオートフィル

データ→区切り位置→完了で「’」が削除され、リンクされます。

区切り位置で楽々データ分割
http://kokoro.kir.jp/excel/delimitation-position.html

Qエクセル:10~19才なら10代、20~29才なら20代と置き換えたいのですが、、

A1の列に年齢データが2万行くらい並んでいます。

年齢が入力されているセル内を、以下の条件で置き換えたいのですが、どのようにすればよいでしょうか?

年齢データが
10才~19才の場合⇒10代と置き換え
20才~29才の場合⇒20代と置き換え
30才~39歳の場合⇒30代と置き換え

IF関数かなと思ったのですが、上記の通り、条件も結果も複数ある場合のやり方がわかりませんでした。

ご指導をお願い致します。

Aベストアンサー

B1=INT(A1/10)&"0代"
で下方にコピー

Q(続)エクセルでVBAを使い、時間入力10:30:45(10時30分45秒)の:コロン省略したい。

始業と終業の時間を入力し勤務時間を計算しております。
時間は時:分:秒まで入力します。
例えば始業時間はA1に8:30:25 、終業時間はB1に17:00:45と入れております。
コロン(:)を省略できるととても楽になります。8:30:25は83025と入力、17:00:45は170045と入力して、
表示にはコロンが入り、セルの書式としては時刻と認識し時間差を(時間:分:秒)と計算出来ればありがたいです。
よろしくお願い致します。

VBAを使った(時間:分)のコロンを入力しないで、かつ表示にはコロンが入り、セルの書式としては時刻と認識し時間計算が出来る例は検索できました。
下記です。 t****さんありがとうございました。
ですがそれを秒まで拡大し(時間:分:秒)に対応できるVBAに変更できず困っております。
何卒よろしくお願い致します。

-----------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
If IsNumeric(.Value) Then
If .Value < 2400 And .Value Mod 100 < 60 Then
Application.EnableEvents = False
.Value = TimeSerial(Int(.Value / 100), .Value Mod 100, 0)
.NumberFormatLocal = "h:mm"
Application.EnableEvents = True
Else
MsgBox "入力値が不正です"
.Select
.ClearContents
End If
End If
End If
End With
End Sub 'この行まで
-----------------------------------------------------------------------------

始業と終業の時間を入力し勤務時間を計算しております。
時間は時:分:秒まで入力します。
例えば始業時間はA1に8:30:25 、終業時間はB1に17:00:45と入れております。
コロン(:)を省略できるととても楽になります。8:30:25は83025と入力、17:00:45は170045と入力して、
表示にはコロンが入り、セルの書式としては時刻と認識し時間差を(時間:分:秒)と計算出来ればありがたいです。
よろしくお願い致します。

VBAを使った(時間:分)のコロンを入力しないで、かつ表示にはコロンが入り、セ...続きを読む

Aベストアンサー

変換ロジックを関数化して実装してみました。
「8:30:25」「83025」どちらの入力でも対応できているはずです。
ちなみに、2未満を入力すると日とみなし、2以上を入力すると秒とみなして表示されます(この辺はやってみて下さい)。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
Application.EnableEvents = False
.Value = MyTimeValue(.Value)
If .Value = "" Then
MsgBox "入力値が不正です"
.Select
Else
.NumberFormatLocal = "[h]:mm:ss"
End If
Application.EnableEvents = True
End If
End With
End Sub 'この行まで

Function MyTimeValue(MyTime As Variant) As Variant
Dim t As Variant
Dim d As Variant
If IsNumeric(MyTime) And MyTime < 2 Then
MyTimeValue = MyTime
Exit Function
End If
On Error GoTo Fin
t = Split(Format(MyTime, "000:00:00"), ":")
d = Int(t(0) / 24)
t(0) = t(0) Mod 24
MyTimeValue = d + TimeSerial(t(0), t(1), t(2))
Fin:
End Function

変換ロジックを関数化して実装してみました。
「8:30:25」「83025」どちらの入力でも対応できているはずです。
ちなみに、2未満を入力すると日とみなし、2以上を入力すると秒とみなして表示されます(この辺はやってみて下さい)。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
Application.EnableEvents = False
.Value = ...続きを読む

QExel VBA 別ブックから該当データを検索し、必要なデータを取得判別し、データを書き換える

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S0122014    20140820  37.3762   140.956     012_3960  工事前
4 S0172015   20151013  37.3772   140.956   026_4565  工事後

※必ず「識別」が工事前と工事後で管理番号のみ同一のデータが2件ずつあります。
 上記だと2行目と4行目です

上記データが数千件。



また、「測定点番号一覧表」という別のブックには、
A列に測定点番号が、何千件と入力されています。

A列
測定点番号
1 S026014
2 S025558
3 S456789
4 S852147


やりたいことは
「緯度-経度 記録表」C列とD列の日付の古い方の「緯度」「経度」が間違えているので、日付の新しい方のデータの「緯度」「経度」を検索し貼り付けるという作業です。



現在行っている作業手順は

「測定点番号一覧表」ブックA列の測定点番号データ1行めの「S026014」を元に、
「緯度-経度 記録表」ブックで検索すると
「緯度-経度 記録表」の2行目がヒットします。

次は、
2行目の「管理番号」を「緯度-経度 記録表」ブック内で「すべて検索」すると、
2行目と4行目がヒットします。

2行目と4行目のB列「測定年月日」の日付が新しい方の
C列「測定緯度」D列「測定経度」をコピーし
日付が古い方のC列、D列へ貼り付けるというのが一連の流れです。


この作業を数千件繰り返すということで、
基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S01220...続きを読む

Aベストアンサー

こんにちは

Excel-VBAでは「呪文のようなコード」ではなく、
「検索ー置換」を手作業でなくVBAで行う“だけ”の作業になってしまいます。
…変換テーブルを作っておいて変換する
…変換テーブルを自動で作ろうとすると、そのためのVBAを組まなければならない
と言う状況だと思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報