Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalten vergleichen

Spalten vergleichen
13.05.2005 20:13:41
Chris
Mojn Mojn
bestimmt kann jemand direkt helfen.... ich zapp schon die ganze Zeit durch die Recherche kann aber so richtig nix finden... :-(
Problem:
Tabelle1 - Spalte B; Zelle B9:B500
vergleiche mit
Tabelle2 - Spalte B; Zelle B4:B500
wenn Wert Tabelle2 nicht in Tabelle1
schreibe den fehlenden Wert in Tabelle1 an das Ende - Zelle B501
ich hoffe die Beschreibung war nicht zu plump :-)
schon mal vielen Dank
Chris

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten vergleichen mit countif()
13.05.2005 20:41:13
ransi
hallo chris
lass diesen code aus deiner tabelle1 mal laufen.
Option Explicit
Public

Sub test()
Dim letzte As Range
Dim zelle As Range
Dim bereich As Range
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
Set bereich = Worksheets("tabelle2").Range("B4:B500")
For Each zelle In bereich
Set letzte = Range("b65536").End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Range("B9:B500"), zelle) = 0 Then _
letzte = zelle
Next
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

ransi
Anzeige
AW: Spalten vergleichen mit countif()
13.05.2005 20:50:02
Chris
S U P E R
genau das hab' ich mir gedacht!!!
ganz ganz ganz lieben Dank
Chris

AW: Spalten vergleichen mit countif()
13.05.2005 20:55:19
Chris
S U P E R
genau das hab' ich mir gedacht!!!
ganz ganz ganz lieben Dank
Chris

Schließ mich in dein Nachtgebet mit ein.
13.05.2005 20:54:41
ransi
Hallo Chris
Gern geschehen.
Frohe Pfingsten.
ransi
AW: Schließ mich in dein Nachtgebet mit ein.
13.05.2005 21:30:04
Chris
.... mach ich ..... mach ich :-)
äääääh wie war das noch gleich..... reiche ihm = mir :-) den Finger.. so nimmt er die ganze Hand :-))
die neuen Werte werden in Tabelle1 ab Ende "Bxxx" aufgelistet (ok wirklich gut.. rapp zapp fertig)
nun aber...
die neuen werte -- Hintergrund ROT Schrift weiß; Rahmen_unten Hairline
UND (!) die Formeln von (Bxxx -1) bis Bxxy übernehmen
B245 = neuer Wert -- A0815
in B244 steht "=was weis ich" in C244 steht "=formel xyz" -- das geht bis J244
inkl. Rahmen unten und zwischen in Hairline
ohoh kannst' auch noch hier helfen ?
Danke Chris
(Nachtgebet(e) bis Sonntag versprochen smile)
Anzeige
AW: Schließ mich in dein Nachtgebet mit ein.
13.05.2005 21:46:29
Chris
.... mach ich ..... mach ich :-)
äääääh wie war das noch gleich..... reiche ihm = mir :-) den Finger.. so nimmt er die ganze Hand :-))
die neuen Werte werden in Tabelle1 ab Ende "Bxxx" aufgelistet (ok wirklich gut.. rapp zapp fertig)
nun aber...
die neuen werte -- Hintergrund ROT Schrift weiß; Rahmen_unten Hairline
UND (!) die Formeln von (Bxxx -1) bis Bxxy übernehmen
B245 = neuer Wert -- A0815
in B244 steht "=was weis ich" in C244 steht "=formel xyz" -- das geht bis J244
inkl. Rahmen unten und zwischen in Hairline
ohoh kannst' auch noch hier helfen ?
Danke Chris
(Nachtgebet(e) bis Sonntag versprochen smile)
Anzeige
AW: Hairline
13.05.2005 22:05:02
ransi


      
Hallo Chris
Das mit den Formeln habe ich nicht verstanden.
Option 
Explicit
Public Sub test()
    
Dim letzte As Range
    
Dim zelle As Range
    
Dim bereich As Range
With Application
    .Calculation = xlCalculationManual
    .ScreenUpdating = 
False
    .EnableEvents = 
False
End With
Set bereich = Worksheets("tabelle2").Range("B4:B500")
For Each zelle In bereich
    
Set letzte = Range("b65536").End(xlUp).Offset(1, 0)
    
If WorksheetFunction.CountIf(Range("B9:B500"), zelle) = 0 Then
       
With letzte
       .Value = zelle
       .Interior.ColorIndex = 3
       .Font.ColorIndex = 2
        
With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlHairline
            .ColorIndex = 2
        
End With
       
End With
 
End If
Next
With Application
    .Calculation = xlCalculationAutomatic
    .ScreenUpdating = 
True
    .EnableEvents = 
True
End With
End Sub

ransi 


Anzeige
AW: Hairline
13.05.2005 22:28:03
Chris
Hallo ransi
Teil1 Dank Deines Macros völlig ok :-)
Teil2 schwer zu erklären.... ich versuch mal die datei anzuhängen......
nutze button "ransi" :-)
ToDo:
Format (Rahmen;Schriftgröße; Ausrichtung) übernehemen von C13 bis Q13
Formeln übernehmen von C12(!) bis J12
und... alle makros sind bestimmt überarbeitungswürdig... ich lerne gerade :-)
Chris
AW: Hairline
14.05.2005 09:37:17
ransi


      
Guten Morgen
Habe mal dem Makrorecorder bemüht un den minimal angepassten code 
in den vorhandenen reingestrickt.
Sub update_artikel()
    
Dim letzte As Range
    
Dim zelle As Range
    
Dim bereich As Range
With Application 'zum beschleunigen
    .Calculation = xlCalculationManual
    .ScreenUpdating = 
False
    .EnableEvents = 
False
End With
Set bereich = Worksheets("Artikel").Range("B4:B500")
For Each zelle In bereich
    
Set letzte = Range("b65536").End(xlUp).Offset(1, 0)
    
If WorksheetFunction.CountIf(Range("B9:B500"), zelle) = 0 Then
    
With letzte
       .Value = zelle
       .Interior.ColorIndex = 3
       .Font.ColorIndex = 2
        
With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlHairline
            .ColorIndex = 2
        
End With
       
End With
 
End If
Next
'Reingestrickt
Range("E12:J12").AutoFill Destination:=Range("E12:J" & letzte.Row - 1), Type:=xlFillDefault 'Formeln sind erst ab Spalte E
'Musst du dir evtl. noch anpassen wenn ab C ausgefüllt werden soll.
Range("C12:Q12").AutoFill Destination:=Range("C12:Q" & letzte.Row - 1), Type:=xlFillFormats 'Formate übertragen
'''''''''''''''''''''''''''''''''''''''''
With Application
    .Calculation = xlCalculationAutomatic
    .ScreenUpdating = 
True
    .EnableEvents = 
True
End With
End Sub
musst du aber noch prüfen ob alles richtig übertragen wird.
(Bin da aber optimistisch)
ransi 


Anzeige
ein anderer Weg besser?
14.05.2005 14:16:11
Chris
Hallo ransi
vielen Dank für Deine Anpassung.... so könnte es gehen...ich glaube aber ich bin auf dem falschen Weg!
1. Ziel dieser Update_Artikel aktion ist es aus Tabelle"Artikel" die neuen und geänderten Artikel zu finden und (und jetzt kommt glaub' ich der Denkfehler) an das Ende Tabelle"Material" anzuhängen! EXAKT DAS macht Dein (unser smile) Makro.
Wie Du aber auch schon gemerkt hast werden NUR die Werte ab Spalte "E" berechnet.... soweit ok aber was ist mit Spalte "B" und "C"
In Makro "HOLE_Daten" übertrage ich von Tabelle"Artikel" die werte B4:C500 und E4:E500
auf Tabelle"Material". Wenn sich jetzt in Tabelle"Artikel" etwas ändert, dann soll mit Makro "update" in Tabelle"Material" gekennzeichnet werden WAS sich geändert hat. (schreib mal in Tabelle"Material" in Zelle C9 ein "X" und in D12 eine "1" und zünde dann makro"update" LÖSCHE aber bitte vorher die Zeile 13-17
nach wie vor die Frage wie komme ich an die Werte in Spalte "B" und "C" OHNE "sverveis" zu nutzen.
Vielleicht ist es besser die geänderten Artikel auf eine neue Tabelle zu schreiben;
Da kann ich auch für "B" und "C" den sverweis nutzen.... und wenn dann alles komplett ist die Daten nach Tabelle"Material" übertragen (analog makro "Hole Daten")
ohoh wieder viel getippert... hoffentlich nicht zu wirr :-)
wenn'st magst, dann könnte man sich ja auch via phone-call austauschen.
ich geb' dir meine nummer... und ruf dich dann zurück (natürlich nur wenn'st magst)
Chris.
Anzeige
AW: ein anderer Weg besser?
15.05.2005 23:55:08
Chris
Hallo ransi
nochmals vielen Dank für Deine Hilfe
Problem mittlerweile (fast gelöst)
update klappt
Gruß Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige