Clever-Excel-Forum

Normale Version: VBA - Werte in Tabellen Übertragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hi,


Der CODE von Rabe ging leider nicht im bei mir, ich hatte einen Laufzeitfehler 431. Aber hier die Lösung:


Code:
Range("D3:D4").Interior.Color = 65535                    'Aktion 3: Färbe Zellenbereich Gelb ein
Range("D3:D4").Interior.Pattern = xlNone                 'Aktion 2: Entfärbe Zellenbereich





Achja und hat jemand eine Idee, wie man das löschen des Zelleninhaltes in meinem Code verhindern kann, wenn in der Quelle nix angegeben ist und ich eine Manuelle Eingabe der Grenzabmaße unter dem Ziel machen möchte.... ?

Ich lade mal die Datei dazu hoch.  Ist eine UND BEDINGUNG da Sinvoll oder gibt es da was besseres? Wie kann man so etwas aufbauen?


Gruß Andi
Hallo,

mit dem Change schmiert Excel ab, weil du hiermit:


Code:
If Not Range("$B$15") = "" Then
  Range("C15") = Range("B15")
  Range("C16") = Range("B16")
End If


eine Endlosschleife produziert hast.

Damit das nicht passiert gibt es den Befehl Application.EnableEvents, mit welchem das Ereignis ein und abgeschaltet werden kann. Siehe Online Hilfe.
Hi Andi,

(06.12.2015, 11:58)Andi_Koer_1234 schrieb: [ -> ]Der CODE von Rabe ging leider nicht im bei mir, ich hatte einen Laufzeitfehler 431. Aber hier die Lösung:

bei mir funktioniert es einwandfrei:
Private Sub Worksheet_Change(ByVal Target As Range)
 
  '--------------------------------------------------------------------------- Test 1 ---------------------------------------------------------------------------
  If Target.Address = "$B$3" Then
     Cells(3, 3) = Cells(3, 2)
     Cells(4, 3) = Cells(4, 2)
  End If
 
 
  '--------------------------------------------------------------------------- Test 2 ---------------------------------------------------------------------------
  If Target.Address = "$B$9" Then
     Range("C9") = Range("B9")
     Range("C10") = Range("B10")
  End If
 
 
  '--------------------------------------------------------------------------- Test 3 ---------------------------------------------------------------------------
  '   If Range("B15") <> "" Then
  '      Range("C15") = Range("B15")
  '      Range("C16") = Range("B16")
  '      Range("C15:C16").Locked = True
  '      Range("C15:C16").FormulaHidden = False
  '   Else
  '      Range("C15:C16").Locked = False
  '      Range("C15:C16").FormulaHidden = False
  '   End If
 
  'Selektieren und einfärben bzw. entfärben
  If Not Range("$B$15") = "" Then
     Range("H7").Interior.Color = 65535
  Else
     Range("H7").Interior.Pattern = xlNone
  End If
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15

Hi Andi,

(06.12.2015, 11:58)Andi_Koer_1234 schrieb: [ -> ]Ich lade mal die Datei dazu hoch.  Ist eine UND BEDINGUNG da Sinvoll oder gibt es da was besseres? Wie kann man so etwas aufbauen?

geht es eigentlich immer noch um die Grundfrage mit den Passungen, die Du im anderen Thema gestellt hast?

Hier dazu der oben schon gepostete Ausschnitt:

Tabelle2
ABCDEFGHIJKLM
5ProtokollPassungsauswahl
6
7MaßToleranzotutgmkmüberh5j6
82j64-22,0041,99800-44-2
93j66-23,0062,99830-56-2
104j5#NV#NV#NV#NV60-67-2
117j67-27,0076,998100-88-3
1215j68-315,00814,997
1311h50-811,00010,992
146h6#NV#NV#NV#NV
154j66-24,0063,998

verwendete Formeln
Zelle Formel Bereich N/A
C8:C15=INDEX($J$8:$M$11;VERGLEICH(VERWEIS(9^9;1*[@Maß]);$I$8:$I$11;1);VERGLEICH(WECHSELN(B8;VERWEIS(9^9;1*[@Maß]);"";1);$J$7:$M$7;))
D8: D15=INDEX($J$8:$M$11;VERGLEICH(VERWEIS(9^9;1*[@Maß]);$I$8:$I$11;1);VERGLEICH(WECHSELN($B8;VERWEIS(9^9;1*[@Maß]);"";1);$J$7:$M$7;)+1)
E8:F15=VERWEIS(9^9;1*LINKS($A8;SPALTE(1:1)))+C8/1000
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit


Wenn nein, vergiß das Folgende:
Ich verstehe nämlich gar nicht, was und warum Du da die ganze Zeit herumkopierst und Dich und uns unnötigerweise damit beschäftigst.
Du mußt doch erst mal Excel sagen, was überhaupt kopiert werden soll, das kopieren ist doch dann Pipifax.
So wie es jetzt ist, nimmt Excel die Daten, die Du in die Quelle eingibst und kopiert sie in die Zielzellen. Wenn Du die Toleranzen sowieso eingeben mußt, kannst Du sie auch gleich in das Ziel eingeben.

Du willst doch das Maß und die Toleranzbezeichnung eingeben und Excel soll dann die Toleranzwerte aus der DIN-Tabelle holen.
Oder:


Code:
Range("H7").Interior.ColorIndex = Abs((Range("$B$15") <> "") * 5)
Hallo,

alles erledigt, ist echt super geworden! Danke!

Gruß Andi
Seiten: 1 2 3