Makro Zellenfrage

  • #1
K

Krenni

Mitglied
Themenersteller
Dabei seit
03.10.2006
Beiträge
7
Reaktionspunkte
0
Also mein Programm kann bisher folgendes: Sobald ich Strg + K drücke schreibt er mir den Text der markierten Zelle(zb. A1) in B25 rot; Meine Frage wie muss ich den Text abändern damit ich auch zB. den Text der Zelle(zB. B1) zusätzlich in B25 anzeigen kann mit einem Beistrich getrennt oder so ähnlich;
also A1 = Hallo
und B1 = Krenni  damit Herauskommt Hallo , Krenni

Arbeitsmappe:Sub Textfarbe1()
                       Selection.Font.ColorIndex = 3
                       End Sub


Makro: Sub Makro1()
            Application.Run->Test 3.xls'!DieseArbeitsmappe.textfarbe1
            Selection.Cut Destination:=Range(B25)
            Range(B25).Select
            End Sub

Danke Krenni
 
  • #2
Hallo Krenni,

schau mal, ob es das ist was du suchst.

Gruß Matjes :)
Code:
Sub WertB25GleichWertSelektierteZelleUndWerteA1Setzen()
 ->Prüfen, ob nur eine Zelle selektiert ist
  If Selection.Count > 1 Then
    MsgBox Bitte nur eine Zelle selektieren
  Else
   ->Font der selektierten Zelle rot setzen
    Selection.Font.ColorIndex = 3
   ->Wert B25 aus Wert der selektierten Zelle und Wert A1 zusammensetzen
    Range(B25).Value = Selection.Value & ,  & Range(A1).Value
  End If
End Sub
 
  • #3
Danke mal wieder Matjes; es ist es nicht ganz;
Möchte dass die Selektierte Zelle ausgeschnitten (cut) wird und dann eingefügt wird;
das Zweite wär, bei dem Befehl:
Range(B25).Value = Selection.Value & , & Range(A1).Value kann ich den abändern zu
Range(B25).Value = Selection.Value & , & NextSelection.Value (ich weiss next gibts nicht aber
ich kenn mich leider mit Makros nicht wirklich aus!)

Danke Krenni
 
  • #4
Hallo Krenni,
dann hier das nächste Beispiel mit Ausschneiden.

Mit NextSelection.Value meinst Du wahrscheinlich die Zelle neben der selektierten Zelle. Hab ein paar verschiedene Beispiele eingebaut.

Gruß Matjes :)
Code:
Sub SelectierteZelleAusschneidenUndInB25SpeichernUndUndUnd()
 ->Prüfen, ob nur eine Zelle selektiert ist
  If Selection.Count > 1 Then
    MsgBox Bitte nur eine Zelle selektieren
  Else
   ->Font der selektierten Zelle rot setzen
    Selection.Font.ColorIndex = 3
   ->Selection ausschneiden und nach B25 kopieren
    Selection.Cut Destination:=Range(B25)
   ->Wert A1 in B25 anfügen
    Range(B25).Value = Range(B25).Value & ,  & Range(A1).Value
    
    
   -> Mal sehen ob ich NextSelection.Value richtig verstanden habe :-)
    
   ->Jetzt noch den Inhalt rechts neben der selektierten Zelle in B25 hinzufügen
    Range(B25).Value = Range(B25).Value & ,  & Selection.Offset(0, 1).Value
    
   ->Jetzt noch den Inhalt unter der selektierten Zelle in B25 hinzufügen
    Range(B25).Value = Range(B25).Value & ,  & Selection.Offset(1, 0).Value
    
   ->Jetzt noch den Inhalt
   ->- zwei Zeilen über und eine Spalte links
   ->von selektierten Zelle in B25 hinzufügen
   ->natürlich vorher prüfen, ob das geht oder ausserhalb liegt
    If Selection.Row > 2 And Selection.Column > 1 Then
      Range(B25).Value = Range(B25).Value & ,  & Selection.Offset(-2, -1).Value
    End If
  End If
End Sub
 
  • #5
Hi Matjes, ich weiß mittlerweile schon nicht mehr wie ich mich bei dir bedanken soll,....
aber mit NextSelection.Value meinte ich folgendes:

Ich habe die Zelle A1 markiert = Selection.Value richtig?
und dann möchte ich eine Zelle meiner Wahl ((Nächste von mir markierte Zelle) zB. B14 oder C29,.....
meinte obs da nen Befehl dafür gibt?

Cutten funzt supi Danke
Krenni
 
  • #6
Hallo Krenni,

das mit & NextSelection.Value im gleichen Makro klappt nicht.
Woher soll das Makro wissen, was du als nächstes machst ;D

Müßtest halt ein 2. Makro mit
Code:
Range(B25).Value = Range(B25).Value & ,  & Selection.Value
schreiben.

Gruß Matjes :)
 
  • #7
Hi Matjes,

kann ich den umgekehrten weg gehen, dass ich die Zellen A1, B15, C14,.... rot markiere (Roter Text) und sage alles was is rot dasteht soll er mit , .... in Zelle B25 aneinanderreihen (+cutten)?

Danke Krenni
 
  • #8
Hallo Krenni,

mit diesem Makro kannst Du mehrere Zellen selektieren.

Als erste Zelle selektieren, dann STRG-Taste gedrückt halten und die nächste und die nächste Zelle selektieren/markieren.

Wenn du dann diesen Makro ausführst, werden die Werte der zellen in B25 geschrieben, mit , getrennt, und die selektierten zellen gelöscht.

Die Texte erscheinen in B25 in der Reihenfolge, in der du die Zellen selektiert hast.

Gruß Matjes :)
Code:
Sub SelectierteZellenInhaltAusschneidenUndMitKommaGetrenntinB25()
  
  Dim Zelle As Range, bErsteZelle As Boolean
  
  If Selection.Count > 10 Then
    MsgBox nicht mehr als 10 selektierte zellen zugelassen.
  Else
    bErsteZelle = True
    Range(B25) = 
    For Each Zelle In Selection
      If bErsteZelle Then
        Range(B25).Value = Zelle.Value
        bErsteZelle = False
      Else
        Range(B25).Value = Range(B25).Value & ,  & Zelle.Value
      End If
      Zelle.Value = 
    Next
  End If
End Sub
 
  • #9
Hi Matjes ich hab mich für deine obere Lösung entschieden, (die is wohl besser für mich)
nur wo oder wie kann ich das
Selection.Font.ColorIndex = 3 & das
Selection.Cut Destination:=Range(B25) ind das Makro Krank2() integrieren, denn wenn
ich es einfach vorher anhäng addiert ers nicht zur zelle!

Sub Krank1()
->Prüfen, ob nur eine Zelle selektiert ist
If Selection.Count > 1 Then
MsgBox Bitte nur eine Zelle selektieren
Else
->Font der selektierten Zelle rot setzen
Selection.Font.ColorIndex = 3
->Selection ausschneiden und nach B25 kopieren
Selection.Cut Destination:=Range(B25)
->Wert A1 in B25 anfügen
Range(B25).Value = Range(B25).Value
End If
End Sub
Sub Krank2()
Range(B25).Value = Range(B25).Value & , & Selection.Value
End Sub
Hoffe ich hab dich das letzte mal gestört bzw. belästigt!!!!!!

Danke
Krenni
 
  • #10
Code:
Sub Krank2()
 ->Prüfen, ob nur eine Zelle selektiert ist
  If Selection.Count > 1 Then
    MsgBox Bitte nur eine Zelle selektieren
  Else
   ->Wert A1 in B25 anfügen
    Range(B25).Value = Range(B25).Value & ,  & Selection.Value
   ->Font B25 rot setzen
    Range(B25).Font.ColorIndex = 3
   ->Selection löschen
    Selection.Value = 
  End If
End Sub
Gruß Matjes :)
 
Thema:

Makro Zellenfrage

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben