Thema Datum  Von Nutzer Rating
Antwort
06.02.2013 21:36:27 Sino
NotSolved
08.02.2013 12:52:00 Holger
NotSolved
11.02.2013 09:39:34 Max
NotSolved
11.02.2013 17:41:17 Gast5352
NotSolved
Rot Import aus anderer Excel Datei
11.02.2013 19:33:46 Gast74981
NotSolved
12.02.2013 00:12:26 Sino
NotSolved
12.02.2013 11:52:37 Max
NotSolved

Ansicht des Beitrags:
Von:
Gast74981
Datum:
11.02.2013 19:33:46
Views:
1106
Rating: Antwort:
  Ja
Thema:
Import aus anderer Excel Datei

Hi,

ich würde die Sache in etwa so angehen ( das ist keine komplette Lösung ! ):

Option Explicit

Sub Beispiel_z2_q1()
  
  Dim rngData As Excel.Range
  
  With Worksheets("q1")
    ' nach Daten in Spalte B filtern
    Set rngData = MyFilterFunc("aa", .Columns("B"))
    If Not rngData Is Nothing Then
      ' nur Daten aus Spalten A, B und D beachten
      Set rngData = Intersect(rngData.EntireRow, .Range("A:A, B:B, D:D"))
      ' Daten kopieren (Beispiel):
      rngData.Copy Worksheets("z2").Range("A1")
    End If
  End With
  
End Sub

Public Function MyFilterFunc( _
    SearchFor As String, _
    SearchIn As Excel.Range, _
    Optional SearchOrder As XlSearchOrder = xlByColumns _
) As Excel.Range
  
  Dim rngData As Excel.Range
  Dim rngResult As Excel.Range
  Dim strFirstAddr As String
  
  Set rngResult = SearchIn.Find(SearchFor, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=SearchOrder, MatchByte:=False)
  strFirstAddr = rngResult.Address
  Do
    If Not rngData Is Nothing Then
      Set rngData = Union(rngData, rngResult)
    Else
      Set rngData = rngResult
    End If
    Set rngResult = SearchIn.FindNext(rngResult)
  Loop While rngResult.Address <> strFirstAddr
  
  Set MyFilterFunc = rngData
  
End Function

Entweder schreibt man für die sechs aufgezählten Fälle (z1 bis z6)  jeweils im Quellcode händisch was zu tun ist, oder man definiert sich das in einem mehrdimensionalen Datenfeld (oder Struktur). Dann ließe sich dies in einer kurzen Schleife automatisiert abarbeiten.

Man definiert also derart:

- Spalte B, Zeilen mit Inhalt "aa" innerhalb q1, q2 und q3  -> z2

- Spalte B, Zeilen mit Inhalt "bb" innerhalb q1, q2 und q3  -> z3

- ...

 

Da die Quellen überall gleich sind, läuft man diese sechs also durch und in jedem Durchgang "schaut" man jede Quellen hinein, sucht nach dem gewünschten Inhalt in Spalte B (siehe Beispiel_z2_q1) und kopiert die Daten ans jeweilige Ziel.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.02.2013 21:36:27 Sino
NotSolved
08.02.2013 12:52:00 Holger
NotSolved
11.02.2013 09:39:34 Max
NotSolved
11.02.2013 17:41:17 Gast5352
NotSolved
Rot Import aus anderer Excel Datei
11.02.2013 19:33:46 Gast74981
NotSolved
12.02.2013 00:12:26 Sino
NotSolved
12.02.2013 11:52:37 Max
NotSolved