Zellen die ein "J" enthalten in einen Worksheet kopieren

  • #1
F

falcon30

Bekanntes Mitglied
Themenersteller
Dabei seit
21.06.2005
Beiträge
94
Reaktionspunkte
0
Hallo Zusammen,

ich hab schon wieder mal ein Problem. Ich hoffe Ihr könnt mir helfen.

Und zwar habe ich 5 Worksheets (Serie; Fertigung; Entwicklung; Test; Sonstiges) in denen die Spalte D den Wert J; ; N haben kann.
Nun möchte ich die Zellen A:B und E der entsprechenden Zeile, die ein J enthält, in einen neuen WS Gesamt kopieren. In den zu kopierendenWS sollen ab der Zelle B15 der WS Name und dann die kopierten Zellen eingefügt werden.

Vielen Dank im Voraus.

Grüße
falcon30
 
  • #2
Hi

hab ich das recht verstanden, du willst also ein Logfile sozusagen ^^korrekt?
 
  • #3
Hi Billy,

wenn ein Logfile eine Datei oder WS ist in dem alle Zeilen und WS-Namen festgehalten werden in dem, in einer Bestimmten Zelle, ein J steht, dann ja. :)
Sonst müsstest Du mir noch erklären was ein logfile ist.

Grüße
falcon30[br][br]Erstellt am: 08.05.07 um 23:54:37
[br]Hallo Zusammen,

ich habe da noch eine Anmerkungen.

Das kopieren der Daten soll über eine Schaltfläche erfolgen.

Grüße
falcon30
 
  • #4
falcon30 schrieb:
Erstellt am: 08.05.07 um 23:54:37[/size]
[br]Hallo Zusammen,

ich habe da noch eine Anmerkungen.

Das kopieren der Daten soll über eine Schaltfläche erfolgen.

Grüße
falcon30




und wieso das?? dann macht es ja gar keinen Sinn mehr dies automatisch zu machen -.- ist es gar nicht mehr lustig.

Wenn das so ist, kannst du es ja selbst machen ^^ aufbau ist einfach -> du ermittelst einfach ob die Zellen ein J aufweisen und dann die Anzahl reihen der Tabelle feststellen ist ganz leicht.

Das packst du ^^ 2 einfache sachen ^^

mfg billy
 
  • #5
Hallo Falcon,

probier mal das folgende Makro aus. Das mit der Schaltfläche mußt du ggf. nochmal erklären.

Gruß Matjes :)
Code:
Sub Excel_FALCON_XYZ()

'Und zwar habe ich 5 Worksheets
'(Serie; Fertigung; Entwicklung; Test; Sonstiges)
'in denen die Spalte D den Wert J; ; N haben kann.
'Nun möchte ich die Zellen A:B und E der entsprechenden Zeile,
'die ein J enthält, in einen neuen WS Gesamt kopieren.
'In den zu kopierendenWS sollen ab der Zelle B15 der WS Name und
'dann die kopierten Zellen eingefügt werden.

  Const c_GES_Z_ABZEILE = 15
  Const c_GES_SP_BLTNAME = 2
  Const c_GES_SP_VON_A = 3
  Const c_GES_SP_VON_B = 4
  Const c_GES_SP_VON_E = 5
  
  Dim QBlts As Variant
  QBlts = Array(Serie, Fertigung, Entwicklung, Test, Sonstiges)
  
  Dim ws As Worksheet, wsz As Worksheet
  Dim lRows As Long, lZeile As Long, b As Long, z As Long
  
  Set wsz = ActiveWorkbook.Worksheets(Gesamt)
  lZeile = wsz.Cells(wsz.Rows.Count, c_GES_SP_BLTNAME).End(xlUp).Row
 ->alte Ausgabe löschen
  wsz.Range(wsz.Cells(c_GES_Z_ABZEILE, c_GES_SP_BLTNAME), _
            wsz.Cells(lZeile, c_GES_SP_VON_E)) = 
 ->Erste Eintragszeile -1 setzen
  lZeile = c_GES_Z_ABZEILE - 1

  For b = LBound(QBlts) To UBound(QBlts)
    Set ws = ActiveWorkbook.Worksheets(QBlts(b))
    lRows = ws.UsedRange.Rows.Count + ws.UsedRange.Row - 1
    For z = 1 To lRows
     ->J in Spalte D?
      If ws.Cells(z, 4).Value = J Then
       ->Werte in Gesamt eintragen
        lZeile = lZeile + 1
        wsz.Cells(lZeile, c_GES_SP_BLTNAME).Value = ws.Name
        wsz.Cells(lZeile, c_GES_SP_VON_A).Value = ws.Cells(z, 1).Value->A
        wsz.Cells(lZeile, c_GES_SP_VON_B).Value = ws.Cells(z, 2).Value->B
        wsz.Cells(lZeile, c_GES_SP_VON_E).Value = ws.Cells(z, 5).Value->E
      End If
    Next
  Next
AUFRAEUMEN:
  Set ws = Nothing: Set wsz = Nothing
End Sub
 
  • #6
Hallo Matjes,

vielen Dank für deine wie immer schnelle Hilfe. Tut mir leid, dass ich erst jetzt antworte.

Leider wird der Name des WS in der die J gefunden wurden nicht mit übernommen.

Könntest Du bitte mir da noch einmal helfen.

Vielen Dank im Voraus.

Grüße
falcon30
 
  • #7
Hallo falcon30,

hast du den makro Excel_FALCON_XYZ() so unverändert übernommen ? Oder ist eventuell bei der Anpassung der Konstanten c_GES_SP_BLTNAME etwas schiefgegangen ?

Kannst Du mir eventuell ein beispiel senden, in dem die Blattnamen nicht mit übernommen werden ? In meinem selbstangefertigten beispiel klappt es.

Gruß Matjes :)
[br][br]Erstellt am: 29.05.07 um 21:01:13
[br]Korrektur:
Code:
Sub Excel_ImpactAnalyse()

'Und zwar habe ich 5 Worksheets
'(Serie; Fertigung; Entwicklung; Test; Sonstiges)
'in denen die Spalte C den Wert J; ; N haben kann.
'Nun möchte ich die Zellen A:B und D der entsprechenden Zeile,
'die ein J enthält, in einen neuen WS Gesamt kopieren.
'In den zu kopierendenWS sollen ab der Zelle B15 der WS Name und
'dann die kopierten Zellen eingefügt werden.

 Const c_GES_Z_ABZEILE = 15
 Const c_GES_SP_BLTNAME = 2
 Const c_GES_SP_VON_A = 3
 Const c_GES_SP_VON_B = 4
 Const c_GES_SP_VON_D = 5
 
 Dim QBlts As Variant
 QBlts = Array(Serie_und_ Fertigung, Software, Mechanik, Hardware, Sonstiges)
 
 Dim ws As Worksheet, wsz As Worksheet
 Dim lRows As Long, lZeile As Long, b As Long, z As Long
 
 Set wsz = ActiveWorkbook.Worksheets(Uebersicht)
 lZeile = wsz.Cells(wsz.Rows.Count, c_GES_SP_BLTNAME).End(xlUp).Row
->alte Ausgabe löschen
 wsz.Range(wsz.Cells(c_GES_Z_ABZEILE, c_GES_SP_BLTNAME), _
      wsz.Cells(lZeile, c_GES_SP_VON_D)) = 
->Erste Eintragszeile -1 setzen
 lZeile = c_GES_Z_ABZEILE - 1

 For b = LBound(QBlts) To UBound(QBlts)
  Set ws = ActiveWorkbook.Worksheets(QBlts(b))
  lRows = ws.UsedRange.Rows.Count + ws.UsedRange.Row - 1
  For z = 1 To lRows
  ->J in Spalte C?
   If ws.Cells(z, 3).Value = J Then
   ->Werte in Gesamt eintragen
    lZeile = lZeile + 1
    wsz.Cells(lZeile, c_GES_SP_BLTNAME).Value = ws.Name
    wsz.Cells(lZeile, c_GES_SP_VON_A).Value = ws.Cells(z, 1).Value->A
    wsz.Cells(lZeile, c_GES_SP_VON_B).Value = ws.Cells(z, 2).Value->B
    wsz.Cells(lZeile, c_GES_SP_VON_D).Value = ws.Cells(z, 4).Value->D
   End If
  Next
 Next
AUFRAEUMEN:
 Set ws = Nothing: Set wsz = Nothing
End Sub

Gruß Matjes :)
 
Thema:

Zellen die ein "J" enthalten in einen Worksheet kopieren

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben