Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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
Inhaltsverzeichnis

Set Bereich ist Workbook-Worksheet-Range.Value

Set Bereich ist Workbook-Worksheet-Range.Value
17.01.2017 12:58:52
Nilo
Moin alle zusammen,
kann mir bitte einer kurz licht machen!?
Set Bereich funzt so nicht.
Wenn ich .Value rausnehme läuft er durch aber ohne Ergebnis!?
Die einfachen Dinge...!
Sub Schaltfläche6_Klicken()
Dim Wert As Long
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Workbooks("Daten.xlsm").Worksheets("AllIn").Range("A:A").Value
With Sheets("Kalk")
Wert = .Range("A2").Value
For Each Zelle In Bereich
If Zelle.Value = Wert Then
.Range("A2").Interior.ColorIndex = 5
End If
Next Zelle
End With
End Sub
Besten Dank
Nilo

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

Betreff
Datum
Anwender
Anzeige
AW: Set Bereich ist Workbook-Worksheet-Range.Value
17.01.2017 13:16:40
ChrisL
Hi Nilo
.Value muss sowieso weg, weil du weist einen Bereich und keine Werte zu.
Sub t()
Dim Bereich As Range
Set Bereich = Workbooks("Daten.xlsm").Worksheets("AllIn").Range("A:A")
With Sheets("Kalk")
If WorksheetFunction.CountIf(Bereich, .Range("A2")) > 0 Then _
.Range("A2").Interior.ColorIndex = 5
End With
End Sub
cu
Chris
.Value rausnehmen
17.01.2017 13:19:22
KlausF
Hallo Nilo,
Set Bereich definiert eine Range aber keinen Value-Wert.
Deshalb:
Set Bereich = Workbooks("Daten.xlsm").Worksheets("AllIn").Range("A:A")
Gruß
Klaus
AW: Set Bereich ist Workbook-Worksheet-Range.Value
17.01.2017 13:22:34
UweD
Hallo
du definierst einen Bereich und möchtest einen Wert zuweisen.
Hab noch was verändert und kommentiert...
Sub Schaltfläche6_Klicken()
    Dim Wert As Long
    Dim Zelle As Range
    Dim Bereich As Range
    
    Set Bereich = Workbooks("Daten.xlsm").Worksheets("AllIn").Range("A:A")
    
    With Sheets("Kalk")
        Wert = .Range("A2").Value
        For Each Zelle In Bereich.SpecialCells(xlCellTypeConstants, 3) ' nur Zellen mit Inhalt 
            MsgBox Zelle
            If Zelle.Value = Wert Then
             '.Range("A2").Interior.ColorIndex = 5' du färbst ja immer wieder die gleiche Zelle 
             Zelle.Interior.ColorIndex = 5
            End If
        Next Zelle
    End With

End Sub

LG UweD
Anzeige
AW: Set Bereich ist Workbook-Worksheet-Range.Value
17.01.2017 13:23:58
EtoPHG
Hallo Nilo,
Set Bereich muss ohne .Value sein, schliesslich handelt es sich um eine Range!
Das Ergebnis können wir mangels Beispielmappe nicht kontrollieren. Fallstrick könnte sein:
Wert ist als Long definiert, d.h. hier hat nur eine Ganzzahl Platz.
Die Zelle.Value enthält aber per Default einen Double Wert, d.h. eine Gleitkommazahl!
Ich würde mal Wert als Double dimensionieren.
Gruess Hansueli
AW: Set Bereich ist Workbook-Worksheet-Range.Value
17.01.2017 13:59:51
Nilo
Hi alle,
also ich kapier es nicht!?
Hier mal Beispielmappen!
https://www.herber.de/bbs/user/110645.zip
Keine der Codes funzt oder mach was er soll!
Danke nochmal fürs drüberschauen.
Gruß
Nilo
Anzeige
ich krieg es nicht so hin wie es soll...
17.01.2017 14:36:39
Nilo
Nochmal kurz erklärt was es tun soll:
Wenn eine Zahl in Daten gefunden dann die Zahl in Test farbig markieren.
Eigentlich simpel, ich weiß auch nicht woran es wieder hapert!
https://www.herber.de/bbs/user/110645.zip
Danke für Euren Support.
Gruß Nilo
AW: ich krieg es nicht so hin wie es soll...
17.01.2017 16:28:03
UweD
Hallo nochmal
falscher Ansatz.
Du müsstest ja mit 2 Schleifen jede Zelle aus der einen Tabelle mir jeder Zelle der anderen Tabelle vergleichen.
Das geht mit Zählenwenn() besser.
Sub Test1()
    Dim Zelle As Range
    Dim BereichA As Range, BereichB As Range
    
    Set BereichA = ThisWorkbook.Worksheets("Kalk").Range("A:A")
    Set BereichB = Workbooks("Daten.xlsm").Worksheets("AllIn").Range("A:A")
    'reset 
    BereichA.Cells.Interior.ColorIndex = xlNone
    
    For Each Zelle In BereichA.SpecialCells(xlCellTypeConstants, 3) ' nur Zellen mit Inhalt 
        If WorksheetFunction.CountIf(BereichB, Zelle.Value) > 0 Then
            Zelle.Interior.ColorIndex = 8
        End If
    Next Zelle
End Sub
LG UweD
Anzeige
AW: ich krieg es nicht so hin wie es soll...
17.01.2017 16:44:06
Gunter
Hallo Zusammen
Ich hab das mit Uwes Code mal ausprobiert und das funzt auch.
Muss da aber nicht noch am Anfang definiert sein, wo sich die Datei "Daten" befindet? Da gab es bei Nilos Beispiel Datei nämlich eine Fehlermeldung.
Etwas in der Art wie:
pfad = "F:\Excel\Beispiele"
datei = "Daten.xlsm"
blatt = "AllIn"
Set BereichB = Range("A:A")
Set BereichA = ThisWorkbook.Worksheets("Kalk").Range("A:A")
Gruss
Gunter
AW: ich krieg es nicht so hin wie es soll...
17.01.2017 16:49:29
UweD
Ich bin davon ausgegangen dass beide Dateien geöffnet sind
Lg UweD
Vielen lieben Dank an alle! Funzt super! Gruß...
18.01.2017 09:57:56
Nilo
Hallo zusammen,
vielen Dank für Eure Hilfe.
Läuft super und erspart mir einiges an Frust :)
Beste Grüße
Nilo
Anzeige
gern geschehen owT
18.01.2017 10:14:06
UweD
AW: ich krieg es nicht so hin wie es soll...
19.01.2017 13:00:37
UweD
Ich bin davon ausgegangen dass beide Dateien geöffnet sind
Lg UweD

31 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige