Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

RICERCA RIGA VUOTA

Ultimo Aggiornamento: 28/11/2017 08:39
Post: 3
Registrato il: 24/10/2017
Città: MILANO
Età: 45
Utente Junior
2010
OFFLINE
27/11/2017 09:44

Buongiorno a tutti,
chiedo un piccolo aiuto.
Vi allego un file excel in cui ho messo un pulsante CERCA DATI.
cliccando su di esso si aprono tre schede e l'ultima è NUOVO STRUMENTO.
la macro aggiungi strumento funziona bene ma aggiunge i dati alla prima cella del S/N (colonna P) vuota. questo è un problema perchè alcuni strumenti non hanno un S/N e quindi i dati di un nuovo strumento si andrebbero a sovrapporre a quelli del precedente strumento.
In altre parole:
vorrei cambiare questa stringa
ElseIf Range("P" & h) = "" Then
in una che mi trovi la prima RIGA VUOTA e non cella vuota

Help me
[SM=x423030]

grazie mille
Stefano
[Modificato da Kilkenny79 27/11/2017 14:53]
Post: 472
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
27/11/2017 12:36

Ciao
Non credo d'aver capito bene ma se vuoi scrivere nella prima riga vuota puoi provare con questa macro (da inserire nel Modulo standard e lanciare quando il Foglio PARCO STRUMENTI è attivo)

Sub PrimaRigaVuota()

rg1 = Val(Split(ActiveSheet.UsedRange.SpecialCells(xlLastCell, xlNumbers).Address, "$")(2)) + 1

End Sub


Prova e fai sapere. Ciao,
Mario
Post: 3
Registrato il: 24/10/2017
Città: MILANO
Età: 45
Utente Junior
2010
OFFLINE
27/11/2017 15:01

Purtroppo non sono riuscito ad applicarla. Ho allegato il file in .zip. puoi vedere se riesci a modificare direttamente la macro?

grazie mille ancora
Post: 476
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
27/11/2017 22:26

Ciao
premesso che non c'è alcun file allegato, la macro che ti ho girato non fa altro che calcolare l'ultima cella di UsedRange (cioè va a pescare l'ultima riga e l'ultima colonna dove ci sono dati). Il risultato è un riferimento di cella assoluto (con i segni di $). Facendo lo split di questo dato si prende l'ultimo valore (che è la riga) e lo si aumenta di 1. Ecco la prima riga vuota (che, se non ricordo male, nel tuo lavoro era la 1462).

Ciao,
Mario
Post: 605
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
ONLINE
28/11/2017 00:18

Un saluto a tutti.

Anche se posso confermare che il codice usato da Marius44 è in grado di calcolare la prima riga vuota utilizzabile prova comunque a sostituire la tua macro con questa mia modifica:
Private Sub cmdAggStrum_Click()

    Dim h As Long

    ' controllo che non siano dati vuoti e che i dati siano del tipo che mi serve
    If txtSN3.Text = "" Then
        MsgBox "Attenzione! Non hai impostato un valore nella casella S/N!"
        txtSN3.SetFocus
        Exit Sub
    End If
    h = 2
    Do Until h = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
        If Range("P" & h) = txtSN3.Text Then
            MsgBox ("Attenzione! esiste già un prodotto con questo S/N")
            txtSN3.SetFocus
            Exit Sub
        End If
        h = h + 1
    Loop
    h = h + 1
    Range("P" & h) = txtSN3.Text
    Range("N" & h) = txtStrumento3.Text
    Range("A" & h) = txtCodCliente3.Text
    Range("B" & h) = txtCliente3.Text
    Range("C" & h) = txtCodDest3.Text
    Range("D" & h) = txtDestinatario3.Text
    Range("E" & h) = txtIndirizzo3.Text
    Range("F" & h) = txtLocalità3.Text
    Range("G" & h) = txtReferente3.Text
    Range("H" & h) = txtTelefono3.Text
    Range("J" & h) = txtEMail3.Text
    Range("K" & h) = txtCommSD3.Text
    Range("L" & h) = txtCommDistr3.Text
    Range("M" & h) = txtNote3.Text
    Range("Q" & h) = txtContratto3.Text
    Range("R" & h) = txtRata3.Text
    Range("W" & h) = txtInizio3.Text
    Range("X" & h) = txtFine3.Text
    Range("AB" & h) = txtManutenzione3.Text
    Range("AD" & h) = txtPC3.Text
    Range("AE" & h) = txtSN_PC3.Text
    Range("AG" & h) = txtMonitor3.Text
    Range("AH" & h) = txtSN_Monitor3.Text
    Range("AI" & h) = txtStampante3.Text
    Range("AJ" & h) = txtSN_Stampante3.Text
    Range("AK" & h) = txtAltro1_3.Text
    Range("AL" & h) = txtSN_Altro1_3.Text
    Range("AM" & h) = txtAltro2_3.Text
    Range("AN" & h) = txtSN_Altro2_3.Text
    Range("AR" & h) = txtCodForn3.Text
    Range("AQ" & h) = txtFornitore3.Text
    Range("AO" & h) = txtDDT3.Text
    Range("AP" & h) = txtDataDDT3.Text
    Range("BA" & h) = txtRataForn3.Text
    MsgBox "L'articolo con S/N " & txtSN3.Text & " è stato inserito"

End Sub
[Modificato da rollis13 28/11/2017 00:24]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 4
Registrato il: 24/10/2017
Città: MILANO
Età: 45
Utente Junior
2010
OFFLINE
28/11/2017 08:39

Graaaandeeee Mauris, sembra funzionare.
Ti ringrazio enormemente.
ora provo a studiarmela.
[SM=x423017]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 23:49. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com