Microsoft Excel

Herbers Excel/VBA-Archiv

VBA -Hilfe

Betrifft: VBA -Hilfe von: Horst Zimmermann
Geschrieben am: 09.10.2020 14:17:21

Liebe Excel-Gemeinde,
Folgendes Problem:
Habe in einer Tabelle bereits alle relevanten Daten mittels Excelfunktionsvorrat (sverweis etc.) ermittelt.
Die Tabelle stellt auch nur einen kleinen Ausschnitt dar. Die noch fehlenden Kontennummern in Spalte "GKonto"
sollen nun mit Hilfe eines Makro, mit den zuvor ermittelten Kontennummern in Spalte A (Kursiv) ergänzt werden.
Das hierfür erstellte Makro läuft ohne Fehlermeldung durch - aber es passiert auch nichts . Bleibt auf Zelle B2 stehen.
Was mache ich falsch? Kann mir bitte jemand helfen -

MfG Horst
Anlagen (Konnte leider kein Blatt hochladen)
Tabelleblatt

  • Konten Kz Umsatz Gkonto- Zielzeile
  • per sverweis ermittlet

  • 2
    1100 2
    1 -10.084,03 1100
    1 -632,25 1100
    1 -316,12 1100
    1 -2.370,93 1100
    0001 2
    2 0,00
    1180 2
    2
    1200 2
    2 0,00
    1210 2
    1 -490,88 1210
    1 -2.016,95 1210
    1 -2.400,00 1210
    1360 2
    2 0,00
    1307 2
    2 0,00
    1300 2
    1 -4.929,80 1300
    1800 2
    2 0,00
    1810 2
    1 -53.475,72 1810
    1 -1.950,00 1810


    Programm:
    Sub KontosucheTest()							
                                                                   'Fehlende Konten in EÖB- _
    vervollständigen							
                       '							
    Dim z As Integer                                     'Konto Zeilenzähler							
    Dim i As Integer                                      'Zeilenzähler für Kz							
    							
    Sheets("Test").Select							
    							
    Cells(2,  1).Select							
    z = 1                                                        'Schleife für Ermittlung der  _
    relevanten Konten 							
        Do While Cells(z, 1) > 0                      'kein <>"", da Spalte mit Formeln belegt						 _
    	
    							
        i = z  + 1                                              ' wenn Bedingung erfüllt, dann  _
    Zeilenzähler = Kontenzeilenzähler setzen							
       Cells(i,  2).Select							
    							
           Do While Cells(i, 2) = 1                    ' 2.  Schleife für den Kopiervorgang							
                  Cells(z, 1)  = Cells(i, 4)							
                  i = i + 1							
           Loop							
           z = i 							
        Loop							
    End Sub

    Betrifft: AW: VBA -Hilfe
    von: Horst Zimmermann
    Geschrieben am: 09.10.2020 15:09:41

    Meine Tabelle ist schwer lesbar.
    hier der Link zur Mappe

    https://www.herber.de/bbs/user/140767.xlsm

    LG Horst

    Betrifft: AW: VBA -Hilfe
    von: Yal
    Geschrieben am: 09.10.2020 16:33:36

    Hallo Horst,

    Du kannst in Zelle D4
    =WENN(A4="";D3;A4)
    einfügen und in alle Zellen nach unten nachziehen...

    Das Makro sollte eigentlich nichts anderes machen, ausser auf der Zeile, wo der Konto vorkommt aussetzen.
    (Wenn ich richtig sehe, ist Spalte B ab B3 nie leer)
    Sub KontosucheTest()
    'Fehlende Konten in EÖB-vervollständigen
    Dim KtoSpeicher As Integer
    Dim Z
    
        Worksheets("Test").Activate
        
        For Each Z In ActiveSheet.Range("B3", ActiveSheet.Range("B3").End(xlDown)).Cells
            If Z.Offset(0, -1).Value <> "" Then
                KtoSpeicher = Z.Offset(0, -1).Value
            Else
                Z.Offset(0, 2) = KtoSpeicher
            End If
        Next
    End Sub
    Viel Erfolg
    Yal

    Betrifft: AW: VBA -Hilfe
    von: Horst Zimmermann
    Geschrieben am: 09.10.2020 20:43:40

    Hallo Yal,
    Herzlichen Dank für die schnelle Hilfe.
    Beides funktioniert bestens.
    Manchmal sieht man den Wald vor lauter Bäumen nicht....
    LG Horst

    Betrifft: AW: VBA -Hilfe
    von: Gerd L
    Geschrieben am: 09.10.2020 16:44:12

    Moin Horst
    Sub Unit()
    
        Dim C As Range
        
        
        For Each C In Columns(3).SpecialCells(xlCellTypeConstants, xlNumbers).Areas
     
            If C.Cells(1, 1) <> 0 Then
                  C.Offset(0, 1) = C.Cells(1, 1).Offset(-1, -2)
            End If
            
        Next
    
    
    End Sub
    

    Gruß Gerd

    Betrifft: AW: VBA -Hilfe
    von: Horst Zimmermann
    Geschrieben am: 09.10.2020 21:11:54

    Hallo Gerd,
    Herzlichen Dank für die schnelle Hilfe.
    Programm funktioniert bestens.
    Macht genau das, was ich mir vorgestellt habe. Super!
    Die 1. Variante von Yal ist zwar auch sehr interessant,
    da dann erst gar kein Makro notwendig ist.
    Doch bei seiner Version werden alle Konten, also auch die ohne Umsatz
    übernommen. Deine Version ist einfach perfekt.
    Nochmals herzlichen Dank für Deine Bemühungen.
    LG Horst


    Betrifft: AW: VBA -Hilfe
    von: Hajo_Zi
    Geschrieben am: 10.10.2020 08:06:23

    Hallo Horst,

    offen bedeutet es soll noch eine Antwort kommen.
    Warum ist dein Beitrag Offen.
    Du willst doch was machen. Soll jemand vorbei kommen?

    Das ist nur meine Meinung zu dem Thema.

    GrußformelHomepage

    Betrifft: AW: VBA -Hilfe
    von: Horst Zimmermann
    Geschrieben am: 11.10.2020 21:59:29

    Hallo Hajo,
    man sollte wohl erst lesen lernen - habe leider das "nicht" überlesen
    Sorry
    LG Horst