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.

VBA - Werte in Tabellen Übertragen
#21
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


Angehängte Dateien
.xlsm   Makro 2.xlsm (Größe: 16,07 KB / Downloads: 7)
Antworten Top
#22
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.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Andi_Koer_1234
Antworten Top
#23
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

Antworten Top
#24
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.
Antworten Top
#25
Oder:


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

alles erledigt, ist echt super geworden! Danke!

Gruß Andi
Antworten Top


Gehe zu:


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