Thema Datum  Von Nutzer Rating
Antwort
06.10.2016 00:15:32 Senco
NotSolved
06.10.2016 13:24:18 Nobody
NotSolved
06.10.2016 13:48:32 Senco
NotSolved
06.10.2016 13:52:44 Senco
NotSolved
Rot Wert in 2ter Mappe finden
06.10.2016 21:13:25 Nobody
NotSolved
06.10.2016 21:38:45 Gast24350
NotSolved
06.10.2016 22:17:25 Senco
NotSolved
07.10.2016 18:34:21 Gast69411
NotSolved
12.10.2016 12:37:39 Senco
NotSolved
12.10.2016 13:28:51 Nobody
NotSolved
12.10.2016 14:15:35 Gast86434
NotSolved
13.10.2016 02:10:45 Nobody
NotSolved

Ansicht des Beitrags:
Von:
Nobody
Datum:
06.10.2016 21:13:25
Views:
988
Rating: Antwort:
  Ja
Thema:
Wert in 2ter Mappe finden

Hallo Senco

mein Problem ist das ich nicjht weiss wie man hier Beispielmappen reinstellt.  Wie hast du das mit dem Link gemacht?

Ich sende dir deshalb mal den Makro Code für den du ein Modulblatt Modul1 +2 anlegen musst.  Modul 2 enthaelt nur Öffentliche Variable / Namen. Diese Namen musst du auf deine Original Datei Namen und Tabellen Namen abaendern. z.B. aktivierst du in deinem Makro in Export  "sheet1" Der Code ist getestet und laeuft mit der Beispieldatei einwandfrei, sofern ich alles nrichtig verstanden haben. Er ist kommentiert, du kannst ihn ggf. selbst korrigieren.

mfg  Nobody

'Modul_Public:
'Öffentliche Namen für alle Module

'**  hier die Original Datei Namen einsezten
Public Const Mappe1 = "EILER VBA.xlsm"
Public Const Mappe2 = "Kennz_K_20160930_F.csv"


'**  hier die Original Tabellen Namen einsezten
Public Const CsvSht = "Kennz_K_20160930_F"          'in "sheets1" umbenennen ???
Public Const EilSht = "Tabelle1"  '"sheet 1" ??

'**  Anfang Adresse Spalte N in csv Mappe
Public Const NAnf = "N12"   '1. Zeile in Spalte N


'Ich gehe davon aus das die 1. Zeile immer N12 ist!


'###  im Makro für Tabelle1 steht diese Anweisung:
'ActiveWorkbook.Sheets("sheet1").Activate
'dort wird "sheets1" activiert !!

'wenn mein Makro nicht klappt evtl. das CsvSht in
'"sheet1" umbenennen



'Modul1:
Option Explicit      '6.10.2016   Nobody   vba Forum

Dim cSuBer As String, clz As Long
Dim rFind As Object, SuNa As String
Dim MP1 As Workbook, MP2 As Workbook
Dim CSht As Worksheet, Sp As Integer



Sub Mappe1_aktualisieren()
Dim dlz As Long, glz As Long
Dim Adr1 As String, r As Long
Dim nAdr As String, z As Long
Set MP1 = Workbooks(Mappe1)
Set MP2 = Workbooks(Mappe2)
Set CSht = MP2.Worksheets(CsvSht)

    'LasdZell in csv Spalte N und Such-Bereich
    clz = CSht.Range(NAnf).End(xlDown).Row
    cSuBer = CSht.Range(NAnf, "N" & clz).Address

With MP1.Worksheets(EilSht)
   'LatZell in Mappe1 Spalte D + G
    dlz = .Range("D1").End(xlDown).Row
    glz = .Range("G1").End(xlDown).Row
   
   'alte Listen in Spalte D+G Löschen
   .Range("C2:E" & clz).ClearContents    '"D1:E"
   .Range("F2:H" & glz).ClearContents    '"G1:H"

    'Suchname + Ziel Spalte laden  (3LFDE)
    SuNa = .Range("D1").Value
    z = 2    '1. Zeile in D
    Sp = 4   '4= Spalte "D"
    GoSub such   'Such Programm
    
    'Suchname + Ziel Spalte laden   (3L6SW)
    SuNa = .Range("G1").Value
    z = 2    '1. Zeile in G
    Sp = 7   '7= Spalte "G"
    GoSub such   'Such Programm
Exit Sub
    
'  ***************************************************

such:  'Such Unterprogramm in Mappe2 csv  (GoSub)
    Set rFind = CSht.Range(cSuBer).Find(What:=SuNa, LookIn:=xlValues, _
        After:=Range(NAnf), LookAt:=xlWhole, MatchCase:=True)
    
    If rFind Is Nothing Then MsgBox SuNa & "  Such-Text nicht gefunden"
    
    If Not rFind Is Nothing Then
      '1. Such Adresse zum Aussprung notieren
       Adr1 = rFind.Address:  nAdr = Adr1

      '2. Suchlauf nach weiteren Werten   (Do Loop)
      Do  'Aussprung wenn kein Wert mehr vorhanden
         r = rFind.Row  'gefundene Zeile in Spalte N merken
         Cells(z, Sp - 1) = r 'gefundene Zeile zur Kontrolle
         Cells(z, Sp + 0) = CSht.Cells(r, "D") 'Lieferung aus Spalte D
         Cells(z, Sp + 1) = CSht.Cells(r, "K") 'F-Wert aus Spalte K
         
         Set rFind = CSht.Range(cSuBer).FindNext(After:=Range(nAdr))
         If rFind Is Nothing Then Exit Do
         nAdr = rFind.Address:  z = z + 1
      Loop While Adr1 <> nAdr
      End If
      Return

End With
End Sub

.

 


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.10.2016 00:15:32 Senco
NotSolved
06.10.2016 13:24:18 Nobody
NotSolved
06.10.2016 13:48:32 Senco
NotSolved
06.10.2016 13:52:44 Senco
NotSolved
Rot Wert in 2ter Mappe finden
06.10.2016 21:13:25 Nobody
NotSolved
06.10.2016 21:38:45 Gast24350
NotSolved
06.10.2016 22:17:25 Senco
NotSolved
07.10.2016 18:34:21 Gast69411
NotSolved
12.10.2016 12:37:39 Senco
NotSolved
12.10.2016 13:28:51 Nobody
NotSolved
12.10.2016 14:15:35 Gast86434
NotSolved
13.10.2016 02:10:45 Nobody
NotSolved