Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Vba hilfe
#1
Hallo zusammen, Ich hoffe ihr könnt mir weiterhelfen. Ich will gerne das alle doppelte Werte, Zahlen z.b. auch 1-66-66-66 , Wörter usw. in der Spalte grün markiert. Ich hab schon mal was versucht. Leider nimmt er nur normale Zahlen an und nur in Spalte A.

Code:
Sub doppelte_färben()
   Dim zelle As Range
   For Each zelle In ActiveSheet.Range("A1:A100")
        If WorksheetFunction.CountIf(ActiveSheet.Range("A1:A100"), zelle.Value) > 1 Then zelle.Interior.ColorIndex = 4
   Next zelle
End Sub

Kann man den Code so ändern, das es alles was in der Spalte ist markiert und das er vorher eine outbox frage kommt " in welcher Spalte soll überprüft werden" Dann gebe ich z.b. K ein und jetzt überprüft er nur in Spalte K die Doppelte Werte , Zahlen werden markiert. Geht sowas?

Code strukturiert dargestellt durch 3. Button von rechts im Beitragsformular: #
Moderator
[Bild: smilie.php?smile_ID=1810]
Top
#2
Hallo Jürschen,

Dein code formatiert Zahlen und Buchtabentreffer.
Code:
Sub doppelte_färben()
Dim zelle As Range
For Each zelle In ActiveSheet.Range("A1:A100")
  If WorksheetFunction.CountIf(ActiveSheet.Range("A1:A100"), zelle.Value) > 1 Then zelle.Interior.ColorIndex = 4
Next zelle
End Sub

Arbeitsblatt mit dem Namen 'Tabelle1'
 A
1A
2A
3A
4C
5B
6B
7C
8D
91
102
113
123
134
145
151
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Kannst du mir dabei helfen? Leider reicht meine Excel Kenntnisse nicht Sad
Top
#4
Hi Jürgen,

versuche es mal so:

Code:
Sub Doppelte()
   Dim varFrage
   Dim lngZeile As Long
   Dim lngLetzte As Long
   Dim intSpalte As Integer
   varFrage = Application.InputBox("Bitte Spalte angeben", "Doppelte kennzeichnen", , , , , , 2)
   If varFrage <> "Falsch" And varFrage <> False Then
      intSpalte = Cells(1, varFrage).Column
      lngLetzte = IIf(IsEmpty(Cells(Rows.Count, intSpalte)), Cells(Rows.Count, intSpalte).End(xlUp).Row, Rows.Count)
      For lngZeile = 1 To lngLetzte
         If Application.CountIf(Range(Cells(1, intSpalte), Cells(lngLetzte, intSpalte)), Cells(lngZeile, intSpalte)) > 1 Then _
            Cells(lngZeile, intSpalte).Interior.ColorIndex = 4
      Next lngZeile
   End If
End Sub


Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">
Top
#5
Hallo der Code funktioniert super super....
danke für deine Arbeit. Danke danke Smile


(17.04.2014, 16:47)Beverly schrieb: Hi Jürgen,

versuche es mal so:

Code:
Sub Doppelte()
   Dim varFrage
   Dim lngZeile As Long
   Dim lngLetzte As Long
   Dim intSpalte As Integer
   varFrage = Application.InputBox("Bitte Spalte angeben", "Doppelte kennzeichnen", , , , , , 2)
   If varFrage <> "Falsch" And varFrage <> False Then
      intSpalte = Cells(1, varFrage).Column
      lngLetzte = IIf(IsEmpty(Cells(Rows.Count, intSpalte)), Cells(Rows.Count, intSpalte).End(xlUp).Row, Rows.Count)
      For lngZeile = 1 To lngLetzte
         If Application.CountIf(Range(Cells(1, intSpalte), Cells(lngLetzte, intSpalte)), Cells(lngZeile, intSpalte)) > 1 Then _
            Cells(lngZeile, intSpalte).Interior.ColorIndex = 4
      Next lngZeile
   End If
End Sub


Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">
Top
#6
Hi Jürgen,

mal nur als kleiner Tipp am Rande und für die Zukunft: wenn man einen Beitrag schreibt, sollte man immer daran denken, dass auf der anderen Seite der Leitung keine Computer sitzen sondern Menschen, die in ihrer Freizeit kostenlos anderen Forumsbenutzern bei der Lösung ihrer Probleme helfen. Deshalb sollte - gerade in unserer schnelllebigen heutigen Zeit - doch wenigstens so viel Zeit sein, die Grundsätze des höflichen Umgangs miteinander einzuhalten, indem man einen Beitrag mit einer Anrede beginnt und mit einem Gruß beendet. :100:


Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">
Top
#7
Hallo Karin,

war dieser Beitrag unfreundlich?

"Hallo der Code funktioniert super super....
danke für deine Arbeit. Danke danke Smile"

Ich schätze das sehr, dass diese Menschen hier anderen helfen. Ich selber bin Gründer (nicht Excel) von vier Forums und ich schätze die Leute sehr und ich würde jedem helfen, denn ich helfen könnte durch mein Wissen.

Sollte du es so auffassen, dann entschuldige ich mich natürlich und werde mich bemühen, noch freundlicher zu sein.

SORRY nochmal.







(18.04.2014, 09:56)Beverly schrieb: Hi Jürgen,

mal nur als kleiner Tipp am Rande und für die Zukunft: wenn man einen Beitrag schreibt, sollte man immer daran denken, dass auf der anderen Seite der Leitung keine Computer sitzen sondern Menschen, die in ihrer Freizeit kostenlos anderen Forumsbenutzern bei der Lösung ihrer Probleme helfen. Deshalb sollte - gerade in unserer schnelllebigen heutigen Zeit - doch wenigstens so viel Zeit sein, die Grundsätze des höflichen Umgangs miteinander einzuhalten, indem man einen Beitrag mit einer Anrede beginnt und mit einem Gruß beendet. :100:


Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">
Top
#8
Hi Jürgen (?),

Karins Kritik bezog sich nicht auf eine generellle Unhöflichkeit. Was sie meinte, steht in ihrem letzten Halbsatz:
Zitat:indem man einen Beitrag mit einer Anrede beginnt und mit einem Gruß beendet. :100:
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#9
(18.04.2014, 09:56)Beverly schrieb: einen Beitrag mit einer Anrede beginnt und mit einem Gruß beendet

Hi Jürgen,
Du warst sicher nicht unfreundlich, aber diesen Passus von Karin hast du wohl übersehen oder siehst es eben als nicht so wichtig an.

Unser Forum ist ja kein Chat, wo man solche kurzen Äußerungen gerne ohne jede Form postet, sondern hier wird ja gefragt und eben meist geantwortet, also Hilfe erbeten und ggf. auch geholfen, da kommt es nicht auf ein Wort weniger an, um Zeit zu sparen.

Die Schlußformulierung kannst du ja auch in deine Signatur legen, dann erscheint die automatisch bei jedem Posting und man vergißt es nicht zu schreiben.
Ist einfach netter im Umgang, auch wenn manche darauf keinen Wert legen.
Mit freundlichen Grüßen  :)
Michael
Top
#10
das Hallo ist wohl untergegangen da nicht separate Zeile, was normal wäre.
Aber die Grußformel fehlt,
Du siehst in meinem Beitrag ich passe mich an. Es steht kein Name unter dem Beitrag, also möchte man ohne Hallo ... angeredet werden.

Falls Du die nicht immer schreiben willst, benutze die Signatur. Da könnte man auch gleich seine Version erwähnen.

Dateiupload bitte im Forum! So geht es: Klick mich!
" align="middle" height="40" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" align="middle" height="40" alt="Homepage">
Top


Gehe zu:


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