Thema Datum  Von Nutzer Rating
Antwort
30.04.2016 22:41:00 Hofe
NotSolved
01.05.2016 15:03:21 Gast73473
NotSolved
01.05.2016 15:28:46 Hofe
NotSolved
01.05.2016 17:29:30 Gast83074
NotSolved
01.05.2016 19:32:40 Hofe
NotSolved
01.05.2016 19:37:07 Hofe
NotSolved
01.05.2016 19:48:56 Gast54756
NotSolved
01.05.2016 20:07:28 Hofe
NotSolved
01.05.2016 20:08:17 Hofe
NotSolved
01.05.2016 20:16:47 Gast43310
NotSolved
Rot Textmarke nach füllen wieder neu setzen
01.05.2016 20:38:47 Hofe
NotSolved
01.05.2016 21:08:09 Gast36395
NotSolved
01.05.2016 21:08:20 Gast27765
NotSolved
01.05.2016 21:08:29 Gast16413
NotSolved
01.05.2016 21:14:24 Gast26480
NotSolved
01.05.2016 21:31:16 Hofe
Solved
01.05.2016 21:39:35 Gast28033
NotSolved
01.05.2016 21:45:28 Hofe
Solved
01.05.2016 21:58:21 Gast83673
NotSolved
02.05.2016 15:57:14 Hofe
Solved
02.05.2016 18:58:27 Gast65100
NotSolved
03.05.2016 07:29:00 Hofe
Solved
03.05.2016 12:26:17 Gast34319
Solved

Ansicht des Beitrags:
Von:
Hofe
Datum:
01.05.2016 20:38:47
Views:
758
Rating: Antwort:
  Ja
Thema:
Textmarke nach füllen wieder neu setzen

ich habs befürchtet, ganz so einfach ist es doch nicht

nun habe ich

 

          lZeile = 2 'Wir starten in Zeile 2, da in der ersten Zeile überschriften stehen
          With oExcelWorkbook.Sheets(DatAbsender)
              Do While .Cells(lZeile, 1) <> ""
                  'Wenn der Eintrag der Listbox mit dem Namen in der Adresstabelle
                  'übereinstimmt, dann werden die Textmarken gefüllt!
                  If ListBox2.Text = CStr(.Cells(lZeile, 1).Value) Then
                      'Eintrag gefunden, Textmarken füllen
                      ActiveDocument.Bookmarks("TM_Vorname").Range = _
                          CStr(.Cells(lZeile, 2).Value)
                      ActiveDocument.Bookmarks("TM_Vorname2").Range = _
                          CStr(.Cells(lZeile, 2).Value)
                      ActiveDocument.Bookmarks("TM_Nachname").Range = _
                          CStr(.Cells(lZeile, 3).Value)
                      ActiveDocument.Bookmarks("TM_Nachname2").Range = _
                          CStr(.Cells(lZeile, 3).Value)
                      ActiveDocument.Bookmarks("TM_StrHnr").Range = _
                          CStr(.Cells(lZeile, 4).Value)
                      ActiveDocument.Bookmarks("TM_PLZ").Range = _
                          CStr(.Cells(lZeile, 5).Value)
                      ActiveDocument.Bookmarks("TM_Ort").Range = _
                          CStr(.Cells(lZeile, 6).Value)
                      ActiveDocument.Bookmarks("TM_Tel").Range = _
                          CStr(.Cells(lZeile, 7).Value)
                      ActiveDocument.Bookmarks("TM_Mail").Range = _
                          CStr(.Cells(lZeile, 8).Value)
                      Exit Do
                  End If
                  lZeile = lZeile + 1
              Loop
          End With

so hier abgeändert.

          Dim AbsBM As Variant
          
          AbsBM = Array("TM_Vorname", "TM_Vorname2", "TM_Nachname", "TM_Nachname2", "TM_StrHnr", "TM_PLZ", "TM_Ort", "TM_Tel", "TM_Mail")
         
          lZeile = 2 'Wir starten in Zeile 2, da in der ersten Zeile überschriften stehen
          With oExcelWorkbook.Sheets(DatAbsender)
              Do While .Cells(lZeile, 2) <> ""
                  'Wenn der Eintrag der Listbox mit dem Namen in der Adresstabelle
                  'übereinstimmt, dann werden die Textmarken gefüllt!
                  If ListBox1.Text = CStr(.Cells(lZeile, 1).Value) Then
                      'Eintrag gefunden, Textmarken füllen
                     'deine 8 Bookmarks würde ich in der SChleife abarbeiten
                      For i = 0 To 8
                        'Fehlerbehandlung falls BM nicht existiert fehlt, jetzt wird da einfach nur nix gemacht
                        If ActiveDocument.Bookmarks.Exists(AbsBM(i)) Then
                            Set TMRange = ActiveDocument.Bookmarks(AbsBM(i)).Range
                            TMRange = CStr(.Cells(lZeile, i + 3).Value)
                            ActiveDocument.Bookmarks.Add AbsBM(i), TMRange
                            Set TMRange = Nothing
                        End If
                         
                      Next i
                       
                      Exit Do
                  End If
                  lZeile = lZeile + 1
              Loop
          End With

Der Teufel liegt aber im Detail.

die schleife macht seine arbeit, aber dadurch das die spalten wo sich das dokument die daten holt,

diesmal nicht von 1- x angesprochen werden und stellenweise auch 2 mal benötigt werden füllt er die Textmarken falsch.

 

kann ich das im Aray AbsBM, wo die textmarken stehen irgend wie definieren?


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
30.04.2016 22:41:00 Hofe
NotSolved
01.05.2016 15:03:21 Gast73473
NotSolved
01.05.2016 15:28:46 Hofe
NotSolved
01.05.2016 17:29:30 Gast83074
NotSolved
01.05.2016 19:32:40 Hofe
NotSolved
01.05.2016 19:37:07 Hofe
NotSolved
01.05.2016 19:48:56 Gast54756
NotSolved
01.05.2016 20:07:28 Hofe
NotSolved
01.05.2016 20:08:17 Hofe
NotSolved
01.05.2016 20:16:47 Gast43310
NotSolved
Rot Textmarke nach füllen wieder neu setzen
01.05.2016 20:38:47 Hofe
NotSolved
01.05.2016 21:08:09 Gast36395
NotSolved
01.05.2016 21:08:20 Gast27765
NotSolved
01.05.2016 21:08:29 Gast16413
NotSolved
01.05.2016 21:14:24 Gast26480
NotSolved
01.05.2016 21:31:16 Hofe
Solved
01.05.2016 21:39:35 Gast28033
NotSolved
01.05.2016 21:45:28 Hofe
Solved
01.05.2016 21:58:21 Gast83673
NotSolved
02.05.2016 15:57:14 Hofe
Solved
02.05.2016 18:58:27 Gast65100
NotSolved
03.05.2016 07:29:00 Hofe
Solved
03.05.2016 12:26:17 Gast34319
Solved