Zelle mit Variable anwählen und Inhalt anderer Zel

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Zelle mit Variable anwählen und Inhalt anderer Zel
von: Rudolf
Geschrieben am: 01.12.2015 12:46:25

Hallo liebe Exelgemeinde
Habe ein Problem an dem ich nicht weiter komme.
Folgendes:
Ich will eine zelle mit einer Variable anwählen und den Zellinhalt der Zelle X1 hineinkopieren.
Die Zelle kann ich mit der Variable mit meinem folgenden Code anwählen, aber wie ich nun den Wert der Zelle X1 hineinkopieren kann, habe ich trotz vielem probieren nicht herausgefunden.
Alles spielt sich im gleichen Sheet ab.Kann mir da jemand helfen? Wäre sehr froh.
Mein Code zum auswählen der Zelle:


Sub ZelleAuswählen_Nr_eintragen()
'
' ZelleAuswählen_Nr_eintragen Makro
    ActiveSheet.Unprotect
    i = Range("EL2")
    Dim zelle As Range
    For Each zelle In ActiveSheet.Range("A4:A1500").Cells
    If zelle = i Then
    zelle(1, 128).Activate
    
    ActiveSheet.Protect
    
    End If
    Next
'
End Sub

Bild

Betrifft: AW: Zelle mit Variable anwählen und Inhalt anderer Zel
von: hary
Geschrieben am: 01.12.2015 12:57:18
Moin
Meinst du so?

Dim a As Variant
ActiveSheet.Unprotect
  a = Application.Match(Range("EL2"), Range("A4:A1500"), 0)
   If IsNumeric(a) Then
      Cells(a, 128).Value = Cells(1, 24).Value '--von X1 nach
   Else
    MsgBox "nicht vorhanden"
   End If
ActiveSheet.Protect

gruss hary

Bild

Betrifft: AW: Zelle mit Variable anwählen und Inhalt anderer Zel
von: Rudolf
Geschrieben am: 01.12.2015 16:11:27
Vielen Dank Hary
Das ist so einfach, da war ein Könner am Werk. Einen kleinen Schönheitsfehler habe ich noch.
Da mein Kontrollbereich von A4:A1500 reicht, trägt es mir das Resultat drei Zeilen zu hoch ein.
Wenn ich den Bereich auf A1:A1500 ändere, so klappt es ???.
Ebenso möchte ich am Ende mit dem Kursor zur gefundenen Zelle gehen.
Kannst du mir da noch einen Tip geben?
Ebenso habe ich ein allgemeines Problem. Wenn ich in den Makros etwas ändere und sichere, so stürzt mein Exel häufig ab. Da ich eine Tabelle mit sehr vielen Berechnungen habe, könnte vielleicht der Grund von zu wenig Speicher sein!? Hast Du Erfahrung in solchen Sachen?
Besten Dank und Gruss
Rudolf

Bild

Betrifft: AW: Zelle mit Variable anwählen und Inhalt anderer Zel
von: Rudolf
Geschrieben am: 01.12.2015 17:04:33
.

Bild

Betrifft: AW: Zelle anwählen ...
von: MCO
Geschrieben am: 02.12.2015 07:05:56
Moin!
Den Bereich kannst du für deine Bedürfnisse anpassen.
Zelle anwählen kennst du doch schon:

Dim a As Variant
ActiveSheet.Unprotect
  a = Application.Match(Range("EL2"), Range("A4:A1500"), 0)
   If IsNumeric(a) Then
      Cells(a, 128).Value = Cells(1, 24).Value '--von X1 nach
      Cells(a, 128).select '(oder .activate)
   Else
    MsgBox "nicht vorhanden"
   End If
ActiveSheet.Protect
Das macht aber nicht so richtig Sinn, da du ja von den 3 gefundenen Zellen nur die Letzte als gewählt angezeigt bekommst.
Prüf bei deiner Tabelle mal die Dateigröße und den Speicherort (Netzlaufwerk?). Vielleicht testweise mal auf C: packen.
Um Dateigröße zu vermindern Bilder rausschmeißen oder komprimieren, Berechnungen evtl beschleunigen indem Matrizen (Mehrzahl von Matrix) eingeschränkt werden. Zu viele Sheets führen evtl auch zu Leistungseinbußen.
Gruß, MCO

Bild

Betrifft: AW: Zelle mit Variable anwählen und Inhalt anderer Zel
von: hary
Geschrieben am: 02.12.2015 07:50:11
Moin Rudolf
Mal Events und Berechnung ausschalten, ob das bei dir den Absturz verhindert?
Bei 3 Zeilen zu hoch, einfach +3.

Dim a As Variant
ActiveSheet.Unprotect
  Application.Calculation = xlManual '--automatische Berechnung ausschalten
  Application.EnableEvents = False  '--Events ausschalten
      a = Application.Match(Range("EL2"), Range("A4:A1500"), 0)
        If IsNumeric(a) Then
           With Cells(a + 3, 128)
            .Value = Cells(1, 24).Value '--von X1 nach
            .Select
           End With
        Else
         MsgBox "nicht vorhanden"
        End If
  Application.Calculation = xlAutomatic '--automatische Berechnung einschalten
  Application.EnableEvents = True  '--Events einschalten
ActiveSheet.Protect

gruss hary

Bild

Betrifft: AW: Zelle mit Variable anwählen und Inhalt anderer Zel
von: Rudolf
Geschrieben am: 04.12.2015 00:32:37
Hallo Hary und MCO
Vielen Dank für eure Tips. Teilweie haben sie mir geholfen.
1.Den Absturtz meines Exels konnten sie nicht beheben. Habe den Fehler jedoch nach langem suchen gefunden. Schuld war eine bedingte Formatierung der aktiven Zeile mit dem Wert:
=Zelle("Zeile") = Zeile("$A1") , Bereich ....
Mit dem folgenden Makro hatte ich die Formatiereung jeweils bei Zeilenwechsel wieder aufgehoben.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Calculate  '--Aktualisiert nach jeder eingabe--
End Sub
Nach dem löschen dieser bedingten Formatierung läuft mein Exel wieder einwandfrei.
2.Das bei 3 Zeilen zu hoch +3 ist O.K.
3.Wenn der Kursor auf die eingetragene Zelle soll genügt der Code .Select nicht, die erneute Zellbezeichnung Cells (a + 3, 129).Select funktioniert.
4.Das ActiveSheet.Protect muss auch noch vor der Else Anweisung stehen.
Habt ihr vielleicht eine unproblematische Methode um die aktive Zeile hervorzuheben? Ohne Absturz?
Vielen Dank für Eure Hile
Gruss Rudolf.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zelle mit Variable anwählen und Inhalt anderer Zel"