Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Macro um Zellen zu markieren
#11
... eine kurze Nachrfrage:

Ich will das Makro in einer größeren Arbeitsmappe einbetten. Das Blatt nennt sich "CSV" und die zu durchsuchenden PLZ sind in Spalte "I" ab Zeile 2

Wie müsste ich den Code verändern ?

Viele Grüße!
Antworten Top
#12
Hallo Felix,

folgende Zeilen:


Code:
 lngZ = Cells(Rows.Count, 1).End(xlUp).Row
 ati = Range("A1:A" & lngZ)    'Bereich in dem gesucht werden soll

wie folgt ändern:

Code:
 lngZ = Cells(Rows.Count, 9).End(xlUp).Row  '9 steht für Spalte 9 = Spalte I ; in dieser Spalte wird die letzte belegte Zeile ermittelt
 ati = Range("I1:I" & lngZ)    'Bereich in dem gesucht werden soll
musste doch an verschiedenen Stellen noch angepasst werden, deshalb hier der gesamte angepasste Code:

Code:
Sub PLZ_suchen()
 Dim i As Long, lngZ As Long
 Dim rngZ As Range
 Dim varZeile
 Dim suchplZ
 Dim ati
 suchplZ = Array("18565", "25849", "25859", "25863", "25869", "25938", "25946", "25980", "25992", "25996", "25997", "25999", "26465", "26474", "26486", "26548", "26571", "26579", "26757", "27498")

lngZ = Cells(Rows.Count, 9).End(xlUp).Row
ati = Range("I1:I" & lngZ)    'Bereich in dem gesucht werden soll
For i = 1 To lngZ
 varZeile = 1 + UBound(Filter(suchplZ, ati(i, 1), True))
   If varZeile > 0 Then
     If rngZ Is Nothing Then
       Set rngZ = Cells(i, 9)
     Else
       Set rngZ = Union(rngZ, Cells(i, 9))
     End If
   End If
Next i

If Not rngZ Is Nothing Then
 Range("I2:I" & lngZ).Interior.Color = 10079487
  rngZ.Interior.Color = 13408767
  Set rngZ = Nothing
Else
  MsgBox "Keine PLz gefunden"
End If

End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • elgato2000
Antworten Top
#13
nanu, jetzt markiert er mir zwar die richtige Zeile, aber die Zelle in Spalte A

Und er verändert mir meine Headerrow, Also Zeile 1

Suchen ab I2 und markieren auch nur Zellen in "I"
Antworten Top
#14
Perfekt ! Jetzt passsst's !!!!!!!
Antworten Top
#15
Hallo Attila,


ich habe eine Nachfrage.

Kann man das Makro erweitern, so dass es in Spalte "F" nach vordefinierten Namen sucht und entsprechend markiert ? Also nicht nur nach vordefinierten Zahlen in Spalte "I" sondern eben auch nach Text in Spalte "F"

Vielen lieben Dank im Voraus !

Felix
Antworten Top
#16
Hallo Felix,

nimm einfach den selben Code, nur die Prozedurbezeichnung und die Spalte ändern.
Gruß Atilla
Antworten Top
#17
oder:


Code:
Sub M_snb()
    Names.Add "snb", Array(18565, 25849, 25859, 25863, 25869, 25938, 25946, 25980, 25992, 25996, 25997, 25999, 26465, 26474, 26486, 26548, 26571, 26579, 26757, 27498)
    
    Range(Join(Filter([transpose(if(iserror(match(A1:A200,snb,0)),"",address(row(1:200),1,4)))], "A"), ",")).Interior.ColorIndex = 15
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#18
@ Attila,

wie müsste das dann aussehen ?

Neues Makro ?
Antworten Top
#19
Hallo Felix,


Code:
Sub PLZ_suchen_Spalte_F()
Dim i As Long, lngZ As Long
Dim rngZ As Range
Dim varZeile
Dim suchplZ
Dim ati
suchplZ = Array("18565", "25849", "25859", "25863", "25869", "25938", "25946", "25980", "25992", "25996", "25997", "25999", "26465", "26474", "26486", "26548", "26571", "26579", "26757", "27498")

lngZ = Cells(Rows.Count, 6).End(xlUp).Row
ati = Range("F1:F" & lngZ)    'Bereich in dem gesucht werden soll
For i = 1 To lngZ
varZeile = 1 + UBound(Filter(suchplZ, ati(i, 1), True))
  If varZeile > 0 Then
    If rngZ Is Nothing Then
      Set rngZ = Cells(i, 6)
    Else
      Set rngZ = Union(rngZ, Cells(i, 6))
    End If
  End If
Next i

If Not rngZ Is Nothing Then
Range("F2:F" & lngZ).Interior.Color = 10079487
 rngZ.Interior.Color = 13408767
 Set rngZ = Nothing
Else
 MsgBox "Keine PLz gefunden"
End If

End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • elgato2000
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste