matze1508
Goto Top

Excel Makro : Erst prüfen bei erfolgreicher IF einen Wert überschreiben

Guten Tag allerseits,

ich hab heute festgestellt das Datenbanken + Programm + kein Konzept viel Arbeit bedeutet-.-

Nun zur Thematik:

Ich versuche eine Abfrage zu gestalten wo eine Spalte durchlaufen werden soll und bei jedem Unbekannten Wert soll dieser Wert überschrieben werden mit einem Wert aus einer anderen Tabelle. Unten bekommt ihr Screens.
Bisher haut er mir bei Zeile 16 Methode "range" für das Objekt ist fehlgeschlagen.

Sub Makro1()
'  
' Makro1 Makro  
'  

'  
Dim x As Integer    'hochzählvar der tab1  
Dim c As String     'Vergleichsvariable  
Dim y As Integer    'Kopieren der NR  
Dim z As Integer    'hochzählvar der tab2  
Dim b As String     'Übergabe String  
 
Sheets("01.01.16").Select  

While (x < 1500)
    c = Range("B(x)").Value  
    
    If (c <> "(Unbekannt)") Then  
     x = x + 1
     Else
    
    y = Range("A(x)").Select  
    Sheets("Tabelle2").Select  
    
    While (y <> Range("A(z)"))  
    z = z + 1
    
    b = Range("A(z)").Select  
    
    Sheets("01.01.16").Select  
    Range("Bx").Select = b  
       
    Wend
    End If
    
Wend
End Sub

Viele Grüße,
Matze
1
2

Content-Key: 305249

Url: https://administrator.de/contentid/305249

Printed on: April 23, 2024 at 08:04 o'clock

Mitglied: 129413
Solution 129413 May 24, 2016 updated at 09:10:36 (UTC)
Goto Top
Da sind ja auch jede Menge Fehler drin face-smile

Ohne das ganze überflüssige gedöns, machst du das so
With Sheets("01.01.16")  
    for each cell in .Range("B2:B" & .Cells(Rows.Count,"B").End(xlUp).Row)  
        if cell.Value = "(Unbekannt)" then  
           cell.Value = Sheets("Tabelle2).Cells(cell.Row,2).Value  
       end if
    Next
End with
Mit Range.Find ließe sich das übrigens alternativ auch noch schneller machen.

Gruß skybird
Member: Matze1508
Matze1508 May 24, 2016 at 09:30:29 (UTC)
Goto Top
Woaw das es so einfach geht hätte ich nicht gedacht 1000 dank !!
Member: Aximand
Aximand May 24, 2016 at 10:12:39 (UTC)
Goto Top
Hi Matze,

ich bin gerade auch dabei, Fuß im VBA zu fassen. Was ich aus eigener Erfahrung Dir ans Herz legen kann ist, dass die die Variablen ihrer Zugehörigkeit entsprechend kennzeichnen solltest:

also strc, inty ....

Ansonsten hat mir das snippet von skybird auch genutzt ^^
Member: Matze1508
Matze1508 May 25, 2016 at 08:54:32 (UTC)
Goto Top
ich hab immer meinen Pseudocode nebenher liegen daher für die Kniffelzeit sind es Müllvariablen danach ist das schön coden dran ;)